diff --git a/CMakeLists.txt b/CMakeLists.txt
index 498df5aac7578066f286834fe18671f9a7e3ecdf..bfa3728ed3e58b52149c4b134404659194c4511f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,20 @@ project(Vivy VERSION 0.1 LANGUAGES CXX)
 cmake_policy(SET CMP0100 NEW) # Let cmake use moc and uic for .hh files
 cmake_policy(SET CMP0009 NEW) # Do not follow symlinks with GLOB_RECURSE
 
+# Don't forget for specific things
+if(WIN32)
+    message("You are building on windows, pay attenion to the dependencies")
+endif()
+if(MSVC OR MSYS OR MINGW)
+    message("You are building with a windows compiler")
+endif()
+if(APPLE)
+    message("You are building on MacOS X")
+endif()
+if(UNIX AND NOT APPLE)
+    message("You are building on Linux, FreeBSD or any other toaster OS")
+endif()
+
 # Pass -fPIC
 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 
@@ -20,11 +34,6 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
 find_package(QT NAMES Qt6 Qt5      COMPONENTS Widgets REQUIRED)
 find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
 
-if(WIN32)
-    message("You are building on windows, pay attenion to the dependencies")
-    # Needed setup for Vivy to compile on Windows goes here
-endif()
-
 # Find others dependencies
 find_library(AVCODEC_LIBRARY    avcodec     4.0 REQUIRED)
 find_library(AVUTIL_LIBRARY     avutil      4.0 REQUIRED)
