Commit Graph

12 Commits

Author SHA1 Message Date
Alessandro Portale
9573ead443 Removing the ThemeEditor
The Theme editor is a feature which was present but disabled since the
introduction of Themes. It is still unfinished and unlikely to be
finished.

An alternative, cheaper approch could be installing a file watcher
on a theme file, and reloading it on any change. But for that we
would still need proper theme switching during runtime.

Change-Id: Ifd44e8c25c924a8f021618d20ce126648a3558a3
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2016-01-14 08:40:02 +00:00
Eike Ziller
11f6162739 Themes: Fix issues with restoring themes.
Themes from the user config where not restored correctly.
Improve error handling when no themes are found
in case of broken installations.
Cleanly differentiate between theme "id" (currently complete basename of
theme file) and theme "displayName" (as specified as a property in the
theme file).
Remove convoluted broken code that tried to allow using an absolute file
path for a theme on the command line and require themes to be installed
either in Qt Creator globally or in the user settings path.
In general stream line the code.

Task-number: QTCREATORBUG-15113
Task-number: QTCREATORBUG-15233
Change-Id: I014a4314e8bea27422ed4c42462cf16f4220698b
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-11-06 19:37:16 +00:00
Eike Ziller
2db21dc201 Split general settings page in two
It was too crowded to add anything to it. Split it into "interface" and
"system" related pages.

Change-Id: I2aa7984de4d672ca000e991b0cfb32a3f706c988
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-09-01 10:48:12 +00:00
Eike Ziller
9926fc2ab1 Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'
Conflicts:
	src/libs/utils/tooltip/tipcontents.cpp
	src/libs/utils/tooltip/tipcontents.h
	src/plugins/android/androiddeployqtstep.cpp
	src/plugins/baremetal/baremetalconstants.h
	src/plugins/baremetal/baremetaldevice.cpp
	src/plugins/baremetal/baremetaldevice.h
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.h
	src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h
	src/plugins/baremetal/baremetalplugin.cpp
	src/plugins/baremetal/baremetalplugin.h
	src/plugins/baremetal/baremetalruncontrolfactory.cpp
	src/plugins/baremetal/baremetalruncontrolfactory.h
	src/plugins/cppeditor/cppcodemodelinspectordialog.cpp
	src/plugins/cppeditor/cppdoxygen_test.cpp
	src/plugins/cppeditor/cppdoxygen_test.h
	src/plugins/debugger/breakpointmarker.cpp
	src/plugins/debugger/debuggeritemmodel.cpp
	src/plugins/debugger/debuggeritemmodel.h
	src/plugins/debugger/loadcoredialog.cpp
	src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
	src/plugins/projectexplorer/addnewmodel.cpp
	src/plugins/projectexplorer/addnewmodel.h
	src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.h
	src/plugins/qmlprofiler/notesmodel.cpp
	src/plugins/qmlprofiler/qml/CategoryLabel.qml
	src/plugins/qmlprofiler/qml/MainView.qml
	src/plugins/qmlprofiler/qml/Overview.js
	src/plugins/qmlprofiler/qml/Overview.qml
	src/plugins/qmlprofiler/qml/TimeDisplay.qml
	src/plugins/qmlprofiler/qml/TimeMarks.qml
	src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.h
	src/plugins/qmlprofiler/timelinemodelaggregator.cpp
	src/plugins/qmlprofiler/timelinemodelaggregator.h
	src/plugins/qmlprofiler/timelinerenderer.cpp
	src/plugins/qmlprofiler/timelinerenderer.h
	src/plugins/qmlprojectmanager/QmlProjectManager.json.in
	src/plugins/texteditor/findinfiles.cpp
	src/plugins/vcsbase/vcsconfigurationpage.cpp
	src/shared/qbs
	src/shared/scriptwrapper/interface_wrap_helpers.h
	src/shared/scriptwrapper/wrap_helpers.h
	tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp
	tests/system/suite_debugger/tst_debug_empty_main/test.py
	tests/system/suite_debugger/tst_qml_js_console/test.py
	tests/system/suite_debugger/tst_qml_locals/test.py

Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
2015-02-12 17:29:21 +01:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Orgad Shaneh
7f34158041 Core: Cosmetics
* Remove redundant namespace qualifiers
* Qt5-ify some signal/slot connections
* Replace some using Core::Internal with explicit namespace scopes