@@ -41,7 +50,10 @@ add_subdirectory(
 # Grab all files
 file(GLOB_RECURSE Vivy_SRC CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc")
 file(GLOB_RECURSE Vivy_INC CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.hh")
-set(PROJECT_SOURCES ${Vivy_SRC} ${Vivy_INC})
+if(APPLE)
+    file(GLOB_RECURSE Vivy_APPLE_SRC CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.mm")
+endif()
+set(PROJECT_SOURCES ${Vivy_SRC} ${Vivy_INC} ${Vivy_APPLE_SRC})
 
 # Add the Vivy executable
 if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
diff --git a/PreCompiledHeaders.cmake b/PreCompiledHeaders.cmake
index b04fef6941a16f4b677b8d7bbb1604ff09ff989b..f1d1768e24d9a3c085dac93f042b46803331ee82 100644
--- a/PreCompiledHeaders.cmake
+++ b/PreCompiledHeaders.cmake
@@ -37,6 +37,7 @@ set(QT_STRUCT_INC
     PRIVATE
     <qglobal.h>
     <QThread>
+    <QOperatingSystemVersion>
     <QtGlobal>
     <QObject>
     <QRegularExpression>
@@ -60,7 +61,9 @@ set(QT_STRUCT_INC
     <QList>
     <QVector>
     <QMap>
+    <QSettings>
     <QStringList>
+    <QMetaEnum>
     <QJsonObject>
     <QJsonArray>
     <QJsonDocument>
@@ -72,6 +75,7 @@ set(QT_WIDGET_INC
     <QCoreApplication>
     <QTextDocument>
     <QColor>
+    <QPalette>
     <QWidget>
     <QIcon>
     <QFont>
diff --git a/rsc/VivyRessources.qrc b/rsc/VivyRessources.qrc
index f86514d871aa19755d64bb9729a9771dad6b6240..62d7ef146db8b572734d0347b3325016bdea862d 100644
--- a/rsc/VivyRessources.qrc
+++ b/rsc/VivyRessources.qrc
@@ -25,6 +25,15 @@
     <!-- Lua scripts -->
     <file>lua/lib.lua</file>
     <file>lua/module.lua</file>
+
+    <!-- QtCreator's theming thing -->
+    <file>theme/dark.creatortheme</file>
+    <file>theme/default.creatortheme</file>
+    <file>theme/design.creatortheme</file>
+    <file>theme/design-light.creatortheme</file>
+    <file>theme/flat.creatortheme</file>
+    <file>theme/flat-dark.creatortheme</file>
+    <file>theme/flat-light.creatortheme</file>
 </qresource>
 
 <!-- Breeze icons, LGPL-3.0 Licence -->
diff --git a/rsc/theme/dark.creatortheme b/rsc/theme/dark.creatortheme
new file mode 100644
index 0000000000000000000000000000000000000000..4f92228aa3603d878b27b54f103403940f34eaca
--- /dev/null
+++ b/rsc/theme/dark.creatortheme
@@ -0,0 +1,401 @@
+[General]
+ThemeName=Dark
+PreferredStyles=Fusion
+DefaultTextEditorColorScheme=dark.xml
+
+[Palette]
+shadowBackground=ff232323
+text=ffe7e7e7
+textDisabled=7fffffff
+textHighlighted=ffe7e7e7
+hoverBackground=18ffffff
+selectedBackground=aa1f75cc
+selectedBackgroundText=aa1f75cc
+normalBackground=ff333333
+alternateBackground=ff515151
+error=ffd84044
+warning=ffe0b716
+splitterColor=ff313131
+textColorLink=ff007af4
+textColorLinkVisited=ffa57aff
+backgroundColorDisabled=ff444444
+qmlDesignerButtonColor=ff3c3e40
+
+[Colors]
+;DS controls theme START
+DSpanelBackground=ff323232
+
+DSinteraction=ff2aafd3
+DSerrorColor=ffdf3a3a
+DSdisabledColor=ff707070
+
+DScontrolBackground=ff323232
+DScontrolBackgroundInteraction=ff595959
+DScontrolBackgroundDisabled=ff323232
+DScontrolBackgroundGlobalHover=ff474747
+DScontrolBackgroundHover=ff666666
+
+DScontrolOutline=ff1f1f1f
+DScontrolOutlineInteraction=ff2aafd3
+DScontrolOutlineDisabled=ff707070
+
+DStextColor=ffffffff
+DStextColorDisabled=ff707070
+DStextSelectionColor=ff2aafd3
+DStextSelectedTextColor=ff000000
+
+DSplaceholderTextColor=ffffffff
+DSplaceholderTextColorInteraction=ffababab
+
+DSiconColor=ffffffff
+DSiconColorHover=ff262626
+DSiconColorInteraction=ff707070
+DSiconColorDisabled=ff707070
+DSiconColorSelected=ff2aafd3
+
+DSlinkIndicatorColor=ff808080
+DSlinkIndicatorColorHover=ffffffff
+DSlinkIndicatorColorInteraction=ff2aafd3
+DSlinkIndicatorColorDisabled=ff707070
+
+DSpopupBackground=ff474747
+DSpopupOverlayColor=99191919
+
+DSsliderActiveTrack=ff7c7b7b
+DSsliderActiveTrackHover=ff000000
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrack=ff595959
+DSsliderInactiveTrackHover=ff505050
+DSsliderInactiveTrackFocus=ff606060
+DSsliderHandle=ff1f1f1f
+DSsliderHandleHover=ff606060
+DSsliderHandleFocus=ff0492c9
+DSsliderHandleInteraction=ff2aafd3
+
+DSscrollBarTrack=ff404040
+DSscrollBarHandle=ff505050
+
+DSsectionHeadBackground=ff1f1f1f
+
+DSstateDefaultHighlight=ffffe400
+DSstateSeparatorColor=ff7c7b7b
+DSstateBackgroundColor=ff383838
+DSstatePreviewOutline=ffaaaaaa
+
+DSchangedStateText=ff99ccff
+
+DS3DAxisXColor=ffd00000
+DS3DAxisYColor=ff009900
+DS3DAxisZColor=ff5050ff
+
+DSactionBinding=ff2aafd3
+DSactionAlias=fff93a3a
+DSactionKeyframe=ffe0e01b
+DSactionJIT=ff2db543
+
+DStableHeaderBackground=ffff0000
+DStableHeaderText=ff00ff00
+
+DSdockContainerBackground=ff323232
+DSdockContainerSplitter=ff323232
+DSdockAreaBackground=ff262728
+
+DSdockWidgetBackground=ff00ff00
+DSdockWidgetSplitter=ff595959
+DSdockWidgetTitleBar=ff1f1f1f
+
+DStitleBarText=ffdadada
+DStitleBarIcon=ffffffff
+DStitleBarButtonHover=40ffffff
+DStitleBarButtonPress=60ffffff
+
+DStabContainerBackground=ff0000ff
+DStabSplitter=ff595959
+
+DStabInactiveBackground=ff1f1f1f
+DStabInactiveText=ffdadada
+DStabInactiveIcon=ffffffff
+DStabInactiveButtonHover=ff1f1f1f
+DStabInactiveButtonPress=ff1f1f1f
+
+DStabActiveBackground=ffdadada
+DStabActiveText=ff111111
+DStabActiveIcon=ff000000
+DStabActiveButtonHover=ffdadada
+DStabActiveButtonPress=ffdadada
+
+DStabFocusBackground=ff2aafd3
+DStabFocusText=ff111111
+DStabFocusIcon=ff000000
+DStabFocusButtonHover=ff2aafd3
+DStabFocusButtonPress=ff2aafd3
+
+DSnavigatorBranch=ff7c7b7b
+DSnavigatorBranchIndicator=ff7c7b7b
+DSnavigatorItemBackground=ff262626
+DSnavigatorItemBackgroundHover=ff666666
+DSnavigatorItemBackgroundSelected=ff1f1f1f
+DSnavigatorText=ffffffff
+DSnavigatorTextHover=ff1f1f1f
+DSnavigatorTextSelected=ff2aafd3
+DSnavigatorIcon=ffffffff
+DSnavigatorIconHover=ff1f1f1f
+DSnavigatorIconSelected=ff7c7b7b
+DSnavigatorAliasIconChecked=ffff0000
+DSnavigatorDropIndicatorBackground=ff2aafd3
+DSnavigatorDropIndicatorOutline=ff2aafd3
+
+DSheaderViewBackground=ff1f1f1f
+DStableViewAlternateBackground=ff00ff00
+
+DStoolTipBackground=ff111111
+DStoolTipOutline=ffdadada
+DStoolTipText=ffdadada
+
+DSUnimportedModuleColor=ffe33c2e
+
+;DS controls theme END
+
+BackgroundColorAlternate=alternateBackground
+BackgroundColorDark=shadowBackground
+BackgroundColorHover=hoverBackground
+BackgroundColorNormal=normalBackground
+BackgroundColorDisabled=backgroundColorDisabled
+BackgroundColorSelected=selectedBackground
+BadgeLabelBackgroundColorChecked=normalBackground
+BadgeLabelBackgroundColorUnchecked=selectedBackground
+BadgeLabelTextColorChecked=text
+BadgeLabelTextColorUnchecked=text
+CanceledSearchTextColor=ff0000
+ComboBoxArrowColor=text
+ComboBoxArrowColorDisabled=text
+ComboBoxTextColor=text
+DetailsButtonBackgroundColorHover=hoverBackground
+DetailsWidgetBackgroundColor=ff4a4a4a
+DockWidgetResizeHandleColor=shadowBackground
+DoubleTabWidget1stSeparatorColor=hoverBackground
+DoubleTabWidget1stTabActiveTextColor=text
+DoubleTabWidget1stTabBackgroundColor=ff4a4a4a
+DoubleTabWidget1stTabInactiveTextColor=textDisabled
+DoubleTabWidget2ndSeparatorColor=hoverBackground
+DoubleTabWidget2ndTabActiveTextColor=text
+DoubleTabWidget2ndTabBackgroundColor=ff434343
+DoubleTabWidget2ndTabInactiveTextColor=textDisabled
+EditorPlaceholderColor=normalBackground
+FancyToolBarSeparatorColor=43ffffff
+FancyTabBarBackgroundColor=shadowBackground
+FancyTabBarSelectedBackgroundColor=88000000
+FancyTabWidgetDisabledSelectedTextColor=textDisabled
+FancyTabWidgetDisabledUnselectedTextColor=textDisabled
+FancyTabWidgetEnabledSelectedTextColor=text
+FancyTabWidgetEnabledUnselectedTextColor=text
+FancyToolButtonHoverColor=35ffffff
+FancyToolButtonSelectedColor=selectedBackground
+FutureProgressBackgroundColor=shadowBackground
+IconsBaseColor=ffdcdcdc
+IconsDisabledColor=textDisabled
+IconsInfoColor=ff3099dc
+IconsInfoToolBarColor=ff3099dc
+IconsWarningColor=warning
+IconsWarningToolBarColor=ffe0b716
+IconsErrorColor=error
+IconsErrorToolBarColor=ffd84044
+IconsRunColor=ff7fc341
+IconsRunToolBarColor=ff7fc341
+IconsStopColor=ffe7353b
+IconsStopToolBarColor=ffe7353b
+IconsInterruptColor=ff7488db
+IconsInterruptToolBarColor=ff7488db
+IconsDebugColor=ffb8c6ff
+IconsNavigationArrowsColor=ffebc322
+IconsBuildHammerHandleColor=ffdd7710
+IconsBuildHammerHeadColor=ff989898
+IconsModeWelcomeActiveColor=ff80c342
+IconsModeEditActiveColor=ff99aaef
+IconsModeDesignActiveColor=ffbb6000
+IconsModeDebugActiveColor=ff99aaef
+IconsModeProjectActiveColor=ff80c342
+IconsModeAnalyzeActiveColor=ff43adee
+IconsModeHelpActiveColor=fff4be04
+IconsCodeModelKeywordColor=ffaaaaaa
+IconsCodeModelClassColor=ffc0b550
+IconsCodeModelStructColor=ff53b053
+IconsCodeModelFunctionColor=ffd34373
+IconsCodeModelVariableColor=ff2bbbcc
+IconsCodeModelEnumColor=ffc0b550
+IconsCodeModelMacroColor=ff477ba0
+IconsCodeModelAttributeColor=ff316511
+IconsCodeModelUniformColor=ff994899
+IconsCodeModelVaryingColor=ffa08833
+IconsCodeModelOverlayBackgroundColor=88000000
+IconsCodeModelOverlayForegroundColor=ffdcdcdc
+InfoBarBackground=ff505000
+InfoBarText=text
+MenuBarEmptyAreaBackgroundColor=shadowBackground
+MenuBarItemBackgroundColor=shadowBackground
+MenuBarItemTextColorDisabled=textDisabled
+MenuBarItemTextColorNormal=text
+MenuItemTextColorDisabled=textDisabled
+MenuItemTextColorNormal=text
+MiniProjectTargetSelectorBackgroundColor=normalBackground
+MiniProjectTargetSelectorBorderColor=shadowBackground
+MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
+MiniProjectTargetSelectorTextColor=text
+PanelStatusBarBackgroundColor=shadowBackground
+PanelsWidgetSeparatorLineColor=000000
+PanelTextColorDark=text
+PanelTextColorMid=ffa0a0a0
+PanelTextColorLight=text
+ProgressBarColorError=error
+ProgressBarColorFinished=ff5aaa3c
+ProgressBarColorNormal=ff808080
+ProgressBarTitleColor=text
+ProgressBarBackgroundColor=normalBackground
+SplitterColor=splitterColor
+TextColorDisabled=textDisabled
+TextColorError=ffff4040
+TextColorHighlight=ffff0000
+TextColorHighlightBackground=7a6f1c
+TextColorLink=textColorLink
+TextColorLinkVisited=textColorLinkVisited
+TextColorNormal=text
+ToggleButtonBackgroundColor=shadowBackground
+ToolBarBackgroundColor=shadowBackground
+TreeViewArrowColorNormal=hoverBackground
+TreeViewArrowColorSelected=text
+
+OutputPanes_DebugTextColor=text
+OutputPanes_ErrorMessageTextColor=ffff6c6c
+OutputPanes_MessageOutput=ff008787
+OutputPanes_NormalMessageTextColor=ff008787
+OutputPanes_StdErrTextColor=ffff6666
+OutputPanes_StdOutTextColor=text
+OutputPanes_WarningMessageTextColor=fff3c300
+OutputPanes_TestPassTextColor=ff00b400
+OutputPanes_TestFailTextColor=ffc82828
+OutputPanes_TestXFailTextColor=ff28dc28
+OutputPanes_TestXPassTextColor=ffdc2828
+OutputPanes_TestSkipTextColor=ff828282
+OutputPanes_TestWarnTextColor=ffc8c800
+OutputPanes_TestFatalTextColor=ffb42828
+OutputPanes_TestDebugTextColor=ff329696
+OutputPaneButtonFlashColor=error
+OutputPaneToggleButtonTextColorChecked=textHighlighted
+OutputPaneToggleButtonTextColorUnchecked=text
+
+Debugger_LogWindow_LogInput=ff00acac
+Debugger_LogWindow_LogStatus=ff00875a
+Debugger_LogWindow_LogTime=ffbf0303
+
+Debugger_WatchItem_ValueNormal=text
+Debugger_WatchItem_ValueInvalid=textDisabled
+Debugger_WatchItem_ValueChanged=ffff6666
+
+Debugger_Breakpoint_TextMarkColor=ffff4040
+
+Welcome_TextColor=text
+Welcome_ForegroundPrimaryColor=ff999999
+Welcome_ForegroundSecondaryColor=ff808080
+Welcome_BackgroundColor=normalBackground
+Welcome_ButtonBackgroundColor=normalBackground
+Welcome_DividerColor=ff555555
+Welcome_HoverColor=ff444444
+Welcome_LinkColor=ff78bb39
+Welcome_DisabledLinkColor=textDisabled
+
+Timeline_TextColor=text
+Timeline_BackgroundColor1=normalBackground
+Timeline_BackgroundColor2=ff444444
+Timeline_DividerColor=ff555555
+Timeline_HighlightColor=ff3099dc
+Timeline_PanelBackgroundColor=ff808080
+Timeline_PanelHeaderColor=alternateBackground
+Timeline_HandleColor=alternateBackground
+Timeline_RangeColor=selectedBackground
+
+VcsBase_FileStatusUnknown_TextColor=text
+VcsBase_FileAdded_TextColor=ff00ff00
+VcsBase_FileModified_TextColor=ff8ee0ff
+VcsBase_FileDeleted_TextColor=ffff6c6c
+VcsBase_FileRenamed_TextColor=ffffa500
+VcsBase_FileUnmerged_TextColor=ffff4040
+
+Bookmarks_TextMarkColor=ff8080ff
+
+TextEditor_SearchResult_ScrollBarColor=ff00c000
+TextEditor_CurrentLine_ScrollBarColor=ffffffff
+
+ProjectExplorer_TaskError_TextMarkColor=error
+ProjectExplorer_TaskWarn_TextMarkColor=warning
+
+CodeModel_Error_TextMarkColor=error
+CodeModel_Warning_TextMarkColor=warning
+
+PaletteWindow=normalBackground
+PaletteWindowText=text
+PaletteBase=normalBackground
+PaletteAlternateBase=alternateBackground
+PaletteButton=shadowBackground
+PaletteBrightText=ffff0000
+PaletteText=text
+PaletteButtonText=text
+PaletteButtonTextDisabled=textDisabled
+PaletteToolTipBase=66000000
+PaletteHighlight=selectedBackgroundText
+PaletteDark=shadowBackground
+PaletteHighlightedText=textHighlighted
+PaletteToolTipText=text
+PaletteLink=textColorLink
+PaletteLinkVisited=textColorLinkVisited
+PaletteWindowDisabled=backgroundColorDisabled
+PaletteWindowTextDisabled=textDisabled
+PaletteBaseDisabled=backgroundColorDisabled
+PaletteTextDisabled=textDisabled
+PaletteMid=ffa0a0a0
+PalettePlaceholderText=ff8d8d8d
+
+QmlDesigner_BackgroundColor=qmlDesignerButtonColor
+QmlDesigner_HighlightColor=ff46a2da
+QmlDesigner_FormEditorSelectionColor=ff4ba2ff
+QmlDesigner_FormEditorForegroundColor=ffffffff
+QmlDesigner_BackgroundColorDarkAlternate=ff323232
+QmlDesigner_BackgroundColorDarker=ff151515
+QmlDesigner_BorderColor=splitterColor
+QmlDesigner_ButtonColor=ff505050
+QmlDesigner_TabDark=shadowBackground
+QmlDesigner_TabLight=text
+QmlDesigner_FormeditorBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_AlternateBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_ScrollBarHandleColor=ff505050
+
+[Flags]
+ComboBoxDrawTextShadow=false
+DerivePaletteFromTheme=true
+DrawIndicatorBranch=true
+DrawSearchResultWidgetFrame=false
+DrawTargetSelectorBottom=false
+DrawToolBarHighlights=true
+DrawToolBarBorders=false
+ApplyThemePaletteGlobally=true
+FlatToolBars=true
+FlatSideBarIcons=true
+FlatProjectsMode=true
+FlatMenuBar=true
+ToolBarIconShadow=true
+WindowColorAsBase=false
+DarkUserInterface=true
+
+[Gradients]
+DetailsWidgetHeaderGradient\1\color=00000000
+DetailsWidgetHeaderGradient\1\pos=1
+DetailsWidgetHeaderGradient\size=1
+
+[ImageFiles]
+IconOverlayCSource=:/cppeditor/images/dark_qt_c.png
+IconOverlayCppHeader=:/cppeditor/images/dark_qt_h.png
+IconOverlayCppSource=:/cppeditor/images/dark_qt_cpp.png
+IconOverlayPrf=:/qtsupport/images/dark_qt_project.png
+IconOverlayPri=:/qtsupport/images/dark_qt_project.png
+IconOverlayPro=:/qtsupport/images/dark_qt_project.png
+StandardPixmapFileIcon=:/utils/images/dark_fileicon.png
+StandardPixmapDirIcon=:/utils/images/dark_foldericon.png
diff --git a/rsc/theme/default.creatortheme b/rsc/theme/default.creatortheme
new file mode 100644
index 0000000000000000000000000000000000000000..aeabe8269066d53195bdc256fc5a131372fc0cb7
--- /dev/null
+++ b/rsc/theme/default.creatortheme
@@ -0,0 +1,359 @@
+[General]
+ThemeName=Classic
+PreferredStyles=
+
+[Palette]
+brightText=ffffffff
+darkText=ff000000
+textDisabled=88a0a0a0
+error=ffdf4f4f
+warning=ffecbc1c
+shadowBackground=ff232323
+splitterColor=ff151515
+qmlDesignerButtonColor=ff4c4e50
+
+[Colors]
+;DS controls theme START
+DSpanelBackground=ffeaeaea
+
+DSinteraction=ff2aafd3
+DSerrorColor=ffdf3a3a
+DSdisabledColor=ff8e8e8e
+
+DScontrolBackground=ffeaeaea
+DScontrolBackgroundInteraction=ffc9c9c9
+DScontrolBackgroundDisabled=ffeaeaea
+DScontrolBackgroundGlobalHover=ffe5e5e5
+DScontrolBackgroundHover=ffd1d1d1
+
+DScontrolOutline=ffcecccc
+DScontrolOutlineInteraction=ff2aafd3
+DScontrolOutlineDisabled=ff707070
+
+DStextColor=ff262626
+DStextColorDisabled=ff707070
+DStextSelectionColor=ff2aafd3
+DStextSelectedTextColor=ff000000
+
+DSplaceholderTextColor=ff262626
+DSplaceholderTextColorInteraction=ffababab
+
+DSiconColor=ff262626
+DSiconColorHover=ff191919
+DSiconColorInteraction=ffffffff
+DSiconColorDisabled=ff707070
+DSiconColorSelected=ff2aafd3
+
+DSlinkIndicatorColor=ff808080
+DSlinkIndicatorColorHover=ff1f1f1f
+DSlinkIndicatorColorInteraction=ff2aafd3
+DSlinkIndicatorColorDisabled=ff707070
+
+DSpopupBackground=ffd3d3d3
+DSpopupOverlayColor=99191919
+
+DSsliderActiveTrack=ff7c7b7b
+DSsliderActiveTrackHover=ff000000
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrack=ffaaaaaa
+DSsliderInactiveTrackHover=ff505050
+DSsliderInactiveTrackFocus=ff606060
+DSsliderHandle=ff1f1f1f
+DSsliderHandleHover=ff606060
+DSsliderHandleFocus=ff0492c9
+DSsliderHandleInteraction=ff2aafd3
+
+DSscrollBarTrack=ffb5b4b4
+DSscrollBarHandle=ff9b9b9b
+
+DSsectionHeadBackground=ffd8d8d8
+
+DSstateDefaultHighlight=ffffe400
+DSstateSeparatorColor=ffadadad
+DSstateBackgroundColor=ffe0e0e0
+DSstatePreviewOutline=ff363636
+
+DSchangedStateText=ff99ccff
+
+DS3DAxisXColor=ffd00000
+DS3DAxisYColor=ff009900
+DS3DAxisZColor=ff5050ff
+
+DSactionBinding=ff2aafd3
+DSactionAlias=fff93a3a
+DSactionKeyframe=ffe0e01b
+DSactionJIT=ff2db543
+
+DStableHeaderBackground=ffff0000
+DStableHeaderText=ff00ff00
+
+DSdockContainerBackground=ff323232
+DSdockContainerSplitter=ff323232
+DSdockAreaBackground=ff262728
+
+DSdockWidgetBackground=ff00ff00
+DSdockWidgetSplitter=ff595959
+DSdockWidgetTitleBar=ffeaeaea
+
+DStitleBarText=ffdadada
+DStitleBarIcon=ff4f5052
+DStitleBarButtonHover=40ffffff
+DStitleBarButtonPress=60ffffff
+
+DStabContainerBackground=ff0000ff
+DStabSplitter=ff595959
+
+DStabInactiveBackground=ff999999
+DStabInactiveText=ff262626
+DStabInactiveIcon=ffffffff
+DStabInactiveButtonHover=ff1f1f1f
+DStabInactiveButtonPress=ff1f1f1f
+
+DStabActiveBackground=ffdadada
+DStabActiveText=ff111111
+DStabActiveIcon=ff000000
+DStabActiveButtonHover=ffdadada
+DStabActiveButtonPress=ffdadada
+
+DStabFocusBackground=ff2aafd3
+DStabFocusText=ff111111
+DStabFocusIcon=ff000000
+DStabFocusButtonHover=ff2aafd3
+DStabFocusButtonPress=ff2aafd3
+
+DSnavigatorBranch=ff7c7b7b
+DSnavigatorBranchIndicator=ff7c7b7b
+DSnavigatorItemBackground=ffd8d8d8
+DSnavigatorItemBackgroundHover=ffc2c2c2
+DSnavigatorItemBackgroundSelected=ffffffff
+DSnavigatorText=ff262626
+DSnavigatorTextHover=ff1f1f1f
+DSnavigatorTextSelected=ff2aafd3
+DSnavigatorIcon=ff1f1f1f
+DSnavigatorIconHover=ff1f1f1f
+DSnavigatorIconSelected=ff7c7b7b
+DSnavigatorAliasIconChecked=ffff0000
+DSnavigatorDropIndicatorBackground=ff2aafd3
+DSnavigatorDropIndicatorOutline=ff2aafd3
+
+DSheaderViewBackground=ffd8d8d8
+DStableViewAlternateBackground=ff00ff00
+
+DStoolTipBackground=ff111111
+DStoolTipOutline=ffdadada
+DStoolTipText=ffdadada
+
+DSUnimportedModuleColor=ffe33c2e
+
+;DS controls theme END
+
+BackgroundColorAlternate=ff3d3d3d
+BackgroundColorDark=shadowBackground
+BackgroundColorHover=ff515151
+BackgroundColorNormal=ffffffff
+BackgroundColorSelected=ff151515
+BackgroundColorDisabled=ffefebe7
+BadgeLabelBackgroundColorChecked=ffe0e0e0
+BadgeLabelBackgroundColorUnchecked=ff808080
+BadgeLabelTextColorChecked=ff606060
+BadgeLabelTextColorUnchecked=ffffffff
+CanceledSearchTextColor=ffff0000
+ComboBoxArrowColor=ffb8b5b2
+ComboBoxArrowColorDisabled=ffdcdcdc
+ComboBoxTextColor=ffffffff
+DetailsButtonBackgroundColorHover=b4ffffff
+DetailsWidgetBackgroundColor=28ffffff
+DockWidgetResizeHandleColor=ff000000
+DoubleTabWidget1stSeparatorColor=ffff0000
+DoubleTabWidget1stTabActiveTextColor=ff000000
+DoubleTabWidget1stTabBackgroundColor=ffff0000
+DoubleTabWidget1stTabInactiveTextColor=ffffffff
+DoubleTabWidget2ndSeparatorColor=ffff0000
+DoubleTabWidget2ndTabActiveTextColor=ffffffff
+DoubleTabWidget2ndTabBackgroundColor=ffff0000
+DoubleTabWidget2ndTabInactiveTextColor=ff000000
+EditorPlaceholderColor=ffe0dcd8
+FancyToolBarSeparatorColor=60ffffff
+FancyTabBarBackgroundColor=ffff0000
+FancyTabBarSelectedBackgroundColor=ffff0000
+FancyTabWidgetDisabledSelectedTextColor=textDisabled
+FancyTabWidgetDisabledUnselectedTextColor=textDisabled
+FancyTabWidgetEnabledSelectedTextColor=ff3c3c3c
+FancyTabWidgetEnabledUnselectedTextColor=ffffffff
+FancyToolButtonHoverColor=28ffffff
+FancyToolButtonSelectedColor=32000000
+FutureProgressBackgroundColor=ffff0000
+IconsBaseColor=ffdcdcdc
+IconsDisabledColor=textDisabled
+IconsInfoColor=ff3099dc
+IconsInfoToolBarColor=ff71b2db
+IconsWarningColor=warning
+IconsWarningToolBarColor=fff2d76e
+IconsErrorColor=error
+IconsErrorToolBarColor=ffdb6f71
+IconsRunColor=ff6da838
+IconsRunToolBarColor=ffa4d576
+IconsStopColor=ffee6969
+IconsStopToolBarColor=ffff8c8c
+IconsInterruptColor=ff587ff7
+IconsInterruptToolBarColor=ff8f9dda
+IconsDebugColor=ffdcdcdc
+IconsNavigationArrowsColor=ffebc322
+IconsBuildHammerHandleColor=ffdd7710
+IconsBuildHammerHeadColor=ff989898
+IconsModeWelcomeActiveColor=ffffffff
+IconsModeEditActiveColor=ffffffff
+IconsModeDesignActiveColor=ffffffff
+IconsModeDebugActiveColor=ffffffff
+IconsModeProjectActiveColor=ffffffff
+IconsModeAnalyzeActiveColor=ffffffff
+IconsModeHelpActiveColor=ffffffff
+IconsCodeModelKeywordColor=ff777777
+IconsCodeModelClassColor=ffc0b550
+IconsCodeModelStructColor=ff53b053
+IconsCodeModelFunctionColor=fff36393
+IconsCodeModelVariableColor=ff2bbbcc
+IconsCodeModelEnumColor=ffc0b550
+IconsCodeModelMacroColor=ff476ba0
+IconsCodeModelAttributeColor=ff316511
+IconsCodeModelUniformColor=ff994899
+IconsCodeModelVaryingColor=ffa08833
+IconsCodeModelOverlayBackgroundColor=70ffffff
+IconsCodeModelOverlayForegroundColor=ff232425
+InfoBarBackground=ffffffe1
+InfoBarText=ff000000
+MenuBarEmptyAreaBackgroundColor=ffff0000
+MenuBarItemBackgroundColor=ffff0000
+MenuBarItemTextColorDisabled=ffa0a0a4
+MenuBarItemTextColorNormal=ff000000
+MenuItemTextColorDisabled=style
+MenuItemTextColorNormal=style
+MiniProjectTargetSelectorBackgroundColor=ffa0a0a0
+MiniProjectTargetSelectorBorderColor=ff000000
+MiniProjectTargetSelectorSummaryBackgroundColor=ff464646
+MiniProjectTargetSelectorTextColor=a0ffffff
+PanelStatusBarBackgroundColor=ff626262
+PanelsWidgetSeparatorLineColor=ffbfbcb8
+PanelTextColorDark=darkText
+PanelTextColorMid=ff909090
+PanelTextColorLight=brightText
+ProgressBarColorError=error
+ProgressBarColorFinished=ff5aaa3c
+ProgressBarColorNormal=b4ffffff
+ProgressBarTitleColor=ffffffff
+ProgressBarBackgroundColor=18ffffff
+SplitterColor=splitterColor
+TextColorDisabled=55000000
+TextColorError=ffff0000
+TextColorHighlight=ffa0a0a4
+TextColorHighlightBackground=ffef0b
+TextColorLink=ff0057ae
+TextColorLinkVisited=ff644a9b
+TextColorNormal=ff000000
+ToggleButtonBackgroundColor=ffff0000
+ToolBarBackgroundColor=ffff0000
+TreeViewArrowColorNormal=ffff0000
+TreeViewArrowColorSelected=ffff0000
+
+OutputPanes_DebugTextColor=ffaa00aa
+OutputPanes_ErrorMessageTextColor=ffaa0000
+OutputPanes_MessageOutput=ff0000aa
+OutputPanes_NormalMessageTextColor=ff0000aa
+OutputPanes_StdErrTextColor=ffaa0000
+OutputPanes_StdOutTextColor=ff000000
+OutputPanes_WarningMessageTextColor=ff808000
+OutputPanes_TestPassTextColor=ff009900
+OutputPanes_TestFailTextColor=ffa00000
+OutputPanes_TestXFailTextColor=ff28f028
+OutputPanes_TestXPassTextColor=fff02828
+OutputPanes_TestSkipTextColor=ff787878
+OutputPanes_TestWarnTextColor=ffd0bb00
+OutputPanes_TestFatalTextColor=ff640000
+OutputPanes_TestDebugTextColor=ff329696
+OutputPaneButtonFlashColor=ffff0000
+OutputPaneToggleButtonTextColorChecked=ffffffff
+OutputPaneToggleButtonTextColorUnchecked=ff000000
+
+Debugger_LogWindow_LogInput=ff0000ff
+Debugger_LogWindow_LogStatus=ff008000
+Debugger_LogWindow_LogTime=ff800000
+
+Debugger_WatchItem_ValueNormal=ff000000
+Debugger_WatchItem_ValueInvalid=ff8c8c8c
+Debugger_WatchItem_ValueChanged=ffc80000
+
+Debugger_Breakpoint_TextMarkColor=ffff4040
+
+Welcome_TextColor=ff000000
+Welcome_ForegroundPrimaryColor=ff555759
+Welcome_ForegroundSecondaryColor=ff727476
+Welcome_BackgroundColor=fff8f8f8
+Welcome_ButtonBackgroundColor=ffdfdfdf
+Welcome_DividerColor=ffd6d6d6
+Welcome_HoverColor=ffe8e8e8
+Welcome_LinkColor=ff5caa15
+Welcome_DisabledLinkColor=textDisabled
+
+Timeline_TextColor=darkText
+Timeline_BackgroundColor1=ffffffff
+Timeline_BackgroundColor2=fff6f6f6
+Timeline_DividerColor=ffd6d6d6
+Timeline_HighlightColor=ff71b2db
+Timeline_PanelBackgroundColor=ffd6d6d6
+Timeline_PanelHeaderColor=ff3d3d3d
+Timeline_HandleColor=ff3d3d3d
+Timeline_RangeColor=66000000
+
+VcsBase_FileStatusUnknown_TextColor=ff000000
+VcsBase_FileAdded_TextColor=ff00aa00
+VcsBase_FileModified_TextColor=ff0000ee
+VcsBase_FileDeleted_TextColor=ff800000
+VcsBase_FileRenamed_TextColor=ffd77d00
+VcsBase_FileUnmerged_TextColor=ffee0000
+
+Bookmarks_TextMarkColor=ffa0a0ff
+
+TextEditor_SearchResult_ScrollBarColor=ff00c000
+TextEditor_CurrentLine_ScrollBarColor=ff404040
+
+ProjectExplorer_TaskError_TextMarkColor=error
+ProjectExplorer_TaskWarn_TextMarkColor=warning
+
+CodeModel_Error_TextMarkColor=error
+CodeModel_Warning_TextMarkColor=warning
+
+QmlDesigner_BackgroundColor=qmlDesignerButtonColor
+QmlDesigner_HighlightColor=ff46a2da
+QmlDesigner_FormEditorSelectionColor=ff4ba2ff
+QmlDesigner_FormEditorForegroundColor=brightText
+QmlDesigner_BackgroundColorDarkAlternate=ffeaeaea
+QmlDesigner_BackgroundColorDarker=ff4e4e4e
+QmlDesigner_BorderColor=splitterColor
+QmlDesigner_ButtonColor=ff7a7a7a
+QmlDesigner_TabDark=shadowBackground
+QmlDesigner_TabLight=brightText
+QmlDesigner_FormeditorBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_AlternateBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_ScrollBarHandleColor=ff7a7a7a
+
+[Flags]
+ComboBoxDrawTextShadow=true
+DerivePaletteFromTheme=false
+DrawIndicatorBranch=false
+DrawSearchResultWidgetFrame=true
+DrawTargetSelectorBottom=true
+DrawToolBarHighlights=true
+DrawToolBarBorders=false
+ApplyThemePaletteGlobally=false
+FlatToolBars=false
+FlatSideBarIcons=false
+FlatProjectsMode=false
+FlatMenuBar=false
+ToolBarIconShadow=true
+WindowColorAsBase=false
+DarkUserInterface=false
+
+[Gradients]
+DetailsWidgetHeaderGradient\1\color=ffffffff
+DetailsWidgetHeaderGradient\1\pos=1
+DetailsWidgetHeaderGradient\size=1
diff --git a/rsc/theme/design-light.creatortheme b/rsc/theme/design-light.creatortheme
new file mode 100644
index 0000000000000000000000000000000000000000..70ee4462cb6fb7e60ecdb8cb473982116676fc24
--- /dev/null
+++ b/rsc/theme/design-light.creatortheme
@@ -0,0 +1,403 @@
+[General]
+ThemeName=Design Light
+PreferredStyles=Fusion
+
+
+[Palette]
+shadowBackground=ffd1cfcf
+text=ff000000
+textDisabled=55000000
+selectedBackgroundText=aa1f75cc
+toolBarItem=a0010508
+toolBarItemDisabled=38000000
+fancyBarsNormalTextColor=ff000000
+fancyBarsBoldTextColor=a0010508
+hoverBackground=1a000000
+selectedBackground=ffffffff
+normalBackground=ffffffff
+alternateBackground=ff515151
+stop_error=ffec7373
+run_success=ff52c23b
+error=ffdf4f4f
+warning=ffecbc1c
+splitter=ffbdbebf
+qmlDesignerButtonColor=fff8f8f8
+textColorLink=ff007af4
+textColorLinkVisited=ffa57aff
+backgroundColorDisabled=ff8e8e8e
+
+[Colors]
+;DS controls theme START
+DSpanelBackground=ffeaeaea
+
+DSinteraction=ff2aafd3
+DSerrorColor=ffdf3a3a
+DSdisabledColor=ff8e8e8e
+
+DScontrolBackground=ffeaeaea
+DScontrolBackgroundInteraction=ffc9c9c9
+DScontrolBackgroundDisabled=ffeaeaea
+DScontrolBackgroundGlobalHover=ffe5e5e5
+DScontrolBackgroundHover=ffd1d1d1
+
+DScontrolOutline=ffcecccc
+DScontrolOutlineInteraction=ff2aafd3
+DScontrolOutlineDisabled=ff707070
+
+DStextColor=ff262626
+DStextColorDisabled=ff707070
+DStextSelectionColor=ff2aafd3
+DStextSelectedTextColor=ff000000
+
+DSplaceholderTextColor=ff262626
+DSplaceholderTextColorInteraction=ffababab
+
+DSiconColor=ff262626
+DSiconColorHover=ff191919
+DSiconColorInteraction=ffffffff
+DSiconColorDisabled=ff707070
+DSiconColorSelected=ff2aafd3
+
+DSlinkIndicatorColor=ff808080
+DSlinkIndicatorColorHover=ff1f1f1f
+DSlinkIndicatorColorInteraction=ff2aafd3
+DSlinkIndicatorColorDisabled=ff707070
+
+DSpopupBackground=ffd3d3d3
+DSpopupOverlayColor=99191919
+
+DSsliderActiveTrack=ff7c7b7b
+DSsliderActiveTrackHover=ff000000
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrack=ffaaaaaa
+DSsliderInactiveTrackHover=ff505050
+DSsliderInactiveTrackFocus=ff606060
+DSsliderHandle=ff1f1f1f
+DSsliderHandleHover=ff606060
+DSsliderHandleFocus=ff0492c9
+DSsliderHandleInteraction=ff2aafd3
+
+DSscrollBarTrack=ffb5b4b4
+DSscrollBarHandle=ff9b9b9b
+
+DSsectionHeadBackground=ffd8d8d8
+
+DSstateDefaultHighlight=ffffe400
+DSstateSeparatorColor=ffadadad
+DSstateBackgroundColor=ffe0e0e0
+DSstatePreviewOutline=ff363636
+
+DSchangedStateText=ff99ccff
+
+DS3DAxisXColor=ffd00000
+DS3DAxisYColor=ff009900
+DS3DAxisZColor=ff5050ff
+
+DSactionBinding=ff2aafd3
+DSactionAlias=fff93a3a
+DSactionKeyframe=ffe0e01b
+DSactionJIT=ff2db543
+
+DStableHeaderBackground=ffff0000
+DStableHeaderText=ff00ff00
+
+DSdockContainerBackground=ff323232
+DSdockContainerSplitter=ff323232
+DSdockAreaBackground=ff262728
+
+DSdockWidgetBackground=ff00ff00
+DSdockWidgetSplitter=ff595959
+DSdockWidgetTitleBar=ffeaeaea
+
+DStitleBarText=ffdadada
+DStitleBarIcon=ff4f5052
+DStitleBarButtonHover=40ffffff
+DStitleBarButtonPress=60ffffff
+
+DStabContainerBackground=ff0000ff
+DStabSplitter=ff595959
+
+DStabInactiveBackground=ff999999
+DStabInactiveText=ff262626
+DStabInactiveIcon=ffffffff
+DStabInactiveButtonHover=ff1f1f1f
+DStabInactiveButtonPress=ff1f1f1f
+
+DStabActiveBackground=ffdadada
+DStabActiveText=ff111111
+DStabActiveIcon=ff000000
+DStabActiveButtonHover=ffdadada
+DStabActiveButtonPress=ffdadada
+
+DStabFocusBackground=ff2aafd3
+DStabFocusText=ff111111
+DStabFocusIcon=ff000000
+DStabFocusButtonHover=ff2aafd3
+DStabFocusButtonPress=ff2aafd3
+
+DSnavigatorBranch=ff7c7b7b
+DSnavigatorBranchIndicator=ff7c7b7b
+DSnavigatorItemBackground=ffd8d8d8
+DSnavigatorItemBackgroundHover=ffc2c2c2
+DSnavigatorItemBackgroundSelected=ffffffff
+DSnavigatorText=ff262626
+DSnavigatorTextHover=ff1f1f1f
+DSnavigatorTextSelected=ff2aafd3
+DSnavigatorIcon=ff1f1f1f
+DSnavigatorIconHover=ff1f1f1f
+DSnavigatorIconSelected=ff7c7b7b
+DSnavigatorAliasIconChecked=ffff0000
+DSnavigatorDropIndicatorBackground=ff2aafd3
+DSnavigatorDropIndicatorOutline=ff2aafd3
+
+DSheaderViewBackground=ffd8d8d8
+DStableViewAlternateBackground=ff00ff00
+
+DStoolTipBackground=ff111111
+DStoolTipOutline=ffdadada
+DStoolTipText=ffdadada
+
+DSUnimportedModuleColor=ffe33c2e
+
+;DS controls theme END
+
+BackgroundColorAlternate=alternateBackground
+BackgroundColorDark=shadowBackground
+BackgroundColorHover=hoverBackground
+BackgroundColorNormal=normalBackground
+BackgroundColorDisabled=ff7a7a7a
+BackgroundColorSelected=selectedBackground
+BadgeLabelBackgroundColorChecked=ffe0e0e0
+BadgeLabelBackgroundColorUnchecked=ff808080
+BadgeLabelTextColorChecked=ff606060
+BadgeLabelTextColorUnchecked=ffffffff
+CanceledSearchTextColor=ff0000
+ComboBoxArrowColor=toolBarItem
+ComboBoxArrowColorDisabled=toolBarItemDisabled
+ComboBoxTextColor=fancyBarsNormalTextColor
+DetailsButtonBackgroundColorHover=b4ffffff
+DetailsWidgetBackgroundColor=28ffffff
+DockWidgetResizeHandleColor=splitter
+DoubleTabWidget1stSeparatorColor=ffff0000
+DoubleTabWidget1stTabActiveTextColor=ff000000
+DoubleTabWidget1stTabBackgroundColor=ffff0000
+DoubleTabWidget1stTabInactiveTextColor=ff555555
+DoubleTabWidget2ndSeparatorColor=ffff0000
+DoubleTabWidget2ndTabActiveTextColor=ffffffff
+DoubleTabWidget2ndTabBackgroundColor=ffff0000
+DoubleTabWidget2ndTabInactiveTextColor=ff000000
+EditorPlaceholderColor=fff4f4f4
+FancyToolBarSeparatorColor=toolBarItemDisabled
+FancyTabBarBackgroundColor=shadowBackground
+FancyTabBarSelectedBackgroundColor=selectedBackground
+FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
+FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
+FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
+FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
+FancyToolButtonHoverColor=hoverBackground
+FancyToolButtonSelectedColor=selectedBackground
+FutureProgressBackgroundColor=shadowBackground
+IconsBaseColor=toolBarItem
+IconsDisabledColor=toolBarItemDisabled
+IconsInfoColor=ff3099dc
+IconsInfoToolBarColor=ff3099dc
+IconsWarningColor=warning
+IconsWarningToolBarColor=ffecbc1c
+IconsErrorColor=error
+IconsErrorToolBarColor=ffdf4f4f
+IconsRunColor=run_success
+IconsRunToolBarColor=run_success
+IconsStopColor=stop_error
+IconsStopToolBarColor=stop_error
+IconsInterruptColor=ff587ff7
+IconsInterruptToolBarColor=ff6a7bc3
+IconsDebugColor=toolBarItem
+IconsNavigationArrowsColor=ff3dabe6
+IconsBuildHammerHandleColor=ffc26b14
+IconsBuildHammerHeadColor=ff868687
+IconsModeWelcomeActiveColor=ff5caa15
+IconsModeEditActiveColor=ff6a6add
+IconsModeDesignActiveColor=ffbb6000
+IconsModeDebugActiveColor=ff6a6add
+IconsModeProjectActiveColor=ff5caa15
+IconsModeAnalyzeActiveColor=ff43adee
+IconsModeHelpActiveColor=fffaa838
+IconsCodeModelKeywordColor=ff777777
+IconsCodeModelClassColor=ffc0b550
+IconsCodeModelStructColor=ff53b053
+IconsCodeModelFunctionColor=ffd34373
+IconsCodeModelVariableColor=ff2bbbcc
+IconsCodeModelEnumColor=ffc0b550
+IconsCodeModelMacroColor=ff476ba0
+IconsCodeModelAttributeColor=ff316511
+IconsCodeModelUniformColor=ff994899
+IconsCodeModelVaryingColor=ffa08833
+IconsCodeModelOverlayBackgroundColor=70ffffff
+IconsCodeModelOverlayForegroundColor=ff232425
+InfoBarBackground=ffffffe1
+InfoBarText=text
+MenuBarEmptyAreaBackgroundColor=shadowBackground
+MenuBarItemBackgroundColor=shadowBackground
+MenuBarItemTextColorDisabled=textDisabled
+MenuBarItemTextColorNormal=text
+MenuItemTextColorDisabled=textDisabled
+MenuItemTextColorNormal=text
+MiniProjectTargetSelectorBackgroundColor=shadowBackground
+MiniProjectTargetSelectorBorderColor=shadowBackground
+MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
+MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
+PanelStatusBarBackgroundColor=shadowBackground
+PanelsWidgetSeparatorLineColor=000000
+PanelTextColorDark=text
+PanelTextColorMid=ff666666
+PanelTextColorLight=fancyBarsNormalTextColor
+ProgressBarColorError=error
+ProgressBarColorFinished=run_success
+ProgressBarColorNormal=ff888888
+ProgressBarTitleColor=fancyBarsBoldTextColor
+ProgressBarBackgroundColor=28000000
+SplitterColor=splitter
+TextColorDisabled=textDisabled
+TextColorError=ffff4040
+TextColorHighlight=ffff0000
+TextColorHighlightBackground=ffef0b
+TextColorLink=ff007af4
+TextColorLinkVisited=ffa57aff
+TextColorNormal=text
+ToggleButtonBackgroundColor=shadowBackground
+ToolBarBackgroundColor=shadowBackground
+TreeViewArrowColorNormal=hoverBackground
+TreeViewArrowColorSelected=text
+
+OutputPanes_DebugTextColor=text
+OutputPanes_ErrorMessageTextColor=ffaa0000
+OutputPanes_MessageOutput=ff0000aa
+OutputPanes_NormalMessageTextColor=ff0000aa
+OutputPanes_StdErrTextColor=ffaa0000
+OutputPanes_StdOutTextColor=ff000000
+OutputPanes_WarningMessageTextColor=ff808000
+OutputPanes_TestPassTextColor=ff009900
+OutputPanes_TestFailTextColor=ffa00000
+OutputPanes_TestXFailTextColor=ff28f028
+OutputPanes_TestXPassTextColor=fff02828
+OutputPanes_TestSkipTextColor=ff787878
+OutputPanes_TestWarnTextColor=ffd0bb00
+OutputPanes_TestFatalTextColor=ff640000
+OutputPanes_TestDebugTextColor=ff329696
+OutputPaneButtonFlashColor=ffff0000
+OutputPaneToggleButtonTextColorChecked=fancyBarsNormalTextColor
+OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
+
+Debugger_LogWindow_LogInput=ff00acac
+Debugger_LogWindow_LogStatus=ff00875a
+Debugger_LogWindow_LogTime=ffbf0303
+
+Debugger_WatchItem_ValueNormal=text
+Debugger_WatchItem_ValueInvalid=textDisabled
+Debugger_WatchItem_ValueChanged=ffbf0303
+
+Debugger_Breakpoint_TextMarkColor=ffff4040
+
+Welcome_TextColor=ff000000
+Welcome_ForegroundPrimaryColor=ff404244
+Welcome_ForegroundSecondaryColor=ff727476
+Welcome_BackgroundColor=normalBackground
+Welcome_ButtonBackgroundColor=normalBackground
+Welcome_DividerColor=ffd6d6d6
+Welcome_HoverColor=fff6f6f6
+Welcome_LinkColor=ff5caa15
+Welcome_DisabledLinkColor=textDisabled
+
+Timeline_TextColor=text
+Timeline_BackgroundColor1=normalBackground
+Timeline_BackgroundColor2=fff6f6f6
+Timeline_DividerColor=ffd6d6d6
+Timeline_HighlightColor=ff3099dc
+Timeline_PanelBackgroundColor=ffd6d6d6
+Timeline_PanelHeaderColor=ff888888
+Timeline_HandleColor=ff888888
+Timeline_RangeColor=selectedBackground
+
+VcsBase_FileStatusUnknown_TextColor=ff000000
+VcsBase_FileAdded_TextColor=ff00aa00
+VcsBase_FileModified_TextColor=ff0000ee
+VcsBase_FileDeleted_TextColor=ff800000
+VcsBase_FileRenamed_TextColor=ffd77d00
+VcsBase_FileUnmerged_TextColor=ffee0000
+
+Bookmarks_TextMarkColor=ffa0a0ff
+
+TextEditor_SearchResult_ScrollBarColor=ff00c000
+TextEditor_CurrentLine_ScrollBarColor=ff404040
+
+ProjectExplorer_TaskError_TextMarkColor=error
+ProjectExplorer_TaskWarn_TextMarkColor=warning
+
+CodeModel_Error_TextMarkColor=error
+CodeModel_Warning_TextMarkColor=warning
+
+;new colors
+QmlDesigner_BackgroundColor=qmlDesignerButtonColor
+QmlDesigner_HighlightColor=ff0492c9
+QmlDesigner_FormEditorSelectionColor=ffd3299a
+QmlDesigner_FormEditorForegroundColor=ffffffff
+QmlDesigner_BackgroundColorDarkAlternate=ffeaeaea
+QmlDesigner_BackgroundColorDarker=fff5f5f5
+QmlDesigner_BorderColor=splitter
+QmlDesigner_ButtonColor=f0f0f0
+QmlDesigner_TabDark=ff63676b
+QmlDesigner_TabLight=ffffffff
+QmlDesigner_FormeditorBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_AlternateBackgroundColor=qmlDesignerButtonColor
+
+;extra_new_colors
+QmlDesigner_FormeditorBackgroundColor=ff000000
+QmlDesigner_AlternateBackgroundColor=ffc14fc1
+QmlDesigner_ScrollBarHandleColor=ff8b8e8f
+
+;palette colors
+
+PaletteWindow=selectedBackground
+PaletteWindowText=text
+PaletteBase=normalBackground
+PaletteAlternateBase=alternateBackground
+PaletteButton=selectedBackground
+PaletteBrightText=selectedBackgroundText
+PaletteText=text
+PaletteButtonText=text
+PaletteButtonTextDisabled=textDisabled
+PaletteToolTipBase=selectedBackground
+
+PaletteHighlight=ff0492c9
+
+PaletteDark=shadowBackground
+PaletteHighlightedText=ffffffff
+PaletteToolTipText=text
+PaletteLink=textColorLink
+PaletteLinkVisited=textColorLinkVisited
+PaletteWindowDisabled=backgroundColorDisabled
+PaletteWindowTextDisabled=textDisabled
+PaletteBaseDisabled=backgroundColorDisabled
+PaletteTextDisabled=textDisabled
+
+[Flags]
+ComboBoxDrawTextShadow=false
+DerivePaletteFromTheme=true
+DrawIndicatorBranch=true
+DrawSearchResultWidgetFrame=false
+DrawTargetSelectorBottom=false
+DrawToolBarHighlights=false
+DrawToolBarBorders=true
+ApplyThemePaletteGlobally=true
+FlatToolBars=true
+FlatSideBarIcons=true
+FlatProjectsMode=false
+FlatMenuBar=true
+ToolBarIconShadow=false
+WindowColorAsBase=false
+DarkUserInterface=false
+
+[Gradients]
+DetailsWidgetHeaderGradient\1\color=00000000
+DetailsWidgetHeaderGradient\1\pos=1
+DetailsWidgetHeaderGradient\size=1
diff --git a/rsc/theme/design.creatortheme b/rsc/theme/design.creatortheme
new file mode 100644
index 0000000000000000000000000000000000000000..daffe924a6ae63149a9e5262c415c9f80e104356
--- /dev/null
+++ b/rsc/theme/design.creatortheme
@@ -0,0 +1,503 @@
+[General]
+ThemeName=Design Dark
+PreferredStyles=Fusion
+DefaultTextEditorColorScheme=creator-dark.xml
+
+[Palette]
+shadowBackground=ff1f1f1f
+text=ffdadada
+textDisabled=60a4a6a8
+selectedBackgroundText=aa1f75cc
+toolBarItem=ffb3b3b3
+toolBarItemDisabled=ff686868
+fancyBarsNormalTextColor=ffd0d0d0
+fancyBarsBoldTextColor=b6fbfdff
+hoverBackground=ff404244
+selectedBackground=ff111111
+normalBackground=ff262728
+alternateBackground=ff353637
+error=ffdf4f4f
+warning=ffecbc1c
+splitter=ff474747
+textColorLink=ff007af4
+textColorLinkVisited=ffa57aff
+backgroundColorDisabled=ff444444
+
+[Colors]
+;DS controls theme START
+DSpanelBackground=ff323232
+
+DSinteraction=ff2aafd3
+DSerrorColor=ffdf3a3a
+DSdisabledColor=ff707070
+
+DScontrolBackground=ff323232
+DScontrolBackgroundInteraction=ff595959
+DScontrolBackgroundDisabled=ff323232
+DScontrolBackgroundGlobalHover=ff474747
+DScontrolBackgroundHover=ff666666
+
+DScontrolOutline=ff1f1f1f
+DScontrolOutlineInteraction=ff2aafd3
+DScontrolOutlineDisabled=ff707070
+
+DStextColor=ffffffff
+DStextColorDisabled=ff707070
+DStextSelectionColor=ff2aafd3
+DStextSelectedTextColor=ff000000
+
+DSplaceholderTextColor=ffffffff
+DSplaceholderTextColorInteraction=ffababab
+
+DSiconColor=ffffffff
+DSiconColorHover=ff262626
+DSiconColorInteraction=ff707070
+DSiconColorDisabled=ff707070
+DSiconColorSelected=ff2aafd3
+
+DSlinkIndicatorColor=ff808080
+DSlinkIndicatorColorHover=ffffffff
+DSlinkIndicatorColorInteraction=ff2aafd3
+DSlinkIndicatorColorDisabled=ff707070
+
+DSpopupBackground=ff474747
+DSpopupOverlayColor=99191919
+
+DSsliderActiveTrack=ff7c7b7b
+DSsliderActiveTrackHover=ff000000
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrack=ff595959
+DSsliderInactiveTrackHover=ff505050
+DSsliderInactiveTrackFocus=ff606060
+DSsliderHandle=ff1f1f1f
+DSsliderHandleHover=ff606060
+DSsliderHandleFocus=ff0492c9
+DSsliderHandleInteraction=ff2aafd3
+
+DSscrollBarTrack=ff404040
+DSscrollBarHandle=ff505050
+
+DSsectionHeadBackground=ff1f1f1f
+
+DSstateDefaultHighlight=ffffe400
+DSstateSeparatorColor=ff7c7b7b
+DSstateBackgroundColor=ff383838
+DSstatePreviewOutline=ffaaaaaa
+
+DSchangedStateText=ff99ccff
+
+DS3DAxisXColor=ffd00000
+DS3DAxisYColor=ff009900
+DS3DAxisZColor=ff5050ff
+
+DSactionBinding=ff2aafd3
+DSactionAlias=fff93a3a
+DSactionKeyframe=ffe0e01b
+DSactionJIT=ff2db543
+
+DStableHeaderBackground=ffff0000
+DStableHeaderText=ff00ff00
+
+DSdockContainerBackground=ff323232
+DSdockContainerSplitter=ff323232
+DSdockAreaBackground=ff262728
+
+DSdockWidgetBackground=ff00ff00
+DSdockWidgetSplitter=ff595959
+DSdockWidgetTitleBar=ff1f1f1f
+
+DStitleBarText=ffdadada
+DStitleBarIcon=ffffffff
+DStitleBarButtonHover=40ffffff
+DStitleBarButtonPress=60ffffff
+
+DStabContainerBackground=ff0000ff
+DStabSplitter=ff595959
+
+DStabInactiveBackground=ff1f1f1f
+DStabInactiveText=ffdadada
+DStabInactiveIcon=ffffffff
+DStabInactiveButtonHover=ff1f1f1f
+DStabInactiveButtonPress=ff1f1f1f
+
+DStabActiveBackground=ffdadada
+DStabActiveText=ff111111
+DStabActiveIcon=ff000000
+DStabActiveButtonHover=ffdadada
+DStabActiveButtonPress=ffdadada
+
+DStabFocusBackground=ff2aafd3
+DStabFocusText=ff111111
+DStabFocusIcon=ff000000
+DStabFocusButtonHover=ff2aafd3
+DStabFocusButtonPress=ff2aafd3
+
+DSnavigatorBranch=ff7c7b7b
+DSnavigatorBranchIndicator=ff7c7b7b
+DSnavigatorItemBackground=ff262626
+DSnavigatorItemBackgroundHover=ff666666
+DSnavigatorItemBackgroundSelected=ff1f1f1f
+DSnavigatorText=ffffffff
+DSnavigatorTextHover=ff1f1f1f
+DSnavigatorTextSelected=ff2aafd3
+DSnavigatorIcon=ffffffff
+DSnavigatorIconHover=ff1f1f1f
+DSnavigatorIconSelected=ff7c7b7b
+DSnavigatorAliasIconChecked=ffff0000
+DSnavigatorDropIndicatorBackground=ff2aafd3
+DSnavigatorDropIndicatorOutline=ff2aafd3
+
+DSheaderViewBackground=ff1f1f1f
+DStableViewAlternateBackground=ff00ff00
+
+DStoolTipBackground=ff111111
+DStoolTipOutline=ffdadada
+DStoolTipText=ffdadada
+
+DSUnimportedModuleColor=ffe33c2e
+
+;DS controls theme END
+
+BackgroundColorAlternate=alternateBackground
+BackgroundColorDark=shadowBackground
+BackgroundColorHover=hoverBackground
+BackgroundColorNormal=normalBackground
+BackgroundColorDisabled=backgroundColorDisabled
+BackgroundColorSelected=selectedBackground
+BadgeLabelBackgroundColorChecked=ffe0e0e0
+BadgeLabelBackgroundColorUnchecked=ff808080
+BadgeLabelTextColorChecked=ff606060
+BadgeLabelTextColorUnchecked=ffffffff
+CanceledSearchTextColor=ff0000
+ComboBoxArrowColor=toolBarItem
+ComboBoxArrowColorDisabled=toolBarItemDisabled
+ComboBoxTextColor=fancyBarsNormalTextColor
+DetailsButtonBackgroundColorHover=22ffffff
+DetailsWidgetBackgroundColor=18ffffff
+DockWidgetResizeHandleColor=splitter
+DoubleTabWidget1stSeparatorColor=splitter
+DoubleTabWidget1stTabActiveTextColor=text
+DoubleTabWidget1stTabBackgroundColor=ff505050
+DoubleTabWidget1stTabInactiveTextColor=text
+DoubleTabWidget2ndSeparatorColor=toolBarItemDisabled
+DoubleTabWidget2ndTabActiveTextColor=text
+DoubleTabWidget2ndTabBackgroundColor=selectedBackground
+DoubleTabWidget2ndTabInactiveTextColor=text
+EditorPlaceholderColor=normalBackground
+FancyToolBarSeparatorColor=toolBarItemDisabled
+FancyTabBarBackgroundColor=shadowBackground
+FancyTabBarSelectedBackgroundColor=ff000000
+FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
+FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
+FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
+FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
+FancyToolButtonHoverColor=hoverBackground
+FancyToolButtonSelectedColor=selectedBackground
+FutureProgressBackgroundColor=shadowBackground
+IconsBaseColor=toolBarItem
+IconsDisabledColor=toolBarItemDisabled
+IconsInfoColor=ff3099dc
+IconsInfoToolBarColor=ff71b2db
+IconsWarningColor=warning
+IconsWarningToolBarColor=fff2d76e
+IconsErrorColor=error
+IconsErrorToolBarColor=ffdb6f71
+IconsRunColor=ff6da838
+IconsRunToolBarColor=ff93be6c
+IconsStopColor=ffee6969
+IconsStopToolBarColor=ffe27f7f
+IconsInterruptColor=ff587ff7
+IconsInterruptToolBarColor=ff6a7bc3
+IconsDebugColor=toolBarItem
+IconsNavigationArrowsColor=ffebc322
+IconsBuildHammerHandleColor=ffb06112
+IconsBuildHammerHeadColor=ff828384
+IconsModeWelcomeActiveColor=ff1f6c97
+IconsModeEditActiveColor=ff99aaef
+IconsModeDesignActiveColor=ffbb6000
+IconsModeDebugActiveColor=ff99aaef
+IconsModeProjectActiveColor=ff1f6c97
+IconsModeAnalyzeActiveColor=ff43adee
+IconsModeHelpActiveColor=fff4be04
+IconsCodeModelKeywordColor=ff777777
+IconsCodeModelClassColor=ffc0b550
+IconsCodeModelStructColor=ff53b053
+IconsCodeModelFunctionColor=ffd34373
+IconsCodeModelVariableColor=ff2bbbcc
+IconsCodeModelEnumColor=ffc0b550
+IconsCodeModelMacroColor=ff476ba0
+IconsCodeModelAttributeColor=ff316511
+IconsCodeModelUniformColor=ff994899
+IconsCodeModelVaryingColor=ffa08833
+IconsCodeModelOverlayBackgroundColor=70000000
+IconsCodeModelOverlayForegroundColor=ffd0d0d0
+InfoBarBackground=ff505000
+InfoBarText=text
+MenuBarEmptyAreaBackgroundColor=shadowBackground
+MenuBarItemBackgroundColor=shadowBackground
+MenuBarItemTextColorDisabled=textDisabled
+MenuBarItemTextColorNormal=text
+MenuItemTextColorDisabled=textDisabled
+MenuItemTextColorNormal=text
+MiniProjectTargetSelectorBackgroundColor=shadowBackground
+MiniProjectTargetSelectorBorderColor=shadowBackground
+MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
+MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
+PanelStatusBarBackgroundColor=shadowBackground
+PanelsWidgetSeparatorLineColor=000000
+PanelTextColorDark=text
+PanelTextColorMid=ffa0a0a0
+PanelTextColorLight=text
+ProgressBarColorError=error
+ProgressBarColorFinished=dda4d576
+ProgressBarColorNormal=ff999999
+ProgressBarTitleColor=fancyBarsBoldTextColor
+ProgressBarBackgroundColor=a0606060
+SplitterColor=splitter
+TextColorDisabled=textDisabled
+TextColorError=ffff4040
+TextColorHighlight=ffff0000
+TextColorHighlightBackground=8a7f2c
+TextColorLink=textColorLink
+TextColorLinkVisited=textColorLinkVisited
+TextColorNormal=text
+ToggleButtonBackgroundColor=shadowBackground
+ToolBarBackgroundColor=shadowBackground
+TreeViewArrowColorNormal=hoverBackground
+TreeViewArrowColorSelected=text
+
+OutputPanes_DebugTextColor=text
+OutputPanes_ErrorMessageTextColor=ffff6c6c
+OutputPanes_MessageOutput=ff008787
+OutputPanes_NormalMessageTextColor=ff008787
+OutputPanes_StdErrTextColor=ffff6666
+OutputPanes_StdOutTextColor=text
+OutputPanes_WarningMessageTextColor=fff3c300
+OutputPanes_TestPassTextColor=ff00b400
+OutputPanes_TestFailTextColor=ffcf4848
+OutputPanes_TestXFailTextColor=ff28dc28
+OutputPanes_TestXPassTextColor=ffdc2828
+OutputPanes_TestSkipTextColor=ff828282
+OutputPanes_TestWarnTextColor=ffc8c800
+OutputPanes_TestFatalTextColor=ffc82828
+OutputPanes_TestDebugTextColor=ff329696
+OutputPaneButtonFlashColor=error
+OutputPaneToggleButtonTextColorChecked=fancyBarsNormalTextColor
+OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
+
+Debugger_LogWindow_LogInput=ff00acac
+Debugger_LogWindow_LogStatus=ff00875a
+Debugger_LogWindow_LogTime=ffbf0303
+
+Debugger_WatchItem_ValueNormal=text
+Debugger_WatchItem_ValueInvalid=textDisabled
+Debugger_WatchItem_ValueChanged=ffff6666
+
+Debugger_Breakpoint_TextMarkColor=ffff4040
+
+Welcome_TextColor=text
+Welcome_ForegroundPrimaryColor=ff999999
+Welcome_ForegroundSecondaryColor=ff808080
+Welcome_BackgroundColor=normalBackground
+Welcome_ButtonBackgroundColor=normalBackground
+Welcome_DividerColor=ff555555
+Welcome_HoverColor=ff444444
+Welcome_LinkColor=ff7fc63c
+Welcome_DisabledLinkColor=textDisabled
+
+Timeline_TextColor=text
+Timeline_BackgroundColor1=normalBackground
+Timeline_BackgroundColor2=ff444444
+Timeline_DividerColor=ff555555
+Timeline_HighlightColor=ff3099dc
+Timeline_PanelBackgroundColor=ff808080
+Timeline_PanelHeaderColor=alternateBackground
+Timeline_HandleColor=alternateBackground
+Timeline_RangeColor=selectedBackground
+
+VcsBase_FileStatusUnknown_TextColor=text
+VcsBase_FileAdded_TextColor=ff00ff00
+VcsBase_FileModified_TextColor=ff8ee0ff
+VcsBase_FileDeleted_TextColor=fffff6c6c
+VcsBase_FileRenamed_TextColor=ffffa500
+VcsBase_FileUnmerged_TextColor=ffff4040
+
+Bookmarks_TextMarkColor=ff8080ff
+
+TextEditor_SearchResult_ScrollBarColor=ff00c000
+TextEditor_CurrentLine_ScrollBarColor=ffffffff
+
+ProjectExplorer_TaskError_TextMarkColor=error
+ProjectExplorer_TaskWarn_TextMarkColor=warning
+
+CodeModel_Error_TextMarkColor=error
+CodeModel_Warning_TextMarkColor=warning
+
+
+;Designer Main colors
+
+; Design View panel backgrounds - Library, Form Viewer, Properties, States, Timeline & Connections. - lOOKS LIKE IS NO LONGER USED.
+QmlDesigner_BackgroundColor=ff4c4e50
+;QmlDesigner_BackgroundColor=ffd3299a
+
+
+; Design View selected items - Navigator Selection, Timeline Property Selection, TImeline bar, property text highlighted
+QmlDesigner_HighlightColor=ff0492c9
+
+
+
+; live selection color for the form editors smart guides.
+;QmlDesigner_FormEditorSelectionColor=ff4ba2ff
+QmlDesigner_FormEditorSelectionColor=ffd3299a
+
+
+;color for lable text in form editor
+QmlDesigner_FormEditorForegroundColor=ffdadada
+;QmlDesigner_FormEditorForegroundColor=ffd3299a
+
+
+
+
+;new colors
+
+;background color for main form view, library, navigator, properties, connections
+;QmlDesigner_BackgroundColorDarkAlternate=ff4c4e50
+QmlDesigner_BackgroundColorDarkAlternate=ff323232
+
+;filter outlines, override W/H outlines, properties spinbox background, timeline separators.
+;QmlDesigner_BackgroundColorDarker=ff262728
+QmlDesigner_BackgroundColorDarker=ff191919
+
+;properties outlines, states thumbnail outlines, add state button outlines.
+;QmlDesigner_BorderColor=splitter
+QmlDesigner_BorderColor=ff353535
+
+;background sqaures for components, effects, etc. Handles for scrollbars, type background in properties.
+;QmlDesigner_ButtonColor=ff595b5c
+QmlDesigner_ButtonColor=ff353535
+
+
+;non - selected tabs, text color for selected tabs.
+;QmlDesigner_TabDark=shadowBackground
+QmlDesigner_TabDark=ff111111
+
+
+;active tab backgrounds and non selected tab text.
+QmlDesigner_TabLight=text
+;QmlDesigner_TabLight=ff262626
+
+;extra_new_colors
+
+
+QmlDesigner_FormeditorBackgroundColor=ff000000
+
+QmlDesigner_AlternateBackgroundColor=ffc14fc1
+
+QmlDesigner_ScrollBarHandleColor=ff595b5c
+
+
+
+;palette colors
+
+;outline colors on the combo box, zoom slider, dialog outlines, on loading project the whole screen flashes this color
+;PaletteWindow=normalBackground
+PaletteWindow=ff262626
+
+
+
+; item text for search results panel and application output panel, twirl down triangles in edit mode, text editor.
+PaletteWindowText=text
+;PaletteWindowText=ffd3299a
+
+
+;Search bar background, edit view project list background, style combo box background
+PaletteBase=normalBackground
+;PaletteBase=ff191919
+
+
+
+;can't see where this is used.
+PaletteAlternateBase=alternateBackground
+;PaletteAlternateBase=ffd3299a
+
+
+
+;flow tag backgrounds, import combobox background, edit mode scrollbars
+;PaletteButton=shadowBackground
+PaletteButton=ff262626
+
+
+
+;alternate text in the search and application output panel - NO LONGER SEEMS TO DO ANYTHING
+PaletteBrightText=ffff3333
+;PaletteBrightText=ffd3299a
+
+
+; text inside dropdown combo boxes, styles, connections.
+PaletteText=text
+;PaletteText=ffd3299a
+
+
+
+; text for ticks for tick boxes.
+PaletteButtonText=text
+;PaletteButtonText=ffd3299a
+
+
+PaletteButtonTextDisabled=textDisabled
+
+
+;background color for the tool tip hover background
+PaletteToolTipBase=selectedBackground
+;PaletteToolTipBase=ffd3299a
+
+
+;the selection highlight on the dropdown combo box in the file selection top menu and connections panel and tab mode selector dropdowns
+PaletteHighlight=selectedBackgroundText
+
+
+; outline of warning in editor mode, underline of "open a document" page in the edit mode
+PaletteDark=shadowBackground
+;PaletteDark=ffd3299a
+
+
+;selected text highlight in edit and design studio modes
+PaletteHighlightedText=ffffffff
+;PaletteHighlightedText=ffd3299a
+
+
+; text for for floating tool tips
+PaletteToolTipText=text
+;PaletteToolTipText=ffd3299a
+
+
+PaletteLink=textColorLink
+PaletteLinkVisited=textColorLinkVisited
+PaletteWindowDisabled=backgroundColorDisabled
+PaletteWindowTextDisabled=textDisabled
+PaletteBaseDisabled=backgroundColorDisabled
+PaletteTextDisabled=textDisabled
+PaletteMid=ffafafaf
+PalettePlaceholderText=ff808081
+
+[Flags]
+ComboBoxDrawTextShadow=false
+DerivePaletteFromTheme=true
+DrawIndicatorBranch=true
+DrawSearchResultWidgetFrame=false
+DrawTargetSelectorBottom=false
+DrawToolBarHighlights=false
+DrawToolBarBorders=false
+ApplyThemePaletteGlobally=true
+FlatToolBars=true
+FlatSideBarIcons=true
+FlatProjectsMode=true
+FlatMenuBar=true
+ToolBarIconShadow=true
+WindowColorAsBase=false
+DarkUserInterface=true
+
+[Gradients]
+DetailsWidgetHeaderGradient\1\color=00000000
+DetailsWidgetHeaderGradient\1\pos=1
+DetailsWidgetHeaderGradient\size=1
diff --git a/rsc/theme/flat-dark.creatortheme b/rsc/theme/flat-dark.creatortheme
new file mode 100644
index 0000000000000000000000000000000000000000..6265003f1df32e9495cb6f2ee12b181c3655c540
--- /dev/null
+++ b/rsc/theme/flat-dark.creatortheme
@@ -0,0 +1,395 @@
+[General]
+ThemeName=Flat Dark
+PreferredStyles=Fusion
+DefaultTextEditorColorScheme=creator-dark.xml
+
+[Palette]
+shadowBackground=ff404142
+text=ffd0d0d0
+textDisabled=60a4a6a8
+textHighlighted=fff0f0f0
+toolBarItem=bcfbfdff
+toolBarItemDisabled=56a5a6a7
+fancyBarsNormalTextColor=ffd0d0d0
+fancyBarsBoldTextColor=b6fbfdff
+hoverBackground=28ffffff
+selectedBackground=7a000000
+selectedBackgroundText=ff1d545c
+normalBackground=ff2E2F30
+alternateBackground=ff353637
+error=ffdf4f4f
+warning=ffecbc1c
+splitter=ff06080A
+textColorLink=ff007af4
+textColorLinkVisited=ffa57aff
+backgroundColorDisabled=ff444444
+qmlDesignerButtonColor=ff4c4e50
+
+[Colors]
+;DS controls theme START
+DSpanelBackground=ff323232
+
+DSinteraction=ff2aafd3
+DSerrorColor=ffdf3a3a
+DSdisabledColor=ff707070
+
+DScontrolBackground=ff323232
+DScontrolBackgroundInteraction=ff595959
+DScontrolBackgroundDisabled=ff323232
+DScontrolBackgroundGlobalHover=ff474747
+DScontrolBackgroundHover=ff666666
+
+DScontrolOutline=ff1f1f1f
+DScontrolOutlineInteraction=ff2aafd3
+DScontrolOutlineDisabled=ff707070
+
+DStextColor=ffffffff
+DStextColorDisabled=ff707070
+DStextSelectionColor=ff2aafd3
+DStextSelectedTextColor=ff000000
+
+DSplaceholderTextColor=ffffffff
+DSplaceholderTextColorInteraction=ffababab
+
+DSiconColor=ffffffff
+DSiconColorHover=ff262626
+DSiconColorInteraction=ff707070
+DSiconColorDisabled=ff707070
+DSiconColorSelected=ff2aafd3
+
+DSlinkIndicatorColor=ff808080
+DSlinkIndicatorColorHover=ffffffff
+DSlinkIndicatorColorInteraction=ff2aafd3
+DSlinkIndicatorColorDisabled=ff707070
+
+DSpopupBackground=ff474747
+DSpopupOverlayColor=99191919
+
+DSsliderActiveTrack=ff7c7b7b
+DSsliderActiveTrackHover=ff000000
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrack=ff595959
+DSsliderInactiveTrackHover=ff505050
+DSsliderInactiveTrackFocus=ff606060
+DSsliderHandle=ff1f1f1f
+DSsliderHandleHover=ff606060
+DSsliderHandleFocus=ff0492c9
+DSsliderHandleInteraction=ff2aafd3
+
+DSscrollBarTrack=ff404040
+DSscrollBarHandle=ff505050
+
+DSsectionHeadBackground=ff1f1f1f
+
+DSstateDefaultHighlight=ffffe400
+DSstateSeparatorColor=ff7c7b7b
+DSstateBackgroundColor=ff383838
+DSstatePreviewOutline=ffaaaaaa
+
+DSchangedStateText=ff99ccff
+
+DS3DAxisXColor=ffd00000
+DS3DAxisYColor=ff009900
+DS3DAxisZColor=ff5050ff
+
+DSactionBinding=ff2aafd3
+DSactionAlias=fff93a3a
+DSactionKeyframe=ffe0e01b
+DSactionJIT=ff2db543
+
+DStableHeaderBackground=ffff0000
+DStableHeaderText=ff00ff00
+
+DSdockContainerBackground=ff323232
+DSdockContainerSplitter=ff323232
+DSdockAreaBackground=ff262728
+
+DSdockWidgetBackground=ff00ff00
+DSdockWidgetSplitter=ff595959
+DSdockWidgetTitleBar=ff1f1f1f
+
+DStitleBarText=ffdadada
+DStitleBarIcon=ffffffff
+DStitleBarButtonHover=40ffffff
+DStitleBarButtonPress=60ffffff
+
+DStabContainerBackground=ff0000ff
+DStabSplitter=ff595959
+
+DStabInactiveBackground=ff1f1f1f
+DStabInactiveText=ffdadada
+DStabInactiveIcon=ffffffff
+DStabInactiveButtonHover=ff1f1f1f
+DStabInactiveButtonPress=ff1f1f1f
+
+DStabActiveBackground=ffdadada
+DStabActiveText=ff111111
+DStabActiveIcon=ff000000
+DStabActiveButtonHover=ffdadada
+DStabActiveButtonPress=ffdadada
+
+DStabFocusBackground=ff2aafd3
+DStabFocusText=ff111111
+DStabFocusIcon=ff000000
+DStabFocusButtonHover=ff2aafd3
+DStabFocusButtonPress=ff2aafd3
+
+DSnavigatorBranch=ff7c7b7b
+DSnavigatorBranchIndicator=ff7c7b7b
+DSnavigatorItemBackground=ff262626
+DSnavigatorItemBackgroundHover=ff666666
+DSnavigatorItemBackgroundSelected=ff1f1f1f
+DSnavigatorText=ffffffff
+DSnavigatorTextHover=ff1f1f1f
+DSnavigatorTextSelected=ff2aafd3
+DSnavigatorIcon=ffffffff
+DSnavigatorIconHover=ff1f1f1f
+DSnavigatorIconSelected=ff7c7b7b
+DSnavigatorAliasIconChecked=ffff0000
+DSnavigatorDropIndicatorBackground=ff2aafd3
+DSnavigatorDropIndicatorOutline=ff2aafd3
+
+DSheaderViewBackground=ff1f1f1f
+DStableViewAlternateBackground=ff00ff00
+
+DStoolTipBackground=ff111111
+DStoolTipOutline=ffdadada
+DStoolTipText=ffdadada
+
+DSUnimportedModuleColor=ffe33c2e
+
+;DS controls theme END
+
+BackgroundColorAlternate=alternateBackground
+BackgroundColorDark=shadowBackground
+BackgroundColorHover=hoverBackground
+BackgroundColorNormal=normalBackground
+BackgroundColorDisabled=backgroundColorDisabled
+BackgroundColorSelected=selectedBackground
+BadgeLabelBackgroundColorChecked=ffe0e0e0
+BadgeLabelBackgroundColorUnchecked=ff808080
+BadgeLabelTextColorChecked=ff606060
+BadgeLabelTextColorUnchecked=ffffffff
+CanceledSearchTextColor=ff0000
+ComboBoxArrowColor=toolBarItem
+ComboBoxArrowColorDisabled=toolBarItemDisabled
+ComboBoxTextColor=fancyBarsNormalTextColor
+DetailsButtonBackgroundColorHover=22ffffff
+DetailsWidgetBackgroundColor=18ffffff
+DockWidgetResizeHandleColor=splitter
+DoubleTabWidget1stSeparatorColor=splitter
+DoubleTabWidget1stTabActiveTextColor=text
+DoubleTabWidget1stTabBackgroundColor=ff505050
+DoubleTabWidget1stTabInactiveTextColor=text
+DoubleTabWidget2ndSeparatorColor=toolBarItemDisabled
+DoubleTabWidget2ndTabActiveTextColor=text
+DoubleTabWidget2ndTabBackgroundColor=selectedBackground
+DoubleTabWidget2ndTabInactiveTextColor=text
+EditorPlaceholderColor=normalBackground
+FancyToolBarSeparatorColor=toolBarItemDisabled
+FancyTabBarBackgroundColor=shadowBackground
+FancyTabBarSelectedBackgroundColor=selectedBackground
+FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
+FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
+FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
+FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
+FancyToolButtonHoverColor=hoverBackground
+FancyToolButtonSelectedColor=selectedBackground
+FutureProgressBackgroundColor=shadowBackground
+IconsBaseColor=toolBarItem
+IconsDisabledColor=toolBarItemDisabled
+IconsInfoColor=ff3099dc
+IconsInfoToolBarColor=ff71b2db
+IconsWarningColor=warning
+IconsWarningToolBarColor=fff2d76e
+IconsErrorColor=error
+IconsErrorToolBarColor=ffdb6f71
+IconsRunColor=ff6da838
+IconsRunToolBarColor=ff93be6c
+IconsStopColor=ffee6969
+IconsStopToolBarColor=ffe27f7f
+IconsInterruptColor=ff587ff7
+IconsInterruptToolBarColor=ff6a7bc3
+IconsDebugColor=toolBarItem
+IconsNavigationArrowsColor=ffebc322
+IconsBuildHammerHandleColor=ffb06112
+IconsBuildHammerHeadColor=ff828384
+IconsModeWelcomeActiveColor=ff80c342
+IconsModeEditActiveColor=ff99aaef
+IconsModeDesignActiveColor=ffbb6000
+IconsModeDebugActiveColor=ff99aaef
+IconsModeProjectActiveColor=ff80c342
+IconsModeAnalyzeActiveColor=ff43adee
+IconsModeHelpActiveColor=fff4be04
+IconsCodeModelKeywordColor=ff777777
+IconsCodeModelClassColor=ffc0b550
+IconsCodeModelStructColor=ff53b053
+IconsCodeModelFunctionColor=ffd34373
+IconsCodeModelVariableColor=ff2bbbcc
+IconsCodeModelEnumColor=ffc0b550
+IconsCodeModelMacroColor=ff476ba0
+IconsCodeModelAttributeColor=ff316511
+IconsCodeModelUniformColor=ff994899
+IconsCodeModelVaryingColor=ffa08833
+IconsCodeModelOverlayBackgroundColor=70000000
+IconsCodeModelOverlayForegroundColor=ffd0d0d0
+InfoBarBackground=ff505000
+InfoBarText=text
+MenuBarEmptyAreaBackgroundColor=shadowBackground
+MenuBarItemBackgroundColor=shadowBackground
+MenuBarItemTextColorDisabled=textDisabled
+MenuBarItemTextColorNormal=text
+MenuItemTextColorDisabled=textDisabled
+MenuItemTextColorNormal=text
+MiniProjectTargetSelectorBackgroundColor=shadowBackground
+MiniProjectTargetSelectorBorderColor=shadowBackground
+MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
+MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
+PanelStatusBarBackgroundColor=shadowBackground
+PanelsWidgetSeparatorLineColor=000000
+PanelTextColorDark=text
+PanelTextColorMid=ffa0a0a0
+PanelTextColorLight=text
+ProgressBarColorError=error
+ProgressBarColorFinished=dda4d576
+ProgressBarColorNormal=ff999999
+ProgressBarTitleColor=fancyBarsBoldTextColor
+ProgressBarBackgroundColor=a0606060
+SplitterColor=splitter
+TextColorDisabled=textDisabled
+TextColorError=ffff4040
+TextColorHighlight=ffff0000
+TextColorHighlightBackground=7a6f1c
+TextColorLink=textColorLink
+TextColorLinkVisited=textColorLinkVisited
+TextColorNormal=text
+ToggleButtonBackgroundColor=shadowBackground
+ToolBarBackgroundColor=shadowBackground
+TreeViewArrowColorNormal=hoverBackground
+TreeViewArrowColorSelected=text
+
+OutputPanes_DebugTextColor=text
+OutputPanes_ErrorMessageTextColor=ffff6c6c
+OutputPanes_MessageOutput=ff008787
+OutputPanes_NormalMessageTextColor=ff008787
+OutputPanes_StdErrTextColor=ffff6666
+OutputPanes_StdOutTextColor=text
+OutputPanes_WarningMessageTextColor=fff3c300
+OutputPanes_TestPassTextColor=ff00b400
+OutputPanes_TestFailTextColor=ffcf4848
+OutputPanes_TestXFailTextColor=ff28dc28
+OutputPanes_TestXPassTextColor=ffdc2828
+OutputPanes_TestSkipTextColor=ff828282
+OutputPanes_TestWarnTextColor=ffc8c800
+OutputPanes_TestFatalTextColor=ffc82828
+OutputPanes_TestDebugTextColor=ff329696
+OutputPaneButtonFlashColor=error
+OutputPaneToggleButtonTextColorChecked=textHighlighted
+OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
+
+Debugger_LogWindow_LogInput=ff00acac
+Debugger_LogWindow_LogStatus=ff00875a
+Debugger_LogWindow_LogTime=ffbf0303
+
+Debugger_WatchItem_ValueNormal=text
+Debugger_WatchItem_ValueInvalid=textDisabled
+Debugger_WatchItem_ValueChanged=ffff6666
+
+Debugger_Breakpoint_TextMarkColor=ffff4040
+
+Welcome_TextColor=text
+Welcome_ForegroundPrimaryColor=ff999999
+Welcome_ForegroundSecondaryColor=ff808080
+Welcome_BackgroundColor=normalBackground
+Welcome_ButtonBackgroundColor=normalBackground
+Welcome_DividerColor=ff555555
+Welcome_HoverColor=ff444444
+Welcome_LinkColor=ff7fc63c
+Welcome_DisabledLinkColor=textDisabled
+
+Timeline_TextColor=text
+Timeline_BackgroundColor1=normalBackground
+Timeline_BackgroundColor2=ff444444
+Timeline_DividerColor=ff555555
+Timeline_HighlightColor=ff3099dc
+Timeline_PanelBackgroundColor=ff808080
+Timeline_PanelHeaderColor=alternateBackground
+Timeline_HandleColor=alternateBackground
+Timeline_RangeColor=selectedBackground
+
+VcsBase_FileStatusUnknown_TextColor=text
+VcsBase_FileAdded_TextColor=ff00ff00
+VcsBase_FileModified_TextColor=ff8ee0ff
+VcsBase_FileDeleted_TextColor=fffff6c6c
+VcsBase_FileRenamed_TextColor=ffffa500
+VcsBase_FileUnmerged_TextColor=ffff4040
+
+Bookmarks_TextMarkColor=ff8080ff
+
+TextEditor_SearchResult_ScrollBarColor=ff00c000
+TextEditor_CurrentLine_ScrollBarColor=ffffffff
+
+ProjectExplorer_TaskError_TextMarkColor=error
+ProjectExplorer_TaskWarn_TextMarkColor=warning
+
+CodeModel_Error_TextMarkColor=error
+CodeModel_Warning_TextMarkColor=warning
+
+QmlDesigner_BackgroundColor=qmlDesignerButtonColor
+QmlDesigner_HighlightColor=ff1d545c
+QmlDesigner_FormEditorSelectionColor=ff4ba2ff
+QmlDesigner_FormEditorForegroundColor=ffffffff
+QmlDesigner_BackgroundColorDarkAlternate=ff323232
+QmlDesigner_BackgroundColorDarker=ff262728
+QmlDesigner_BorderColor=splitter
+QmlDesigner_ButtonColor=ff595b5c
+QmlDesigner_TabDark=shadowBackground
+QmlDesigner_TabLight=text
+QmlDesigner_FormeditorBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_AlternateBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_ScrollBarHandleColor=ff595b5c
+
+PaletteWindow=normalBackground
+PaletteWindowText=text
+PaletteBase=normalBackground
+PaletteAlternateBase=alternateBackground
+PaletteButton=shadowBackground
+PaletteBrightText=ffff3333
+PaletteText=text
+PaletteButtonText=text
+PaletteButtonTextDisabled=textDisabled
+PaletteToolTipBase=shadowBackground
+PaletteHighlight=selectedBackgroundText
+PaletteDark=shadowBackground
+PaletteHighlightedText=textHighlighted
+PaletteToolTipText=text
+PaletteLink=textColorLink
+PaletteLinkVisited=textColorLinkVisited
+PaletteWindowDisabled=backgroundColorDisabled
+PaletteWindowTextDisabled=textDisabled
+PaletteBaseDisabled=backgroundColorDisabled
+PaletteTextDisabled=textDisabled
+PaletteMid=ffa0a0a0
+PalettePlaceholderText=ff7f7f80
+
+[Flags]
+ComboBoxDrawTextShadow=false
+DerivePaletteFromTheme=true
+DrawIndicatorBranch=true
+DrawSearchResultWidgetFrame=false
+DrawTargetSelectorBottom=false
+DrawToolBarHighlights=false
+DrawToolBarBorders=false
+ApplyThemePaletteGlobally=true
+FlatToolBars=true
+FlatSideBarIcons=true
+FlatProjectsMode=true
+FlatMenuBar=true
+ToolBarIconShadow=true
+WindowColorAsBase=false
+DarkUserInterface=true
+
+[Gradients]
+DetailsWidgetHeaderGradient\1\color=00000000
+DetailsWidgetHeaderGradient\1\pos=1
+DetailsWidgetHeaderGradient\size=1
diff --git a/rsc/theme/flat-light.creatortheme b/rsc/theme/flat-light.creatortheme
new file mode 100644
index 0000000000000000000000000000000000000000..b98478d134db57bd0a0ca4bce03eb676e148fd78
--- /dev/null
+++ b/rsc/theme/flat-light.creatortheme
@@ -0,0 +1,368 @@
+[General]
+ThemeName=Flat Light
+PreferredStyles=
+
+[Palette]
+shadowBackground=ffe4e4e4
+text=ff000000
+textDisabled=55000000
+toolBarItem=a0010508
+toolBarItemDisabled=38000000
+fancyBarsNormalTextColor=ff000000
+fancyBarsBoldTextColor=a0010508
+hoverBackground=1a000000
+selectedBackground=a8ffffff
+normalBackground=ffffffff
+alternateBackground=ff515151
+stop_error=ffec7373
+run_success=ff52c23b
+splitter=ffbdbebf
+error=ffdf4f4f
+warning=ffecbc1c
+qmlDesignerButtonColor=fff8f8f8
+
+[Colors]
+;DS controls theme START
+DSpanelBackground=ffeaeaea
+
+DSinteraction=ff2aafd3
+DSerrorColor=ffdf3a3a
+DSdisabledColor=ff8e8e8e
+
+DScontrolBackground=ffeaeaea
+DScontrolBackgroundInteraction=ffc9c9c9
+DScontrolBackgroundDisabled=ffeaeaea
+DScontrolBackgroundGlobalHover=ffe5e5e5
+DScontrolBackgroundHover=ffd1d1d1
+
+DScontrolOutline=ffcecccc
+DScontrolOutlineInteraction=ff2aafd3
+DScontrolOutlineDisabled=ff707070
+
+DStextColor=ff262626
+DStextColorDisabled=ff707070
+DStextSelectionColor=ff2aafd3
+DStextSelectedTextColor=ff000000
+
+DSplaceholderTextColor=ff262626
+DSplaceholderTextColorInteraction=ffababab
+
+DSiconColor=ff262626
+DSiconColorHover=ff191919
+DSiconColorInteraction=ffffffff
+DSiconColorDisabled=ff707070
+DSiconColorSelected=ff2aafd3
+
+DSlinkIndicatorColor=ff808080
+DSlinkIndicatorColorHover=ff1f1f1f
+DSlinkIndicatorColorInteraction=ff2aafd3
+DSlinkIndicatorColorDisabled=ff707070
+
+DSpopupBackground=ffd3d3d3
+DSpopupOverlayColor=99191919
+
+DSsliderActiveTrack=ff7c7b7b
+DSsliderActiveTrackHover=ff000000
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrack=ffaaaaaa
+DSsliderInactiveTrackHover=ff505050
+DSsliderInactiveTrackFocus=ff606060
+DSsliderHandle=ff1f1f1f
+DSsliderHandleHover=ff606060
+DSsliderHandleFocus=ff0492c9
+DSsliderHandleInteraction=ff2aafd3
+
+DSscrollBarTrack=ffb5b4b4
+DSscrollBarHandle=ff9b9b9b
+
+DSsectionHeadBackground=ffd8d8d8
+
+DSstateDefaultHighlight=ffffe400
+DSstateSeparatorColor=ffadadad
+DSstateBackgroundColor=ffe0e0e0
+DSstatePreviewOutline=ff363636
+
+DSchangedStateText=ff99ccff
+
+DS3DAxisXColor=ffd00000
+DS3DAxisYColor=ff009900
+DS3DAxisZColor=ff5050ff
+
+DSactionBinding=ff2aafd3
+DSactionAlias=fff93a3a
+DSactionKeyframe=ffe0e01b
+DSactionJIT=ff2db543
+
+DStableHeaderBackground=ffff0000
+DStableHeaderText=ff00ff00
+
+DSdockContainerBackground=ff323232
+DSdockContainerSplitter=ff323232
+DSdockAreaBackground=ff262728
+
+DSdockWidgetBackground=ff00ff00
+DSdockWidgetSplitter=ff595959
+DSdockWidgetTitleBar=ffeaeaea
+
+DStitleBarText=ffdadada
+DStitleBarIcon=ff4f5052
+DStitleBarButtonHover=40ffffff
+DStitleBarButtonPress=60ffffff
+
+DStabContainerBackground=ff0000ff
+DStabSplitter=ff595959
+
+DStabInactiveBackground=ff999999
+DStabInactiveText=ff262626
+DStabInactiveIcon=ffffffff
+DStabInactiveButtonHover=ff1f1f1f
+DStabInactiveButtonPress=ff1f1f1f
+
+DStabActiveBackground=ffdadada
+DStabActiveText=ff111111
+DStabActiveIcon=ff000000
+DStabActiveButtonHover=ffdadada
+DStabActiveButtonPress=ffdadada
+
+DStabFocusBackground=ff2aafd3
+DStabFocusText=ff111111
+DStabFocusIcon=ff000000
+DStabFocusButtonHover=ff2aafd3
+DStabFocusButtonPress=ff2aafd3
+
+DSnavigatorBranch=ff7c7b7b
+DSnavigatorBranchIndicator=ff7c7b7b
+DSnavigatorItemBackground=ffd8d8d8
+DSnavigatorItemBackgroundHover=ffc2c2c2
+DSnavigatorItemBackgroundSelected=ffffffff
+DSnavigatorText=ff262626
+DSnavigatorTextHover=ff1f1f1f
+DSnavigatorTextSelected=ff2aafd3
+DSnavigatorIcon=ff1f1f1f
+DSnavigatorIconHover=ff1f1f1f
+DSnavigatorIconSelected=ff7c7b7b
+DSnavigatorAliasIconChecked=ffff0000
+DSnavigatorDropIndicatorBackground=ff2aafd3
+DSnavigatorDropIndicatorOutline=ff2aafd3
+
+DSheaderViewBackground=ffd8d8d8
+DStableViewAlternateBackground=ff00ff00
+
+DStoolTipBackground=ff111111
+DStoolTipOutline=ffdadada
+DStoolTipText=ffdadada
+
+DSUnimportedModuleColor=ffe33c2e
+
+;DS controls theme END
+
+BackgroundColorAlternate=alternateBackground
+BackgroundColorDark=shadowBackground
+BackgroundColorHover=hoverBackground
+BackgroundColorNormal=normalBackground
+BackgroundColorDisabled=ff444444
+BackgroundColorSelected=selectedBackground
+BadgeLabelBackgroundColorChecked=ffe0e0e0
+BadgeLabelBackgroundColorUnchecked=ff808080
+BadgeLabelTextColorChecked=ff606060
+BadgeLabelTextColorUnchecked=ffffffff
+CanceledSearchTextColor=ff0000
+ComboBoxArrowColor=toolBarItem
+ComboBoxArrowColorDisabled=toolBarItemDisabled
+ComboBoxTextColor=fancyBarsNormalTextColor
+DetailsButtonBackgroundColorHover=b4ffffff
+DetailsWidgetBackgroundColor=28ffffff
+DockWidgetResizeHandleColor=splitter
+DoubleTabWidget1stSeparatorColor=ffff0000
+DoubleTabWidget1stTabActiveTextColor=ff000000
+DoubleTabWidget1stTabBackgroundColor=ffff0000
+DoubleTabWidget1stTabInactiveTextColor=ff555555
+DoubleTabWidget2ndSeparatorColor=ffff0000
+DoubleTabWidget2ndTabActiveTextColor=ffffffff
+DoubleTabWidget2ndTabBackgroundColor=ffff0000
+DoubleTabWidget2ndTabInactiveTextColor=ff000000
+EditorPlaceholderColor=fff4f4f4
+FancyToolBarSeparatorColor=toolBarItemDisabled
+FancyTabBarBackgroundColor=shadowBackground
+FancyTabBarSelectedBackgroundColor=selectedBackground
+FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
+FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
+FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
+FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
+FancyToolButtonHoverColor=hoverBackground
+FancyToolButtonSelectedColor=selectedBackground
+FutureProgressBackgroundColor=shadowBackground
+IconsBaseColor=toolBarItem
+IconsDisabledColor=toolBarItemDisabled
+IconsInfoColor=ff3099dc
+IconsInfoToolBarColor=ff3099dc
+IconsWarningColor=warning
+IconsWarningToolBarColor=ffecbc1c
+IconsErrorColor=error
+IconsErrorToolBarColor=ffdf4f4f
+IconsRunColor=run_success
+IconsRunToolBarColor=run_success
+IconsStopColor=stop_error
+IconsStopToolBarColor=stop_error
+IconsInterruptColor=ff587ff7
+IconsInterruptToolBarColor=ff6a7bc3
+IconsDebugColor=toolBarItem
+IconsNavigationArrowsColor=ff3dabe6
+IconsBuildHammerHandleColor=ffc26b14
+IconsBuildHammerHeadColor=ff868687
+IconsModeWelcomeActiveColor=ff5caa15
+IconsModeEditActiveColor=ff6a6add
+IconsModeDesignActiveColor=ffbb6000
+IconsModeDebugActiveColor=ff6a6add
+IconsModeProjectActiveColor=ff5caa15
+IconsModeAnalyzeActiveColor=ff43adee
+IconsModeHelpActiveColor=fffaa838
+IconsCodeModelKeywordColor=ff777777
+IconsCodeModelClassColor=ffc0b550
+IconsCodeModelStructColor=ff53b053
+IconsCodeModelFunctionColor=ffd34373
+IconsCodeModelVariableColor=ff2bbbcc
+IconsCodeModelEnumColor=ffc0b550
+IconsCodeModelMacroColor=ff476ba0
+IconsCodeModelAttributeColor=ff316511
+IconsCodeModelUniformColor=ff994899
+IconsCodeModelVaryingColor=ffa08833
+IconsCodeModelOverlayBackgroundColor=70ffffff
+IconsCodeModelOverlayForegroundColor=ff232425
+InfoBarBackground=ffffffe1
+InfoBarText=text
+MenuBarEmptyAreaBackgroundColor=shadowBackground
+MenuBarItemBackgroundColor=shadowBackground
+MenuBarItemTextColorDisabled=textDisabled
+MenuBarItemTextColorNormal=text
+MenuItemTextColorDisabled=textDisabled
+MenuItemTextColorNormal=text
+MiniProjectTargetSelectorBackgroundColor=shadowBackground
+MiniProjectTargetSelectorBorderColor=shadowBackground
+MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
+MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
+PanelStatusBarBackgroundColor=shadowBackground
+PanelsWidgetSeparatorLineColor=000000
+PanelTextColorDark=text
+PanelTextColorMid=ff666666
+PanelTextColorLight=fancyBarsNormalTextColor
+ProgressBarColorError=error
+ProgressBarColorFinished=run_success
+ProgressBarColorNormal=ff888888
+ProgressBarTitleColor=fancyBarsBoldTextColor
+ProgressBarBackgroundColor=28000000
+SplitterColor=splitter
+TextColorDisabled=textDisabled
+TextColorError=ffff4040
+TextColorHighlight=ffff0000
+TextColorHighlightBackground=ffef0b
+TextColorLink=ff007af4
+TextColorLinkVisited=ffa57aff
+TextColorNormal=text
+ToggleButtonBackgroundColor=shadowBackground
+ToolBarBackgroundColor=shadowBackground
+TreeViewArrowColorNormal=hoverBackground
+TreeViewArrowColorSelected=text
+
+OutputPanes_DebugTextColor=text
+OutputPanes_ErrorMessageTextColor=ffaa0000
+OutputPanes_MessageOutput=ff0000aa
+OutputPanes_NormalMessageTextColor=ff0000aa
+OutputPanes_StdErrTextColor=ffaa0000
+OutputPanes_StdOutTextColor=ff000000
+OutputPanes_WarningMessageTextColor=ff808000
+OutputPanes_TestPassTextColor=ff009900
+OutputPanes_TestFailTextColor=ffa00000
+OutputPanes_TestXFailTextColor=ff28f028
+OutputPanes_TestXPassTextColor=fff02828
+OutputPanes_TestSkipTextColor=ff787878
+OutputPanes_TestWarnTextColor=ffd0bb00
+OutputPanes_TestFatalTextColor=ff640000
+OutputPanes_TestDebugTextColor=ff329696
+OutputPaneButtonFlashColor=ffff0000
+OutputPaneToggleButtonTextColorChecked=fancyBarsNormalTextColor
+OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
+
+Debugger_LogWindow_LogInput=ff00acac
+Debugger_LogWindow_LogStatus=ff00875a
+Debugger_LogWindow_LogTime=ffbf0303
+
+Debugger_WatchItem_ValueNormal=text
+Debugger_WatchItem_ValueInvalid=textDisabled
+Debugger_WatchItem_ValueChanged=ffbf0303
+
+Debugger_Breakpoint_TextMarkColor=ffff4040
+
+Welcome_TextColor=ff000000
+Welcome_ForegroundPrimaryColor=ff404244
+Welcome_ForegroundSecondaryColor=ff727476
+Welcome_BackgroundColor=normalBackground
+Welcome_ButtonBackgroundColor=normalBackground
+Welcome_DividerColor=ffd6d6d6
+Welcome_HoverColor=fff6f6f6
+Welcome_LinkColor=ff5caa15
+Welcome_DisabledLinkColor=textDisabled
+
+Timeline_TextColor=text
+Timeline_BackgroundColor1=normalBackground
+Timeline_BackgroundColor2=fff6f6f6
+Timeline_DividerColor=ffd6d6d6
+Timeline_HighlightColor=ff3099dc
+Timeline_PanelBackgroundColor=ffd6d6d6
+Timeline_PanelHeaderColor=ff888888
+Timeline_HandleColor=ff888888
+Timeline_RangeColor=selectedBackground
+
+VcsBase_FileStatusUnknown_TextColor=ff000000
+VcsBase_FileAdded_TextColor=ff00aa00
+VcsBase_FileModified_TextColor=ff0000ee
+VcsBase_FileDeleted_TextColor=ff800000
+VcsBase_FileRenamed_TextColor=ffd77d00
+VcsBase_FileUnmerged_TextColor=ffee0000
+
+Bookmarks_TextMarkColor=ffa0a0ff
+
+TextEditor_SearchResult_ScrollBarColor=ff00c000
+TextEditor_CurrentLine_ScrollBarColor=ff404040
+
+ProjectExplorer_TaskError_TextMarkColor=error
+ProjectExplorer_TaskWarn_TextMarkColor=warning
+
+CodeModel_Error_TextMarkColor=error
+CodeModel_Warning_TextMarkColor=warning
+
+QmlDesigner_BackgroundColor=qmlDesignerButtonColor
+QmlDesigner_HighlightColor=ff46a2da
+QmlDesigner_FormEditorSelectionColor=ff4ba2ff
+QmlDesigner_FormEditorForegroundColor=ffffffff
+QmlDesigner_BackgroundColorDarkAlternate=ffeaeaea
+QmlDesigner_BackgroundColorDarker=fff5f5f5
+QmlDesigner_BorderColor=splitter
+QmlDesigner_ButtonColor=ffcccccc
+QmlDesigner_TabDark=ff585858
+QmlDesigner_TabLight=ffd0d0d0
+QmlDesigner_FormeditorBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_AlternateBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_ScrollBarHandleColor=ffcccccc
+
+[Flags]
+ComboBoxDrawTextShadow=false
+DerivePaletteFromTheme=false
+DrawIndicatorBranch=true
+DrawSearchResultWidgetFrame=false
+DrawTargetSelectorBottom=false
+DrawToolBarHighlights=false
+DrawToolBarBorders=true
+ApplyThemePaletteGlobally=false
+FlatToolBars=true
+FlatSideBarIcons=true
+FlatProjectsMode=false
+FlatMenuBar=false
+ToolBarIconShadow=false
+WindowColorAsBase=false
+DarkUserInterface=false
+
+[Gradients]
+DetailsWidgetHeaderGradient\1\color=00000000
+DetailsWidgetHeaderGradient\1\pos=1
+DetailsWidgetHeaderGradient\size=1
diff --git a/rsc/theme/flat.creatortheme b/rsc/theme/flat.creatortheme
new file mode 100644
index 0000000000000000000000000000000000000000..b6c8f09d9e44b443a434af509481bcfaacda8fee
--- /dev/null
+++ b/rsc/theme/flat.creatortheme
@@ -0,0 +1,366 @@
+[General]
+ThemeName=Flat
+PreferredStyles=
+
+[Palette]
+shadowBackground=ff404142
+text=ff000000
+textDisabled=55000000
+toolBarItem=bcfbfdff
+toolBarItemDisabled=56a5a6a7
+fancyBarsNormalTextColor=ffffffff
+fancyBarsBoldTextColor=b6fbfdff
+hoverBackground=28ffffff
+selectedBackground=7a000000
+normalBackground=ffffffff
+alternateBackground=ff515151
+error=ffdf4f4f
+warning=ffecbc1c
+splitter=ff313131
+qmlDesignerButtonColor=ff4c4e50
+
+[Colors]
+;DS controls theme START
+DSpanelBackground=ff323232
+
+DSinteraction=ff2aafd3
+DSerrorColor=ffdf3a3a
+DSdisabledColor=ff707070
+
+DScontrolBackground=ff323232
+DScontrolBackgroundInteraction=ff595959
+DScontrolBackgroundDisabled=ff323232
+DScontrolBackgroundGlobalHover=ff474747
+DScontrolBackgroundHover=ff666666
+
+DScontrolOutline=ff1f1f1f
+DScontrolOutlineInteraction=ff2aafd3
+DScontrolOutlineDisabled=ff707070
+
+DStextColor=ffffffff
+DStextColorDisabled=ff707070
+DStextSelectionColor=ff2aafd3
+DStextSelectedTextColor=ff000000
+
+DSplaceholderTextColor=ffffffff
+DSplaceholderTextColorInteraction=ffababab
+
+DSiconColor=ffffffff
+DSiconColorHover=ff262626
+DSiconColorInteraction=ff707070
+DSiconColorDisabled=ff707070
+DSiconColorSelected=ff2aafd3
+
+DSlinkIndicatorColor=ff808080
+DSlinkIndicatorColorHover=ffffffff
+DSlinkIndicatorColorInteraction=ff2aafd3
+DSlinkIndicatorColorDisabled=ff707070
+
+DSpopupBackground=ff474747
+DSpopupOverlayColor=99191919
+
+DSsliderActiveTrack=ff7c7b7b
+DSsliderActiveTrackHover=ff000000
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrack=ff595959
+DSsliderInactiveTrackHover=ff505050
+DSsliderInactiveTrackFocus=ff606060
+DSsliderHandle=ff1f1f1f
+DSsliderHandleHover=ff606060
+DSsliderHandleFocus=ff0492c9
+DSsliderHandleInteraction=ff2aafd3
+
+DSscrollBarTrack=ff404040
+DSscrollBarHandle=ff505050
+
+DSsectionHeadBackground=ff1f1f1f
+
+DSstateDefaultHighlight=ffffe400
+DSstateSeparatorColor=ff7c7b7b
+DSstateBackgroundColor=ff383838
+DSstatePreviewOutline=ffaaaaaa
+
+DSchangedStateText=ff99ccff
+
+DS3DAxisXColor=ffd00000
+DS3DAxisYColor=ff009900
+DS3DAxisZColor=ff5050ff
+
+DSactionBinding=ff2aafd3
+DSactionAlias=fff93a3a
+DSactionKeyframe=ffe0e01b
+DSactionJIT=ff2db543
+
+DStableHeaderBackground=ffff0000
+DStableHeaderText=ff00ff00
+
+DSdockContainerBackground=ff323232
+DSdockContainerSplitter=ff323232
+DSdockAreaBackground=ff262728
+
+DSdockWidgetBackground=ff00ff00
+DSdockWidgetSplitter=ff595959
+DSdockWidgetTitleBar=ff1f1f1f
+
+DStitleBarText=ffdadada
+DStitleBarIcon=ffffffff
+DStitleBarButtonHover=40ffffff
+DStitleBarButtonPress=60ffffff
+
+DStabContainerBackground=ff0000ff
+DStabSplitter=ff595959
+
+DStabInactiveBackground=ff1f1f1f
+DStabInactiveText=ffdadada
+DStabInactiveIcon=ffffffff
+DStabInactiveButtonHover=ff1f1f1f
+DStabInactiveButtonPress=ff1f1f1f
+
+DStabActiveBackground=ffdadada
+DStabActiveText=ff111111
+DStabActiveIcon=ff000000
+DStabActiveButtonHover=ffdadada
+DStabActiveButtonPress=ffdadada
+
+DStabFocusBackground=ff2aafd3
+DStabFocusText=ff111111
+DStabFocusIcon=ff000000
+DStabFocusButtonHover=ff2aafd3
+DStabFocusButtonPress=ff2aafd3
+
+DSnavigatorBranch=ff7c7b7b
+DSnavigatorBranchIndicator=ff7c7b7b
+DSnavigatorItemBackground=ff262626
+DSnavigatorItemBackgroundHover=ff666666
+DSnavigatorItemBackgroundSelected=ff1f1f1f
+DSnavigatorText=ffffffff
+DSnavigatorTextHover=ff1f1f1f
+DSnavigatorTextSelected=ff2aafd3
+DSnavigatorIcon=ffffffff
+DSnavigatorIconHover=ff1f1f1f
+DSnavigatorIconSelected=ff7c7b7b
+DSnavigatorAliasIconChecked=ffff0000
+DSnavigatorDropIndicatorBackground=ff2aafd3
+DSnavigatorDropIndicatorOutline=ff2aafd3
+
+DSheaderViewBackground=ff1f1f1f
+DStableViewAlternateBackground=ff00ff00
+
+DStoolTipBackground=ff111111
+DStoolTipOutline=ffdadada
+DStoolTipText=ffdadada
+
+DSUnimportedModuleColor=ffe33c2e
+
+;DS controls theme END
+
+BackgroundColorAlternate=alternateBackground
+BackgroundColorDark=shadowBackground
+BackgroundColorHover=hoverBackground
+BackgroundColorNormal=normalBackground
+BackgroundColorDisabled=ff444444
+BackgroundColorSelected=selectedBackground
+BadgeLabelBackgroundColorChecked=ffe0e0e0
+BadgeLabelBackgroundColorUnchecked=ff808080
+BadgeLabelTextColorChecked=ff606060
+BadgeLabelTextColorUnchecked=ffffffff
+CanceledSearchTextColor=ff0000
+ComboBoxArrowColor=toolBarItem
+ComboBoxArrowColorDisabled=toolBarItemDisabled
+ComboBoxTextColor=fancyBarsNormalTextColor
+DetailsButtonBackgroundColorHover=b4ffffff
+DetailsWidgetBackgroundColor=28ffffff
+DockWidgetResizeHandleColor=splitter
+DoubleTabWidget1stSeparatorColor=ffff0000
+DoubleTabWidget1stTabActiveTextColor=ff000000
+DoubleTabWidget1stTabBackgroundColor=ffff0000
+DoubleTabWidget1stTabInactiveTextColor=ffffffff
+DoubleTabWidget2ndSeparatorColor=ffff0000
+DoubleTabWidget2ndTabActiveTextColor=ffffffff
+DoubleTabWidget2ndTabBackgroundColor=ffff0000
+DoubleTabWidget2ndTabInactiveTextColor=ff000000
+EditorPlaceholderColor=ffdddddd
+FancyToolBarSeparatorColor=toolBarItemDisabled
+FancyTabBarBackgroundColor=shadowBackground
+FancyTabBarSelectedBackgroundColor=selectedBackground
+FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
+FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
+FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
+FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
+FancyToolButtonHoverColor=hoverBackground
+FancyToolButtonSelectedColor=selectedBackground
+FutureProgressBackgroundColor=shadowBackground
+IconsBaseColor=toolBarItem
+IconsDisabledColor=toolBarItemDisabled
+IconsInfoColor=ff3099dc
+IconsInfoToolBarColor=ff71b2db
+IconsWarningColor=warning
+IconsWarningToolBarColor=fff2d76e
+IconsErrorColor=error
+IconsErrorToolBarColor=ffdb6f71
+IconsRunColor=ff6da838
+IconsRunToolBarColor=ff93be6c
+IconsStopColor=ffee6969
+IconsStopToolBarColor=ffe27f7f
+IconsInterruptColor=ff587ff7
+IconsInterruptToolBarColor=ff6a7bc3
+IconsDebugColor=toolBarItem
+IconsNavigationArrowsColor=ffebc322
+IconsBuildHammerHandleColor=ffc26b14
+IconsBuildHammerHeadColor=ff868687
+IconsModeWelcomeActiveColor=ff80c342
+IconsModeEditActiveColor=ff99aaef
+IconsModeDesignActiveColor=ffbb6000
+IconsModeDebugActiveColor=ff99aaef
+IconsModeProjectActiveColor=ff80c342
+IconsModeAnalyzeActiveColor=ff43adee
+IconsModeHelpActiveColor=fff4be04
+IconsCodeModelKeywordColor=ff777777
+IconsCodeModelClassColor=ffc0b550
+IconsCodeModelStructColor=ff53b053
+IconsCodeModelFunctionColor=ffd34373
+IconsCodeModelVariableColor=ff2bbbcc
+IconsCodeModelEnumColor=ffc0b550
+IconsCodeModelMacroColor=ff476ba0
+IconsCodeModelAttributeColor=ff316511
+IconsCodeModelUniformColor=ff994899
+IconsCodeModelVaryingColor=ffa08833
+IconsCodeModelOverlayBackgroundColor=70ffffff
+IconsCodeModelOverlayForegroundColor=ff232425
+InfoBarBackground=ffffffe1
+InfoBarText=text
+MenuBarEmptyAreaBackgroundColor=shadowBackground
+MenuBarItemBackgroundColor=shadowBackground
+MenuBarItemTextColorDisabled=textDisabled
+MenuBarItemTextColorNormal=text
+MenuItemTextColorDisabled=textDisabled
+MenuItemTextColorNormal=text
+MiniProjectTargetSelectorBackgroundColor=shadowBackground
+MiniProjectTargetSelectorBorderColor=shadowBackground
+MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
+MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
+PanelStatusBarBackgroundColor=shadowBackground
+PanelsWidgetSeparatorLineColor=000000
+PanelTextColorDark=text
+PanelTextColorMid=ff666666
+PanelTextColorLight=fancyBarsNormalTextColor
+ProgressBarColorError=error
+ProgressBarColorFinished=dda4d576
+ProgressBarColorNormal=ff999999
+ProgressBarTitleColor=fancyBarsBoldTextColor
+ProgressBarBackgroundColor=a0606060
+SplitterColor=splitter
+TextColorDisabled=textDisabled
+TextColorError=ffff4040
+TextColorHighlight=ffff0000
+TextColorHighlightBackground=ffef0b
+TextColorLink=ff007af4
+TextColorLinkVisited=ffa57aff
+TextColorNormal=text
+ToggleButtonBackgroundColor=shadowBackground
+ToolBarBackgroundColor=shadowBackground
+TreeViewArrowColorNormal=hoverBackground
+TreeViewArrowColorSelected=text
+
+OutputPanes_DebugTextColor=text
+OutputPanes_ErrorMessageTextColor=ffaa0000
+OutputPanes_MessageOutput=ff0000aa
+OutputPanes_NormalMessageTextColor=ff0000aa
+OutputPanes_StdErrTextColor=ffaa0000
+OutputPanes_StdOutTextColor=ff000000
+OutputPanes_WarningMessageTextColor=ff808000
+OutputPanes_TestPassTextColor=ff009900
+OutputPanes_TestFailTextColor=ffa00000
+OutputPanes_TestXFailTextColor=ff28f028
+OutputPanes_TestXPassTextColor=fff02828
+OutputPanes_TestSkipTextColor=ff787878
+OutputPanes_TestWarnTextColor=ffd0bb00
+OutputPanes_TestFatalTextColor=ff640000
+OutputPanes_TestDebugTextColor=ff329696
+OutputPaneButtonFlashColor=ffff0000
+OutputPaneToggleButtonTextColorChecked=fancyBarsNormalTextColor
+OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
+
+Debugger_LogWindow_LogInput=ff00acac
+Debugger_LogWindow_LogStatus=ff00875a
+Debugger_LogWindow_LogTime=ffbf0303
+
+Debugger_WatchItem_ValueNormal=text
+Debugger_WatchItem_ValueInvalid=textDisabled
+Debugger_WatchItem_ValueChanged=ffbf0303
+
+Debugger_Breakpoint_TextMarkColor=ffff4040
+
+Welcome_TextColor=ff000000
+Welcome_ForegroundPrimaryColor=shadowBackground
+Welcome_ForegroundSecondaryColor=ff727476
+Welcome_BackgroundColor=normalBackground
+Welcome_ButtonBackgroundColor=normalBackground
+Welcome_DividerColor=ffd6d6d6
+Welcome_HoverColor=fff6f6f6
+Welcome_LinkColor=ff5caa15
+Welcome_DisabledLinkColor=textDisabled
+
+Timeline_TextColor=text
+Timeline_BackgroundColor1=normalBackground
+Timeline_BackgroundColor2=fff6f6f6
+Timeline_DividerColor=ffd6d6d6
+Timeline_HighlightColor=ff71b2db
+Timeline_PanelBackgroundColor=ffd6d6d6
+Timeline_PanelHeaderColor=alternateBackground
+Timeline_HandleColor=alternateBackground
+Timeline_RangeColor=selectedBackground
+
+VcsBase_FileStatusUnknown_TextColor=ff000000
+VcsBase_FileAdded_TextColor=ff00aa00
+VcsBase_FileModified_TextColor=ff0000ee
+VcsBase_FileDeleted_TextColor=ff800000
+VcsBase_FileRenamed_TextColor=ffd77d00
+VcsBase_FileUnmerged_TextColor=ffee0000
+
+Bookmarks_TextMarkColor=ffa0a0ff
+
+TextEditor_SearchResult_ScrollBarColor=ff00c000
+TextEditor_CurrentLine_ScrollBarColor=ff404040
+
+ProjectExplorer_TaskError_TextMarkColor=error
+ProjectExplorer_TaskWarn_TextMarkColor=warning
+
+CodeModel_Error_TextMarkColor=error
+CodeModel_Warning_TextMarkColor=warning
+
+QmlDesigner_BackgroundColor=qmlDesignerButtonColor
+QmlDesigner_HighlightColor=ff46a2da
+QmlDesigner_FormEditorSelectionColor=ff4ba2ff
+QmlDesigner_FormEditorForegroundColor=ffffffff
+QmlDesigner_BackgroundColorDarkAlternate=ff323232
+QmlDesigner_BackgroundColorDarker=ff262728
+QmlDesigner_BorderColor=splitter
+QmlDesigner_ButtonColor=ff595b5c
+QmlDesigner_TabDark=shadowBackground
+QmlDesigner_TabLight=ffffffff
+QmlDesigner_FormeditorBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_AlternateBackgroundColor=qmlDesignerButtonColor
+QmlDesigner_ScrollBarHandleColor=ff595b5c
+
+[Flags]
+ComboBoxDrawTextShadow=false
+DerivePaletteFromTheme=false
+DrawIndicatorBranch=true
+DrawSearchResultWidgetFrame=false
+DrawTargetSelectorBottom=false
+DrawToolBarHighlights=false
+DrawToolBarBorders=false
+ApplyThemePaletteGlobally=false
+FlatToolBars=true
+FlatSideBarIcons=true
+FlatProjectsMode=false
+FlatMenuBar=false
+ToolBarIconShadow=true
+WindowColorAsBase=false
+DarkUserInterface=false
+
+[Gradients]
+DetailsWidgetHeaderGradient\1\color=00000000
+DetailsWidgetHeaderGradient\1\pos=1
+DetailsWidgetHeaderGradient\size=1
diff --git a/src/Lib/HostOsInfo.cc b/src/Lib/HostOsInfo.cc
index 48f5bc6d82b88abad196be8db98ad895555cd467..b6628feaf875fd22881c405140a72662fe10bb9f 100644
--- a/src/Lib/HostOsInfo.cc
+++ b/src/Lib/HostOsInfo.cc
@@ -1,10 +1,13 @@
 #include "HostOsInfo.hh"
 
 #if !defined(QT_NO_OPENGL) && defined(QT_GUI_LIB)
+#define VIVY_OPENGL 1
 #include <QOpenGLContext>
+#else
+#define VIVY_OPENGL 0
 #endif
 
-#ifdef Q_OS_WIN
+#if VIVY_WIN32
 #include <qt_windows.h>
 #endif
 
@@ -13,7 +16,7 @@ using namespace Vivy::Utils;
 Qt::CaseSensitivity HostOsInfo::m_overrideFileNameCaseSensitivity = Qt::CaseSensitive;
 bool HostOsInfo::m_useOverrideFileNameCaseSensitivity             = false;
 
-#ifdef Q_OS_WIN
+#if VIVY_WIN32
 static WORD
 hostProcessorArchitecture()
 {
@@ -26,7 +29,7 @@ hostProcessorArchitecture()
 HostOsInfo::HostArchitecture
 HostOsInfo::hostArchitecture()
 {
-#ifdef Q_OS_WIN
+#if VIVY_WIN32
     static const WORD processorArchitecture = hostProcessorArchitecture();
     switch (processorArchitecture) {
     case PROCESSOR_ARCHITECTURE_AMD64: return HostOsInfo::HostArchitectureAMD64;
@@ -54,16 +57,15 @@ HostOsInfo::unsetOverrideFileNameCaseSensitivity()
 }
 
 bool
-HostOsInfo::canCreateOpenGLContext(QString *errorMessage)
+HostOsInfo::canCreateOpenGLContext([[maybe_unused]] QString *errorMessage)
 {
-#if defined(QT_NO_OPENGL) || !defined(QT_GUI_LIB)
-    Q_UNUSED(errorMessage)
-    return false;
-#else
+#if VIVY_OPENGL
     static const bool canCreate = QOpenGLContext().create();
     if (!canCreate)
         *errorMessage =
             QCoreApplication::translate("Utils::HostOsInfo", "Cannot create OpenGL context.");
     return canCreate;
+#else
+    return false;
 #endif
 }
diff --git a/src/Lib/HostOsInfo.hh b/src/Lib/HostOsInfo.hh
index 97b2889621b1348bfdea6b5c88afd68db1090417..af00e94b2d361aba557445eab4835236b5a45cdb 100644
--- a/src/Lib/HostOsInfo.hh
+++ b/src/Lib/HostOsInfo.hh
@@ -4,27 +4,47 @@
 
 #ifdef Q_OS_WIN
 #define VIVY_HOST_EXE_SUFFIX VIVY_WIN_EXE_SUFFIX
+#define VIVY_WIN32           1
 #else
 #define VIVY_HOST_EXE_SUFFIX ""
+#define VIVY_WIN32           0
 #endif // Q_OS_WIN
 
+// Detect MacOS
+#if defined(Q_OS_DARWIN) || defined(Q_OS_MACOS)
+#define VIVY_MACOS 1
+#else
+#define VIVY_MACOS 0
+#endif
+
+// Detect Linux or UNIX
+#if defined(Q_OS_LINUX)
+#define VIVY_LINUX 1
+#define VIVY_UNIX  1
+#elif defined(Q_OS_UNIX)
+#define VIVY_LINUX 0
+#define VIVY_UNIX  1
+#else
+#define VIVY_LINUX 0
+#define VIVY_UNIX  0
+#endif
+
 namespace Vivy::Utils
 {
 class HostOsInfo {
 public:
     static constexpr OsType hostOs()
     {
-#if defined(Q_OS_WIN)
-        return OsTypeWindows;
-#elif defined(Q_OS_LINUX)
-        return OsTypeLinux;
-#elif defined(Q_OS_MAC)
-        return OsTypeMac;
-#elif defined(Q_OS_UNIX)
-        return OsTypeOtherUnix;
-#else
-        return OsTypeOther;
-#endif
+        if constexpr (VIVY_WIN32)
+            return OsTypeWindows;
+        else if constexpr (VIVY_LINUX)
+            return OsTypeLinux;
+        else if constexpr (VIVY_MACOS)
+            return OsTypeMac;
+        else if constexpr (VIVY_UNIX)
+            return OsTypeOtherUnix;
+        else
+            return OsTypeOther;
     }
 
     enum HostArchitecture {
@@ -39,14 +59,7 @@ public:
     static constexpr bool isWindowsHost() { return hostOs() == OsTypeWindows; }
     static constexpr bool isLinuxHost() { return hostOs() == OsTypeLinux; }
     static constexpr bool isMacHost() { return hostOs() == OsTypeMac; }
-    static constexpr bool isAnyUnixHost()
-    {
-#ifdef Q_OS_UNIX
-        return true;
-#else
-        return false;
-#endif
-    }
+    static constexpr bool isAnyUnixHost() { return VIVY_UNIX; }
 
     static QString withExecutableSuffix(const QString &executable)
     {
diff --git a/src/Lib/Utils.hh b/src/Lib/Utils.hh
index 52a3b8dbd21877ce70f37ba06096939751c00bfe..c2ac33642dbf2cb15e435f2105bf0c19ff726369 100644
--- a/src/Lib/Utils.hh
+++ b/src/Lib/Utils.hh
@@ -21,6 +21,11 @@
 #define VIVY_DEPRECATED  __attribute__((__deprecated__))
 #define VIVY_CONSTRUCTOR __attribute__((constructor))
 #define VIVY_DESTRUCTOR  __attribute__((destructor))
+#define VIVY_ASSERT(cond)              \
+    {                                  \
+        if (!cond)                     \
+            VIVY_ASSERT_STRING(#cond); \
+    }
 
 // Use chrono instead of std::chrono...
 namespace chrono = std::chrono;
diff --git a/src/UI/ScriptViews/ScriptHighlighter.cc b/src/UI/ScriptViews/ScriptHighlighter.cc
index 2baf555a1ac8e625e4f3e6b4c87546ef4b9b6265..6c50b405e8d066fed53d1f8a9118b9ceb3bc37ce 100644
--- a/src/UI/ScriptViews/ScriptHighlighter.cc
+++ b/src/UI/ScriptViews/ScriptHighlighter.cc
@@ -1,4 +1,6 @@
 #include "ScriptHighlighter.hh"
+#include "../Theme/Theme.hh"
+#include "../../VivyApplication.hh"
 #include "../../Lib/Utils.hh"
 
 using namespace Vivy;
@@ -13,16 +15,17 @@ void
 ScriptHighlighter::resetHighlightingRule() noexcept
 {
     highlightingRules.clear();
+    const Theme::HighlightingTheme &theme = vivyApp->getTheme()->getHighlightingTheme();
 
     // function calls
-    functionFormat.setForeground(fromTheme().functionForeground);
+    functionFormat.setForeground(theme.functionForeground);
     highlightingRules.emplace_back(QRegExpLiteral("\\b[A-Za-z0-9_]+[ ]*(?=\\()"), functionFormat);
     highlightingRules.emplace_back(QRegExpLiteral("\\b[A-Za-z0-9_]+[ ]*(?=\\{)"), functionFormat);
 
     // Member and enum members
-    enumFormat.setForeground(fromTheme().enumForeground);
+    enumFormat.setForeground(theme.enumForeground);
     enumFormat.setFontWeight(QFont::Bold);
-    memberFormat.setForeground(fromTheme().memberForeground);
+    memberFormat.setForeground(theme.memberForeground);
     memberFormat.setFontWeight(QFont::StyleItalic);
     highlightingRules.emplace_back(QRegExpLiteral("\\.[a-z][\\dA-Za-z]*\\b"), memberFormat);
     highlightingRules.emplace_back(QRegExpLiteral("\\b[A-Z][\\dA-Z_]*\\b"), enumFormat);
@@ -43,7 +46,7 @@ ScriptHighlighter::resetHighlightingRule() noexcept
         QStringLiteral("\\b\\*\\=\\b"),   QStringLiteral("\\b\\/\\=\\b"),
     };
 
-    keywordFormat.setForeground(fromTheme().keywordForeground);
+    keywordFormat.setForeground(theme.keywordForeground);
     keywordFormat.setFontWeight(QFont::Bold);
 
     for (QString const &pattern : keywordPatterns)
@@ -60,21 +63,21 @@ ScriptHighlighter::resetHighlightingRule() noexcept
         QStringLiteral("\\b\\[\\dA-Fa-F]+\\b"),
     };
 
-    valueFormat.setForeground(fromTheme().valueForeground);
+    valueFormat.setForeground(theme.valueForeground);
     valueFormat.setFontWeight(QFont::Normal);
 
     for (QString const &pattern : valuePatterns)
         highlightingRules.emplace_back(QRegExp(pattern), valueFormat);
 
     // strings
-    quotationFormat.setForeground(fromTheme().valueForeground);
+    quotationFormat.setForeground(theme.valueForeground);
     highlightingRules.emplace_back(QRegExpLiteral("\"[^\"]*\""), quotationFormat);
     highlightingRules.emplace_back(QRegExpLiteral("\'[^\']*\'"), quotationFormat);
     quoteStartExpression = QRegExpLiteral("\\[\\[");
     quoteEndExpression   = QRegExpLiteral("\\]\\]");
 
     // comments
-    singleLineCommentFormat.setForeground(fromTheme().commentForeground);
+    singleLineCommentFormat.setForeground(theme.commentForeground);
     highlightingRules.emplace_back(QRegExpLiteral("--[^\n]*"), singleLineCommentFormat);
     commentStartExpression = QRegExpLiteral("--\\[\\[");
     commentEndExpression   = QRegExpLiteral("\\]\\]");
@@ -166,9 +169,3 @@ ScriptHighlighter::highlightCommentBlock(const QString &text,
     highlightBlock(text, previousState, BlockState::Comment, commentStartExpression,
                    commentEndExpression, singleLineCommentFormat);
 }
-
-const ScriptHighlighter::HighlightingTheme
-ScriptHighlighter::fromTheme() const noexcept
-{
-    return highlightingTheme[theme];
-}
diff --git a/src/UI/ScriptViews/ScriptHighlighter.hh b/src/UI/ScriptViews/ScriptHighlighter.hh
index 492259dad9adc6795952277f02b958396fccc425..cf636bdb3fff70692d69f778314a76087ec09b15 100644
--- a/src/UI/ScriptViews/ScriptHighlighter.hh
+++ b/src/UI/ScriptViews/ScriptHighlighter.hh
@@ -4,7 +4,7 @@
 #error "This is a C++ header"
 #endif
 
-class QTextDocument;
+#include "../Theme/Theme.hh"
 
 namespace Vivy
 {
@@ -18,16 +18,6 @@ class ScriptHighlighter final : public QSyntaxHighlighter {
         QTextCharFormat format;
     };
 
-    struct HighlightingTheme {
-        const QBrush functionForeground;
-        const QBrush keywordForeground;
-        const QBrush valueForeground;
-        const QBrush commentForeground;
-        const QBrush memberForeground;
-        const QBrush enumForeground;
-    };
-
-    enum Theme { DarkTheme = 0, LightTheme = 1, ThemeCount };
     enum class BlockState { None = -1, Quote = 1, Comment = 2 };
 
 public:
@@ -47,34 +37,8 @@ private:
                         const BlockState toHighlight, const QRegExp &start, const QRegExp &end,
                         const QTextCharFormat &format) noexcept;
 
-    const HighlightingTheme fromTheme() const noexcept;
     void resetHighlightingRule() noexcept;
 
-    const HighlightingTheme darkHighlightingTheme = {
-        .functionForeground = Qt::darkCyan,
-        .keywordForeground  = Qt::darkYellow,
-        .valueForeground    = QColor(Qt::cyan).darker(120),
-        .commentForeground  = QColor(Qt::darkGray).darker(120),
-        .memberForeground   = QColor(Qt::darkGray).lighter(160),
-        .enumForeground     = QColor(Qt::magenta).darker(170),
-    };
-
-    const HighlightingTheme lightHighlightingTheme = {
-        .functionForeground = Qt::blue,
-        .keywordForeground  = Qt::darkBlue,
-        .valueForeground    = Qt::red,
-        .commentForeground  = QColor(Qt::darkGray).darker(120),
-        .memberForeground   = QColor(Qt::darkGray).lighter(120),
-        .enumForeground     = Qt::darkMagenta,
-    };
-
-    const HighlightingTheme highlightingTheme[ThemeCount] = {
-        darkHighlightingTheme,
-        lightHighlightingTheme,
-    };
-
-    Theme theme{ DarkTheme };
-
     std::vector<HighlightingRule> highlightingRules;
 
     QRegExp commentStartExpression;
diff --git a/src/UI/Theme/Theme.cc b/src/UI/Theme/Theme.cc
new file mode 100644
index 0000000000000000000000000000000000000000..31c53f16d5c53f74915227b758329ce52fa42f3c
--- /dev/null
+++ b/src/UI/Theme/Theme.cc
@@ -0,0 +1,370 @@
+#include "Theme.hh"
+#include "../../VivyApplication.hh"
+#include "../../Lib/HostOsInfo.hh"
+#if VIVY_MACOS
+#import "ThemeMac.hh"
+#endif
+
+namespace Vivy
+{
+struct Theme::Private {
+    Private() noexcept;
+
+    Theme::Type classType{ Theme::Type::System };
+    Theme::VivyTheme preferedColor{ Theme::VivyTheme::Dark };
+
+    QString id;
+    QString fileName;
+    QString displayName;
+    QStringList preferredStyles;
+    QString defaultTextEditorColorScheme;
+    QVector<QPair<QColor, QString>> colors;
+    QVector<QString> imageFiles;
+    QVector<QGradientStops> gradients;
+    QVector<bool> flags;
+    QMap<QString, QColor> palette;
+};
+
+// If you copy QPalette, default values stay at default, even if that default is different
+// within the context of different widgets. Create deep copy.
+static QPalette
+copyPalette(const QPalette &p) noexcept
+{
+    QPalette res;
+    for (int group = 0; group < QPalette::NColorGroups; ++group) {
+        for (int role = 0; role < QPalette::NColorRoles; ++role) {
+            res.setBrush(QPalette::ColorGroup(group), QPalette::ColorRole(role),
+                         p.brush(QPalette::ColorGroup(group), QPalette::ColorRole(role)));
+        }
+    }
+    return res;
+}
+
+[[maybe_unused]] static bool
+systemUsesDarkMode() noexcept
+{
+    if (Utils::HostOsInfo::isWindowsHost()) {
+        constexpr char regkey[] =
+            "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";
+        bool ok;
+        const auto setting =
+            QSettings(regkey, QSettings::NativeFormat).value("AppsUseLightTheme").toInt(&ok);
+        return ok && setting == 0;
+    }
+
+    else if constexpr (Utils::HostOsInfo::isMacHost())
+        return false;
+
+    else if constexpr (Utils::HostOsInfo::isLinuxHost())
+        return true;
+
+    return false;
+}
+
+static QPalette
+initialPalette() noexcept
+{
+    static QPalette palette = copyPalette(QApplication::palette());
+    return palette;
+}
+
+Theme::Private::Private() noexcept
+{
+    const QMetaObject &m = Theme::staticMetaObject;
+    colors.resize(m.enumerator(m.indexOfEnumerator("Color")).keyCount());
+    imageFiles.resize(m.enumerator(m.indexOfEnumerator("ImageFile")).keyCount());
+    gradients.resize(m.enumerator(m.indexOfEnumerator("Gradient")).keyCount());
+    flags.resize(m.enumerator(m.indexOfEnumerator("Flag")).keyCount());
+}
+
+void
+Theme::applyToApplication() const noexcept
+{
+    if (d->classType == Type::QssFile) {
+        QFile stylesheet(d->fileName);
+        if (!stylesheet.exists()) {
+            qFatal("Missing stylesheet");
+        } else {
+            stylesheet.open(QFile::ReadOnly | QFile::Text);
+            QTextStream stylesheetStream(&stylesheet);
+            vivyApp->setStyleSheet(stylesheetStream.readAll());
+        }
+    }
+
+    else {
+#if VIVY_MACOS
+        // Match the native UI theme and palette with the creator
+        // theme by forcing light aqua for light creator themes.
+        if (!flag(Theme::DarkUserInterface))
+            Utils::forceMacOSLightAquaApperance();
+#endif
+        QApplication::setPalette(palette());
+    }
+}
+
+Theme::Theme(const QString &id, QObject *parent) noexcept
+    : QObject(parent)
+    , d(new Private)
+{
+    d->id = id;
+}
+
+Theme::~Theme() noexcept { delete d; }
+
+QStringList
+Theme::preferredStyles() const noexcept
+{
+    return d->preferredStyles;
+}
+
+QString
+Theme::defaultTextEditorColorScheme() const noexcept
+{
+    return d->defaultTextEditorColorScheme;
+}
+
+QString
+Theme::id() const noexcept
+{
+    return d->id;
+}
+
+bool
+Theme::flag(Theme::Flag f) const noexcept
+{
+    return d->flags[f];
+}
+
+QColor
+Theme::color(Theme::Color role) const noexcept
+{
+    return d->colors[role].first;
+}
+
+QString
+Theme::imageFile(Theme::ImageFile imageFile, const QString &fallBack) const noexcept
+{
+    const QString &file = d->imageFiles.at(imageFile);
+    return file.isEmpty() ? fallBack : file;
+}
+
+QGradientStops
+Theme::gradient(Theme::Gradient role) const noexcept
+{
+    return d->gradients[role];
+}
+
+QPair<QColor, QString>
+Theme::readNamedColor(const QString &color) const
+{
+    if (d->palette.contains(color))
+        return qMakePair(d->palette[color], color);
+    if (color == QLatin1String("style"))
+        return qMakePair(QColor(), QString());
+
+    const QColor col('#' + color);
+    if (!col.isValid()) {
+        qWarning("Color \"%s\" is neither a named color nor a valid color", qPrintable(color));
+        return qMakePair(Qt::black, QString());
+    }
+    return qMakePair(col, QString());
+}
+
+QString
+Theme::filePath() const noexcept
+{
+    return d->fileName;
+}
+
+QString
+Theme::displayName() const noexcept
+{
+    return d->displayName;
+}
+
+void
+Theme::setDisplayName(const QString &name) noexcept
+{
+    d->displayName = name;
+}
+
+Theme *
+Theme::fromQssFile(const QString &id, const QString &file) noexcept
+{
+    Theme *ret        = new Theme(id);
+    ret->d->fileName  = file;
+    ret->d->classType = Type::QssFile;
+    ret->setDisplayName(QFileInfo(file).baseName());
+    return ret;
+}
+
+Theme *
+Theme::fromSettings(const QString &id, QSettings *const settings) noexcept
+{
+    Theme *ret = new Theme(id);
+    ret->readSettings(settings);
+    return ret;
+}
+
+Theme *
+Theme::fromVivyTheme(const QString &id, const VivyTheme which) noexcept
+{
+    Theme *ret =
+        fromQssFile(id, which == VivyTheme::Dark ? QStringLiteral(":qdarkstyle/dark/style.qss")
+                                                 : QStringLiteral(":qdarkstyle/light/style.qss"));
+    ret->setDisplayName(QStringLiteral("Vivy Theme"));
+    return ret;
+}
+
+const Theme::HighlightingTheme &
+Theme::getHighlightingTheme() const noexcept
+{
+    return highlightingTheme[Utils::toUnderlying(d->preferedColor)];
+}
+
+void
+Theme::readSettings(QSettings *const settings) noexcept
+{
+    d->fileName          = settings->fileName();
+    d->classType         = Type::QtCreator;
+    const QMetaObject &m = *metaObject();
+
+    {
+        d->displayName =
+            settings->value(QLatin1String("ThemeName"), QLatin1String("unnamed")).toString();
+        d->preferredStyles = settings->value(QLatin1String("PreferredStyles")).toStringList();
+        d->preferredStyles.removeAll(QString());
+        d->defaultTextEditorColorScheme =
+            settings->value(QLatin1String("DefaultTextEditorColorScheme")).toString();
+    }
+    {
+        settings->beginGroup(QLatin1String("Palette"));
+        const QStringList allKeys = settings->allKeys();
+        for (const QString &key : allKeys)
+            d->palette[key] = readNamedColor(settings->value(key).toString()).first;
+        settings->endGroup();
+    }
+    {
+        settings->beginGroup(QLatin1String("Colors"));
+        QMetaEnum e = m.enumerator(m.indexOfEnumerator("Color"));
+        for (int i = 0, total = e.keyCount(); i < total; ++i) {
+            const QString key = QLatin1String(e.key(i));
+            if (!settings->contains(key)) {
+                if (i < PaletteWindow || i > PalettePlaceholderTextDisabled)
+                    qWarning("Theme \"%s\" misses color setting for key \"%s\".",
+                             qPrintable(d->fileName), qPrintable(key));
+                continue;
+            }
+            d->colors[i] = readNamedColor(settings->value(key).toString());
+        }
+        settings->endGroup();
+    }
+    {
+        settings->beginGroup(QLatin1String("ImageFiles"));
+        QMetaEnum e = m.enumerator(m.indexOfEnumerator("ImageFile"));
+        for (int i = 0, total = e.keyCount(); i < total; ++i) {
+            const QString key = QLatin1String(e.key(i));
+            d->imageFiles[i]  = settings->value(key).toString();
+        }
+        settings->endGroup();
+    }
+    {
+        settings->beginGroup(QLatin1String("Gradients"));
+        QMetaEnum e = m.enumerator(m.indexOfEnumerator("Gradient"));
+        for (int i = 0, total = e.keyCount(); i < total; ++i) {
+            const QString key = QLatin1String(e.key(i));
+            QGradientStops stops;
+            int size = settings->beginReadArray(key);
+            for (int j = 0; j < size; ++j) {
+                settings->setArrayIndex(j);
+                VIVY_ASSERT(settings->contains(QLatin1String("pos")));
+                VIVY_ASSERT(settings->contains(QLatin1String("color")));
+                const double pos = settings->value(QLatin1String("pos")).toDouble();
+                const QColor c('#' + settings->value(QLatin1String("color")).toString());
+                stops.append(qMakePair(pos, c));
+            }
+            settings->endArray();
+            d->gradients[i] = stops;
+        }
+        settings->endGroup();
+    }
+    {
+        settings->beginGroup(QLatin1String("Flags"));
+        QMetaEnum e = m.enumerator(m.indexOfEnumerator("Flag"));
+        for (int i = 0, total = e.keyCount(); i < total; ++i) {
+            const QString key = QLatin1String(e.key(i));
+            VIVY_ASSERT(settings->contains(key));
+            d->flags[i] = settings->value(key).toBool();
+        }
+        settings->endGroup();
+    }
+}
+
+QPalette
+Theme::palette() const noexcept
+{
+    QPalette pal = initialPalette();
+
+    const static struct {
+        Color themeColor;
+        QPalette::ColorRole paletteColorRole;
+        QPalette::ColorGroup paletteColorGroup;
+        bool setColorRoleAsBrush;
+    } mapping[] = {
+        { PaletteWindow, QPalette::Window, QPalette::All, false },
+        { PaletteWindowDisabled, QPalette::Window, QPalette::Disabled, false },
+        { PaletteWindowText, QPalette::WindowText, QPalette::All, true },
+        { PaletteWindowTextDisabled, QPalette::WindowText, QPalette::Disabled, true },
+        { PaletteBase, QPalette::Base, QPalette::All, false },
+        { PaletteBaseDisabled, QPalette::Base, QPalette::Disabled, false },
+        { PaletteAlternateBase, QPalette::AlternateBase, QPalette::All, false },
+        { PaletteAlternateBaseDisabled, QPalette::AlternateBase, QPalette::Disabled, false },
+        { PaletteToolTipBase, QPalette::ToolTipBase, QPalette::All, true },
+        { PaletteToolTipBaseDisabled, QPalette::ToolTipBase, QPalette::Disabled, true },
+        { PaletteToolTipText, QPalette::ToolTipText, QPalette::All, false },
+        { PaletteToolTipTextDisabled, QPalette::ToolTipText, QPalette::Disabled, false },
+        { PaletteText, QPalette::Text, QPalette::All, true },
+        { PaletteTextDisabled, QPalette::Text, QPalette::Disabled, true },
+        { PaletteButton, QPalette::Button, QPalette::All, false },
+        { PaletteButtonDisabled, QPalette::Button, QPalette::Disabled, false },
+        { PaletteButtonText, QPalette::ButtonText, QPalette::All, true },
+        { PaletteButtonTextDisabled, QPalette::ButtonText, QPalette::Disabled, true },
+        { PaletteBrightText, QPalette::BrightText, QPalette::All, false },
+        { PaletteBrightTextDisabled, QPalette::BrightText, QPalette::Disabled, false },
+        { PaletteHighlight, QPalette::Highlight, QPalette::All, true },
+        { PaletteHighlightDisabled, QPalette::Highlight, QPalette::Disabled, true },
+        { PaletteHighlightedText, QPalette::HighlightedText, QPalette::All, true },
+        { PaletteHighlightedTextDisabled, QPalette::HighlightedText, QPalette::Disabled, true },
+        { PaletteLink, QPalette::Link, QPalette::All, false },
+        { PaletteLinkDisabled, QPalette::Link, QPalette::Disabled, false },
+        { PaletteLinkVisited, QPalette::LinkVisited, QPalette::All, false },
+        { PaletteLinkVisitedDisabled, QPalette::LinkVisited, QPalette::Disabled, false },
+        { PaletteLight, QPalette::Light, QPalette::All, false },
+        { PaletteLightDisabled, QPalette::Light, QPalette::Disabled, false },
+        { PaletteMidlight, QPalette::Midlight, QPalette::All, false },
+        { PaletteMidlightDisabled, QPalette::Midlight, QPalette::Disabled, false },
+        { PaletteDark, QPalette::Dark, QPalette::All, false },
+        { PaletteDarkDisabled, QPalette::Dark, QPalette::Disabled, false },
+        { PaletteMid, QPalette::Mid, QPalette::All, false },
+        { PaletteMidDisabled, QPalette::Mid, QPalette::Disabled, false },
+        { PaletteShadow, QPalette::Shadow, QPalette::All, false },
+        { PaletteShadowDisabled, QPalette::Shadow, QPalette::Disabled, false },
+        { PalettePlaceholderText, QPalette::PlaceholderText, QPalette::All, false },
+        { PalettePlaceholderTextDisabled, QPalette::PlaceholderText, QPalette::Disabled, false },
+    };
+
+    for (auto entry : mapping) {
+        const QColor themeColor = color(entry.themeColor);
+        // Use original color if color is not defined in theme.
+        if (themeColor.isValid()) {
+            if (entry.setColorRoleAsBrush)
+                // TODO: Find out why sometimes setBrush is used
+                pal.setBrush(entry.paletteColorGroup, entry.paletteColorRole, themeColor);
+            else
+                pal.setColor(entry.paletteColorGroup, entry.paletteColorRole, themeColor);
+        }
+    }
+
+    return pal;
+}
+}
diff --git a/src/UI/Theme/Theme.hh b/src/UI/Theme/Theme.hh
new file mode 100644
index 0000000000000000000000000000000000000000..d2adc518e0498e09423311741856ab5aff30baad
--- /dev/null
+++ b/src/UI/Theme/Theme.hh
@@ -0,0 +1,503 @@
+#pragma once
+
+#include "../../Lib/Utils.hh"
+
+// #include "../../Lib/Log.hh"
+
+namespace Vivy
+{
+class Private;
+class Theme;
+
+class Theme final : public QObject {
+    Q_OBJECT
+
+public:
+    enum class Type { QtCreator, System, QssFile };
+    enum class VivyTheme { Dark, Light, ___COUNT };
+
+    struct HighlightingTheme final {
+        const QBrush functionForeground;
+        const QBrush keywordForeground;
+        const QBrush valueForeground;
+        const QBrush commentForeground;
+        const QBrush memberForeground;
+        const QBrush enumForeground;
+    };
+
+private:
+    struct Private;
+
+    Theme(const QString &id, QObject *parent = nullptr) noexcept;
+    void readSettings(QSettings *const settings) noexcept;
+
+public:
+    ~Theme() noexcept override;
+
+    [[nodiscard("free")]] static Theme *fromQssFile(const QString &, const QString &) noexcept;
+    [[nodiscard("free")]] static Theme *fromSettings(const QString &, QSettings *const) noexcept;
+    [[nodiscard("free")]] static Theme *fromVivyTheme(const QString &, const VivyTheme) noexcept;
+
+    void applyToApplication() const noexcept;
+    [[nodiscard]] const HighlightingTheme &getHighlightingTheme() const noexcept;
+
+    enum Color {
+        BackgroundColorAlternate,
+        BackgroundColorDark,
+        BackgroundColorHover,
+        BackgroundColorNormal,
+        BackgroundColorSelected,
+        BackgroundColorDisabled,
+        BadgeLabelBackgroundColorChecked,
+        BadgeLabelBackgroundColorUnchecked,
+        BadgeLabelTextColorChecked,
+        BadgeLabelTextColorUnchecked,
+        CanceledSearchTextColor,
+        ComboBoxArrowColor,
+        ComboBoxArrowColorDisabled,
+        ComboBoxTextColor,
+        DetailsButtonBackgroundColorHover,
+        DetailsWidgetBackgroundColor,
+        DockWidgetResizeHandleColor,
+        DoubleTabWidget1stSeparatorColor,
+        DoubleTabWidget1stTabActiveTextColor,
+        DoubleTabWidget1stTabBackgroundColor,
+        DoubleTabWidget1stTabInactiveTextColor,
+        DoubleTabWidget2ndSeparatorColor,
+        DoubleTabWidget2ndTabActiveTextColor,
+        DoubleTabWidget2ndTabBackgroundColor,
+        DoubleTabWidget2ndTabInactiveTextColor,
+        EditorPlaceholderColor,
+        FancyToolBarSeparatorColor,
+        FancyTabBarBackgroundColor,
+        FancyTabBarSelectedBackgroundColor,
+        FancyTabWidgetDisabledSelectedTextColor,
+        FancyTabWidgetDisabledUnselectedTextColor,
+        FancyTabWidgetEnabledSelectedTextColor,
+        FancyTabWidgetEnabledUnselectedTextColor,
+        FancyToolButtonHoverColor,
+        FancyToolButtonSelectedColor,
+        FutureProgressBackgroundColor,
+        InfoBarBackground,
+        InfoBarText, // TODO: Deprecate. Unused.
+        MenuBarEmptyAreaBackgroundColor,
+        MenuBarItemBackgroundColor,
+        MenuBarItemTextColorDisabled,
+        MenuBarItemTextColorNormal,
+        MenuItemTextColorDisabled,
+        MenuItemTextColorNormal,
+        MiniProjectTargetSelectorBackgroundColor, // TODO: Deprecate. -> Utils::StyleHelper().baseColor()
+        MiniProjectTargetSelectorBorderColor,
+        MiniProjectTargetSelectorSummaryBackgroundColor, // TODO: Deprecate. -> Utils::StyleHelper().baseColor()
+        MiniProjectTargetSelectorTextColor,
+        OutputPaneButtonFlashColor,
+        OutputPaneToggleButtonTextColorChecked,
+        OutputPaneToggleButtonTextColorUnchecked,
+        PanelStatusBarBackgroundColor,
+        PanelsWidgetSeparatorLineColor, // TODO: Deprecate. Unused.
+        PanelTextColorDark,
+        PanelTextColorMid,
+        PanelTextColorLight,
+        ProgressBarColorError,
+        ProgressBarColorFinished,
+        ProgressBarColorNormal,
+        ProgressBarTitleColor,
+        ProgressBarBackgroundColor,
+        SplitterColor,
+        TextColorDisabled,
+        TextColorError,
+        TextColorHighlight,
+        TextColorHighlightBackground,
+        TextColorLink,
+        TextColorLinkVisited,
+        TextColorNormal,
+        ToggleButtonBackgroundColor,
+        ToolBarBackgroundColor,
+        TreeViewArrowColorNormal,
+        TreeViewArrowColorSelected,
+
+        /* Palette for QPalette */
+
+        PaletteWindow,
+        PaletteWindowText,
+        PaletteBase,
+        PaletteAlternateBase,
+        PaletteToolTipBase,
+        PaletteToolTipText,
+        PaletteText,
+        PaletteButton,
+        PaletteButtonText,
+        PaletteBrightText,
+        PaletteHighlight,
+        PaletteHighlightedText,
+        PaletteLink,
+        PaletteLinkVisited,
+
+        PaletteLight,
+        PaletteMidlight,
+        PaletteDark,
+        PaletteMid,
+        PaletteShadow,
+
+        PaletteWindowDisabled,
+        PaletteWindowTextDisabled,
+        PaletteBaseDisabled,
+        PaletteAlternateBaseDisabled,
+        PaletteToolTipBaseDisabled,
+        PaletteToolTipTextDisabled,
+        PaletteTextDisabled,
+        PaletteButtonDisabled,
+        PaletteButtonTextDisabled,
+        PaletteBrightTextDisabled,
+        PaletteHighlightDisabled,
+        PaletteHighlightedTextDisabled,
+        PaletteLinkDisabled,
+        PaletteLinkVisitedDisabled,
+
+        PaletteLightDisabled,
+        PaletteMidlightDisabled,
+        PaletteDarkDisabled,
+        PaletteMidDisabled,
+        PaletteShadowDisabled,
+
+        PalettePlaceholderText,
+        PalettePlaceholderTextDisabled,
+
+        /* Icons */
+
+        IconsBaseColor,
+        IconsDisabledColor,
+        IconsInfoColor,
+        IconsInfoToolBarColor,
+        IconsWarningColor,
+        IconsWarningToolBarColor,
+        IconsErrorColor,
+        IconsErrorToolBarColor,
+        IconsRunColor,
+        IconsRunToolBarColor,
+        IconsStopColor,
+        IconsStopToolBarColor,
+        IconsInterruptColor,
+        IconsInterruptToolBarColor,
+        IconsDebugColor,
+        IconsNavigationArrowsColor,
+        IconsBuildHammerHandleColor,
+        IconsBuildHammerHeadColor,
+        IconsModeWelcomeActiveColor,
+        IconsModeEditActiveColor,
+        IconsModeDesignActiveColor,
+        IconsModeDebugActiveColor,
+        IconsModeProjectActiveColor,
+        IconsModeAnalyzeActiveColor,
+        IconsModeHelpActiveColor,
+
+        /* Code model Icons */
+
+        IconsCodeModelKeywordColor,
+        IconsCodeModelClassColor,
+        IconsCodeModelStructColor,
+        IconsCodeModelFunctionColor,
+        IconsCodeModelVariableColor,
+        IconsCodeModelEnumColor,
+        IconsCodeModelMacroColor,
+        IconsCodeModelAttributeColor,
+        IconsCodeModelUniformColor,
+        IconsCodeModelVaryingColor,
+        IconsCodeModelOverlayBackgroundColor,
+        IconsCodeModelOverlayForegroundColor,
+
+        /* Code model text marks */
+
+        CodeModel_Error_TextMarkColor,
+        CodeModel_Warning_TextMarkColor,
+
+        /* Output panes */
+
+        OutputPanes_DebugTextColor,
+        OutputPanes_ErrorMessageTextColor,
+        OutputPanes_MessageOutput,
+        OutputPanes_NormalMessageTextColor,
+        OutputPanes_StdErrTextColor,
+        OutputPanes_StdOutTextColor,
+        OutputPanes_WarningMessageTextColor,
+        OutputPanes_TestPassTextColor,
+        OutputPanes_TestFailTextColor,
+        OutputPanes_TestXFailTextColor,
+        OutputPanes_TestXPassTextColor,
+        OutputPanes_TestSkipTextColor,
+        OutputPanes_TestWarnTextColor,
+        OutputPanes_TestFatalTextColor,
+        OutputPanes_TestDebugTextColor,
+
+        /* Debugger Log Window */
+
+        Debugger_LogWindow_LogInput,
+        Debugger_LogWindow_LogStatus,
+        Debugger_LogWindow_LogTime,
+
+        /* Debugger Watch Item */
+
+        Debugger_WatchItem_ValueNormal,
+        Debugger_WatchItem_ValueInvalid,
+        Debugger_WatchItem_ValueChanged,
+
+        /* Welcome Plugin */
+
+        Welcome_TextColor,
+        Welcome_ForegroundPrimaryColor,
+        Welcome_ForegroundSecondaryColor,
+        Welcome_BackgroundColor,
+        Welcome_ButtonBackgroundColor,
+        Welcome_DividerColor,
+        Welcome_LinkColor,
+        Welcome_HoverColor,
+        Welcome_DisabledLinkColor,
+
+        /* Timeline Library */
+        Timeline_TextColor,
+        Timeline_BackgroundColor1,
+        Timeline_BackgroundColor2,
+        Timeline_DividerColor,
+        Timeline_HighlightColor,
+        Timeline_PanelBackgroundColor,
+        Timeline_PanelHeaderColor,
+        Timeline_HandleColor,
+        Timeline_RangeColor,
+
+        /* VcsBase Plugin */
+        VcsBase_FileStatusUnknown_TextColor,
+        VcsBase_FileAdded_TextColor,
+        VcsBase_FileModified_TextColor,
+        VcsBase_FileDeleted_TextColor,
+        VcsBase_FileRenamed_TextColor,
+        VcsBase_FileUnmerged_TextColor,
+
+        /* Bookmarks Plugin */
+        Bookmarks_TextMarkColor,
+
+        /* TextEditor Plugin */
+        TextEditor_SearchResult_ScrollBarColor,
+        TextEditor_CurrentLine_ScrollBarColor,
+
+        /* Debugger Plugin */
+        Debugger_Breakpoint_TextMarkColor,
+
+        /* ProjectExplorer Plugin */
+        ProjectExplorer_TaskError_TextMarkColor,
+        ProjectExplorer_TaskWarn_TextMarkColor,
+
+        /* QmlDesigner Plugin */
+        QmlDesigner_BackgroundColor,
+        QmlDesigner_HighlightColor,
+        QmlDesigner_FormEditorSelectionColor,
+        QmlDesigner_FormEditorForegroundColor,
+        QmlDesigner_BackgroundColorDarker,
+        QmlDesigner_BackgroundColorDarkAlternate,
+        QmlDesigner_TabLight,
+        QmlDesigner_TabDark,
+        QmlDesigner_ButtonColor,
+        QmlDesigner_BorderColor,
+        QmlDesigner_FormeditorBackgroundColor,
+        QmlDesigner_AlternateBackgroundColor,
+        QmlDesigner_ScrollBarHandleColor,
+
+        /* Palette for DS Controls */
+
+        DSpanelBackground,
+        DSinteraction,
+        DSerrorColor,
+        DSdisabledColor,
+        DScontrolBackground,
+        DScontrolBackgroundInteraction,
+        DScontrolBackgroundDisabled,
+        DScontrolBackgroundGlobalHover,
+        DScontrolBackgroundHover,
+        DScontrolOutline,
+        DScontrolOutlineInteraction,
+        DScontrolOutlineDisabled,
+        DStextColor,
+        DStextColorDisabled,
+        DStextSelectionColor,
+        DStextSelectedTextColor,
+
+        DSplaceholderTextColor,
+        DSplaceholderTextColorInteraction,
+
+        DSiconColor,
+        DSiconColorHover,
+        DSiconColorInteraction,
+        DSiconColorDisabled,
+        DSiconColorSelected,
+        DSlinkIndicatorColor,
+        DSlinkIndicatorColorHover,
+        DSlinkIndicatorColorInteraction,
+        DSlinkIndicatorColorDisabled,
+        DSpopupBackground,
+        DSpopupOverlayColor,
+        DSsliderActiveTrack,
+        DSsliderActiveTrackHover,
+        DSsliderActiveTrackFocus,
+        DSsliderInactiveTrack,
+        DSsliderInactiveTrackHover,
+        DSsliderInactiveTrackFocus,
+        DSsliderHandle,
+        DSsliderHandleHover,
+        DSsliderHandleFocus,
+        DSsliderHandleInteraction,
+        DSscrollBarTrack,
+        DSscrollBarHandle,
+        DSsectionHeadBackground,
+        DSstateDefaultHighlight,
+        DSstateSeparatorColor,
+        DSstateBackgroundColor,
+        DSstatePreviewOutline,
+        DSchangedStateText,
+        DS3DAxisXColor,
+        DS3DAxisYColor,
+        DS3DAxisZColor,
+        DSactionBinding,
+        DSactionAlias,
+        DSactionKeyframe,
+        DSactionJIT,
+
+        DStableHeaderBackground,
+        DStableHeaderText,
+
+        DSdockContainerBackground,
+        DSdockContainerSplitter,
+        DSdockAreaBackground,
+
+        DSdockWidgetBackground,
+        DSdockWidgetSplitter,
+        DSdockWidgetTitleBar,
+
+        DStitleBarText,
+        DStitleBarIcon,
+        DStitleBarButtonHover,
+        DStitleBarButtonPress,
+
+        DStabContainerBackground,
+        DStabSplitter,
+
+        DStabInactiveBackground,
+        DStabInactiveText,
+        DStabInactiveIcon,
+        DStabInactiveButtonHover,
+        DStabInactiveButtonPress,
+
+        DStabActiveBackground,
+        DStabActiveText,
+        DStabActiveIcon,
+        DStabActiveButtonHover,
+        DStabActiveButtonPress,
+
+        DStabFocusBackground,
+        DStabFocusText,
+        DStabFocusIcon,
+        DStabFocusButtonHover,
+        DStabFocusButtonPress,
+
+        DSnavigatorBranch,
+        DSnavigatorBranchIndicator,
+        DSnavigatorItemBackground,
+        DSnavigatorItemBackgroundHover,
+        DSnavigatorItemBackgroundSelected,
+        DSnavigatorText,
+        DSnavigatorTextHover,
+        DSnavigatorTextSelected,
+        DSnavigatorIcon,
+        DSnavigatorIconHover,
+        DSnavigatorIconSelected,
+        DSnavigatorAliasIconChecked,
+        DSnavigatorDropIndicatorBackground,
+        DSnavigatorDropIndicatorOutline,
+
+        DSheaderViewBackground,
+        DStableViewAlternateBackground,
+
+        DStoolTipBackground,
+        DStoolTipOutline,
+        DStoolTipText,
+
+        DSUnimportedModuleColor
+    };
+
+    enum Gradient {
+        DetailsWidgetHeaderGradient,
+    };
+
+    enum ImageFile {
+        IconOverlayCSource,
+        IconOverlayCppHeader,
+        IconOverlayCppSource,
+        IconOverlayPri,
+        IconOverlayPrf,
+        IconOverlayPro,
+        StandardPixmapFileIcon,
+        StandardPixmapDirIcon
+    };
+
+    enum Flag {
+        DrawTargetSelectorBottom,
+        DrawSearchResultWidgetFrame,
+        DrawIndicatorBranch,
+        DrawToolBarHighlights,
+        DrawToolBarBorders,
+        ComboBoxDrawTextShadow,
+        DerivePaletteFromTheme,
+        ApplyThemePaletteGlobally,
+        FlatToolBars,
+        FlatSideBarIcons,
+        FlatProjectsMode,
+        FlatMenuBar,
+        ToolBarIconShadow,
+        WindowColorAsBase,
+        DarkUserInterface
+    };
+
+    Q_ENUM(Color)
+    Q_ENUM(ImageFile)
+    Q_ENUM(Gradient)
+    Q_ENUM(Flag)
+
+    Q_INVOKABLE bool flag(Flag f) const noexcept;
+    Q_INVOKABLE QColor color(Color role) const noexcept;
+    QString imageFile(ImageFile imageFile, const QString &fallBack) const noexcept;
+    QGradientStops gradient(Gradient role) const noexcept;
+    QPalette palette() const noexcept;
+    QStringList preferredStyles() const noexcept;
+    QString defaultTextEditorColorScheme() const noexcept;
+
+    QString id() const noexcept;
+    QString filePath() const noexcept;
+    QString displayName() const noexcept;
+    void setDisplayName(const QString &displayName) noexcept;
+
+private:
+    QPair<QColor, QString> readNamedColor(const QString &color) const;
+    Private *const d;
+
+    const Theme::HighlightingTheme darkHighlightingTheme = {
+        .functionForeground = Qt::darkCyan,
+        .keywordForeground  = Qt::darkYellow,
+        .valueForeground    = QColor(Qt::cyan).darker(120),
+        .commentForeground  = QColor(Qt::darkGray).darker(120),
+        .memberForeground   = QColor(Qt::darkGray).lighter(160),
+        .enumForeground     = QColor(Qt::magenta).darker(170),
+    };
+
+    const Theme::HighlightingTheme lightHighlightingTheme = {
+        .functionForeground = Qt::blue,
+        .keywordForeground  = Qt::darkBlue,
+        .valueForeground    = Qt::red,
+        .commentForeground  = QColor(Qt::darkGray).darker(120),
+        .memberForeground   = QColor(Qt::darkGray).lighter(120),
+        .enumForeground     = Qt::darkMagenta,
+    };
+
+    const Theme::HighlightingTheme highlightingTheme[Utils::toUnderlying(VivyTheme::___COUNT)] = {
+        darkHighlightingTheme,
+        lightHighlightingTheme,
+    };
+};
+}
diff --git a/src/UI/Theme/ThemeMac.hh b/src/UI/Theme/ThemeMac.hh
new file mode 100644
index 0000000000000000000000000000000000000000..93d1e0ea1bce5724d911522248866832a0625ee2
--- /dev/null
+++ b/src/UI/Theme/ThemeMac.hh
@@ -0,0 +1,6 @@
+#pragma once
+
+namespace Vivy::Utils
+{
+void forceMacOSLightAquaApperance();
+}
diff --git a/src/UI/Theme/ThemeMac.mm b/src/UI/Theme/ThemeMac.mm
new file mode 100644
index 0000000000000000000000000000000000000000..9b2d3d6f912948b0194004e5aba951ba4f2ba2d4
--- /dev/null
+++ b/src/UI/Theme/ThemeMac.mm
@@ -0,0 +1,21 @@
+#include "ThemeMac.hh"
+#include <AppKit/AppKit.h>
+
+#if !QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_14)
+@interface NSApplication (MojaveForwardDeclarations)
+@property (strong) NSAppearance *appearance NS_AVAILABLE_MAC(10_14);
+@end
+#endif
+
+namespace Vivy::Utils {
+void forceMacOSLightAquaApperance()
+{
+#if __has_builtin(__builtin_available)
+    if (__builtin_available(macOS 10.14, *))
+#else // Xcode 8
+    if (QOperatingSystemVersion::current() >= QOperatingSystemVersion(QOperatingSystemVersion::MacOS, 10, 14, 0))
+#endif
+        NSApp.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
+}
+
+}
diff --git a/src/VivyApplication.cc b/src/VivyApplication.cc
index d474fca4c21e01152380f3f4b5ff196d013d1cfa..907e02c0dca08eca00a0d7bcafee3acece9b304b 100644
--- a/src/VivyApplication.cc
+++ b/src/VivyApplication.cc
@@ -1,6 +1,8 @@
 #include "VivyApplication.hh"
 #include "UI/MainWindow.hh"
 #include "UI/DockWidgetTitleBar.hh"
+#include "UI/LogConsole.hh"
+#include "UI/Theme/Theme.hh"
 #include "Lib/Document/VivyDocumentStore.hh"
 #include "Lib/Document/VivyDocument.hh"
 #include "Lib/Script/ScriptStore.hh"
@@ -40,27 +42,28 @@ VivyApplication::VivyApplication(int &argc, char **argv)
     }
 }
 
+VivyApplication::~VivyApplication() noexcept {}
+
 void
-VivyApplication::setTheme(Theme theme) noexcept
+VivyApplication::setTheme(Theme::Type theme, Theme::VivyTheme preferedColor) noexcept
 {
-    if (theme == Theme::System) {
-        logInfo() << "Set theme to system theme";
+    if (theme == Theme::Type::System) {
         return;
     }
 
-    const QString sheet = theme == Theme::Dark ? QStringLiteral(":qdarkstyle/dark/style.qss")
-                                               : QStringLiteral(":qdarkstyle/light/style.qss");
-
-    QFile stylesheet(sheet);
-    if (!stylesheet.exists()) {
-        logFatal() << "Missing stylesheet!";
-        exit(EXIT_FAILURE);
-    } else {
-        stylesheet.open(QFile::ReadOnly | QFile::Text);
-        QTextStream stylesheetStream(&stylesheet);
-        setStyleSheet(stylesheetStream.readAll());
-        logInfo() << "Theme set using " << VIVY_LOG_QUOTED(sheet);
+    else if (theme == Theme::Type::QtCreator) {
+        QSettings settings(QStringLiteral(":theme/design.creatortheme"), QSettings::IniFormat);
+        qtCreatorThemePtr.reset(Vivy::Theme::fromSettings("QtCreator", &settings));
+        qtCreatorThemePtr->applyToApplication();
+        return;
     }
+
+    if (theme != Theme::Type::QssFile) {
+        qFatal("Unknown Theme type");
+    }
+
+    qtCreatorThemePtr.reset(Vivy::Theme::fromVivyTheme("VivyTheme", preferedColor));
+    qtCreatorThemePtr->applyToApplication();
 }
 
 int
@@ -82,8 +85,7 @@ VivyApplication::exec() noexcept
     setAttribute(Qt::AA_DontShowIconsInMenus, false);
     setAttribute(Qt::AA_DontShowShortcutsInContextMenus, false);
     setFont(getApplicationFont(Font::Default));
-    setTheme(Theme::Dark); // TODO: Set system theme for now (because we
-                           // don't have a central theme provider).
+    setTheme(Theme::Type::QtCreator, Theme::VivyTheme::Dark);
 
     // Cursor blinking
     setCursorFlashTime(0);
@@ -105,7 +107,7 @@ VivyApplication::exec() noexcept
 
     case ApplicationType::GUI: {
         // Show the main window, also set up the log console
-        mainWindowPtr               = std::make_shared<MainWindow>();
+        mainWindowPtr               = std::make_unique<MainWindow>();
         QDockWidget *logConsoleDock = new QDockWidget("Console", mainWindowPtr.get());
         LogConsole *logConsole      = new LogConsole(mainWindowPtr.get());
         std::shared_ptr<ConsoleLogSinkDispatcher> consoleLogSinkDispatcher =
diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh
index 654989b1805c41220045f297bfeca642a51f3632..4d67f0ec94850af9a26ec6b319108f0c6a3ef614 100644
--- a/src/VivyApplication.hh
+++ b/src/VivyApplication.hh
@@ -36,11 +36,14 @@
 
 // Detect MacOS
 #if defined(Q_OS_DARWIN) || defined(Q_OS_MACOS)
-#define VIVY_MACOS
+#define VIVY_MACOS 1
+#else
+#define VIVY_MACOS 0
 #endif
 
 #include "Lib/Log.hh"
-#include "UI/LogConsole.hh"
+#include "Lib/HostOsInfo.hh"
+#include "UI/Theme/Theme.hh"
 
 namespace Vivy
 {
@@ -50,6 +53,7 @@ class VivyDocumentStore;
 class AbstractDocument;
 class ScriptDocument;
 class VivyDocument;
+class Theme;
 
 // Vivy application class
 class VivyApplication : public QApplication {
@@ -73,8 +77,6 @@ public:
         DefaultBoldItalic
     };
 
-    enum class Theme { System, Dark, Light };
-
 private:
     int fontIdMonospace;
     int fontIdMonospaceBold;
@@ -83,7 +85,8 @@ private:
     int fontIdBold;
     int fontIdBoldItalic;
 
-    std::shared_ptr<MainWindow> mainWindowPtr{ nullptr };
+    std::unique_ptr<Vivy::Theme> qtCreatorThemePtr{ nullptr };
+    std::unique_ptr<MainWindow> mainWindowPtr{ nullptr };
     bool useFakeVim{ false };
     ApplicationType selectedType{ ApplicationType::GUI };
 
@@ -93,6 +96,7 @@ private:
 
 public:
     VivyApplication(int &argc, char **argv);
+    ~VivyApplication() noexcept override;
 
     int exec() noexcept;
 
@@ -100,11 +104,11 @@ public:
     [[nodiscard]] MainWindow *getMainWindow() const;
     [[nodiscard]] AbstractDocument *getCurrentDocument() const;
     [[nodiscard]] bool getUseFakeVimEditor() const noexcept;
+    [[nodiscard]] const Theme *getTheme() const noexcept { return qtCreatorThemePtr.get(); }
+    [[nodiscard]] std::shared_ptr<LogSink> getLogSink() noexcept { return logSink; }
 
     void setUseFakeVimEditor(bool) noexcept;
-    void setTheme(Theme) noexcept;
-
-    std::shared_ptr<LogSink> getLogSink() noexcept { return logSink; }
+    void setTheme(Theme::Type, Theme::VivyTheme) noexcept;
 };
 
 }