Change-Id: Id1aae05e2c6fc2992c2716e1f8f9e985c6e56122
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-26 13:46:38 +01:00
Orgad Shaneh
bb4a58304d Fix compilation
Change-Id: Idf445b94c1b43ab4f4c3b2e121134f7a722be1d6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-11-07 10:02:26 +01:00
Orgad Shaneh
c1a76f8cc1 Core: Separate theme settings widget from options page
Change-Id: I6537e592f87969af5c2e53606a704fabec62fedc
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-11-07 09:38:23 +01:00
Thorben Kroeger
82bbc6f562 Theming: Allow to apply theme palette globally
Change-Id: I709bd6b6c566e016731af1fb94ddaef6326ef485
Reviewed-by: Thorben Kroeger <thorbenkroeger@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-11-06 08:40:49 +01:00
Thomas Hartmann
3c88d65a21 Fix warning
Unused variable

Change-Id: Ic7baf8b17cb0b6a5091efe3bfe262ed42b1e9bda
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
2014-10-16 16:06:04 +02:00
Thomas Hartmann
4073016aba Theming: Do not set the global palette
Setting the global palette is not a very good idea, because
it interferes with native styling.

On Windows 7 the dark theme was unuasable, because the text on
all natives controls was to bright.

All native controls and the global palette should be left alone.
Wherever we want styling/theming we have to use Manhatten style.

Change-Id: Ia1d0bfb190e4bde7be72f751afc0846570c1189d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-10-16 10:35:20 +02:00
Thorben Kroeger
84f5585b5d Implement theming for QtCreator
Adds a 'Theme' tab to the environment settings and a '-theme' command
line option.
A theme is a combination of colors, gradients, flags and style
information.

There are two themes:
- 'default': preserves the current default look
- 'dark': uses a more flat for many widgets, dark color theme
  for everything

This does not use a stylesheet (too limited), but rather sets
the palette via C++ and modifies drawing behavior.
Overall, the look is more flat (removed some gradients and bevels).

Tested on Ubuntu 14.04 using Qt 5.4 and running on a KDE
Desktop (Oxygen base style).

For a screenshot, see
https://gist.github.com/thorbenk/5ab06bea726de0aa7473

Changes:
- Introduce class Theme, defining the interface how to access theme
  specific settings. The class reads a .creatortheme file (INI file, via
  QSettings)

  - Define named colors in the [Palette] section
    (see dark.creatortheme for example usage)

  - Use either named colors of AARRGGBB (hex) in the [Colors]
    section

  - A file ending with .creatortheme may be supplied
    to the '-theme' command line option

- A global Theme instance can be accessed via creatorTheme()

- Query colors, gradients, icons and flags from the theme
  were possible (TODO: use this in more places...)

- There are very many color roles. It seems better to me
  to describe the role clearly, and then to consolidate later
  in the actual theme by assigning the same color.
  For example, one can set the text color of the output pane button
  individualy.

- Many elements are also drawn differently.
  For the dark theme, I wanted to have a flatter look.
  - Introduce Theme::WidgetStyle enum, for now {Original, Flat}.
  - The theme specifies which kind of widget style it wants.
  - The drawing code queries the theme's style flag and
    switches between the original, gradient based look and
    the new, flat look.

- Create some custom icons which look better on dark background
  (wip, currently folder/file icons)

- Let ManhattanStyle draw some elements for non-panelwidgets, too
  (open/close arrows in QTreeView, custom folder/file icons)

- For the welcomescreen, pass the WelcomeTheme class.
  WelcomeTheme exposes theme colors as Q_PROPERTY accessible from
  .qml

- Themes can be modified via the 'Themes' tab in the environment
  settings.

TODO:
* Unify image handling
* Avoid style name references
* Fix gradients

Change-Id: I92c2050ab0fb327649ea1eff4adec973d2073944
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-10-15 17:21:10 +02:00