Commit Graph

125 Commits

Author SHA1 Message Date
Alessandro Portale
dff0c9df7a Core: Add the "resourcePath" to the global macro expander
Example use case: Multiple wizard json files want to reference a shared
resource file without using fragile relative paths.

Change-Id: I2502083d4c371c25a8b66e7d5d3b4fb9d8697317
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-05-24 14:23:36 +00:00
hjk
3f5caf4cdc Utils: Wrap MimeDatabase into static functions
To avoid repeating the 'MimeDatabase mdb; mdb.something(); ' mantra
all over the place.

Change-Id: I4bfef62e73275a991455141671d6071162788e9d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-03-03 07:57:54 +00:00
Eike Ziller
d64e17ad55 Move mimetype definitions to plugin specs
- Avoids the hassle of QRC files and manually registering mime types
- Avoids performance regressions because of mime types that are
  registered after mime database has been used
- Makes it technically possible to detect that a disabled plugin could
  handle a mime type if it was enabled

Change-Id: I373008b1b56e9c6b4853055f20b3eeb112a6eff9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-02-27 13:54:59 +00:00
Marco Bubke
ddfd29852a Utils: First step to extend search results for clang query support
We need multi line support, multi text range support. This is only adding
enablers and adds later the multi line and multi text support because this
triggers larger changes because you have to know the text document.

Change-Id: I44e46d9d80d7d73b2650c69cc83657c20c85bfae
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-23 10:48:59 +00:00
Orgad Shaneh
410211e090 Merge remote-tracking branch 'origin/4.2'
Change-Id: Ibb932efece05a5f5613823fbc79c5b7601c73905
2016-11-02 16:52:58 +02:00
Eike Ziller
05bf915c03 Core: Refactor argument handling
Split up getting the data from the arguments list and actually applying
the values, and move the details of theme creation and application to
better places.

This gets rid of ugly control flow details like that
CorePlugin::initialize created the action manager before calling
parseArguments, because that is needed to apply the presentation mode
argument setting, and parseArguments created the main window because
that needs to be created _after_ setting the theme (which can be
overridden by command line argument), but _before_ applying the override
color argument setting.

Change-Id: I9c99305b6efbfcc4b37cea9e5c70d816a621963b
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-02 11:10:18 +00:00
Tobias Hunger
b75c6444d1 Core: Add a reaper that will asynchronously clean up QProcesses
Change-Id: Ic24dde261eac775d1a5854b8dbcbfeb002d0f729
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-10-28 12:28:46 +00:00
Eike Ziller
9e66ce48e4 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/autotest/testcodeparser.cpp
	src/tools/clangbackend/ipcsource/clangbackendclangipc-source.pri
	tests/unit/unittest/unittest.pro

Change-Id: I9db4fbea6ea7c9fdd0d8e1703735af20c92e754b
2016-05-09 16:37:41 +02:00
Eike Ziller
fad08a1e9b OS X: Fix regression for opening projects from Finder
The kits are restored in delayedInitialize now, but the file open event
from Finder was delivered before that. That lead to the projects mode
being opened with the kit configuration screen, but mostly no kits in
it, when double-clicking a .pro file while Qt Creator is not running.

Delay the remote open file command until plugin initialization is really
done.

Change-Id: I1a75f6b1f7bcefb4c53d594de11df0d3a0d2e5d3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-04 09:39:13 +00:00
Oswald Buddenhagen
3c2f0096ea Merge remote-tracking branch 'origin/4.0' 2016-03-22 15:23:12 +01:00
Alessandro Portale
3e040d4c3d Core: Use a constant for the default creator theme
Change-Id: I53ba63cf55fb6918d959b0d396175a3188d62bd9
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-18 11:18:17 +00:00
hjk
bcf7a11c24 Core: Apply 'static' pattern to Core::FindPlugin
Also, rename it to Core::Find. It hasn't been a plugin for a while.

Change-Id: I845885ccf18bdc1440258d523b033758d5583881
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-15 12:43:59 +00:00
Orgad Shaneh
9d0d39495f Rename ThemeSettingsWidget -> ThemeChooser
Change-Id: Ie61dc07d9f8bc8639ff80368a0b2ad4dd62cacb3
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-01-21 08:04:07 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Orgad Shaneh
111a230659 Theme: Remove unused ThemeSettings
Change-Id: I5f3ee8f5afa2ef8618d9a43a10e37a30f771d0af
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-01-14 15:00:01 +00:00
Tobias Hunger
09102ddc7b MacroExpander: Add a way to generate a new UUID
Change-Id: I5c43419f717d84bd9954a4921eb6e6723d331646
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-30 15:49:25 +00:00
Niels Weber
2dc660e698 Silence a warning
Commit 11f6162739 removed
the usage of userProvidedTheme leading to "unused variable"
warning. Remove last traces of userProvidedTheme.

Change-Id: I187d7ac335ec659a5e8a52e38ffe075a98446586
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-11-09 14:34:54 +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
Daniel Teske
cac53ea41f Utils::PathChooser: Allow the core plugin to extend the context menu
And then use this to add the "Open in Graphical Shell" and "Open in
Terminal" actions.

Those actions cannot be implemented in Utils directly since the Core::FileUtils
depends on the Options dialog.

This affects all PathChoosers, and there's currently no way for a PathChooser
to opt out or have a different context menu. That can be added at a later
point.

Change-Id: I22121c19d66f08785381c7e0bca5317628eb6342
Task-number: QTCREATORBUG-14736
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-08-31 14:57:09 +00:00
Tobias Hunger
2221636cfb Core: Add HostOs information to MacroExpander
Change-Id: Ibed6302ce82fce984e42f45eb77a9bb9c1a81f7c
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-10 11:57:11 +00:00
Tobias Hunger
f733f1805a Core: Expose DocumentManager data to MacroExpander
Expose the last visited directory as well as the project directory
stored by the DocumentManager to the MacroExpander.

Change-Id: I7cdbe5e5471b5c96954c74f21187786de7bb9aa3
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-10 11:57:05 +00:00
Tobias Hunger
01a5f9cfc7 MacroExpander: Allow "comment" expansion
%{#: is now treated as a comment and expands to an empty string }

This is useful to add comments about copyright, etc. into the
wizard templates.

Change-Id: I6e25c724edfa4b865d2d4f74b0f4900982d9ea47
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-06-04 15:30:05 +00:00
Tobias Hunger
0b44b6e709 WizardFactory: Trigger scan for wizards early
Trigger scan for wizards in delayedInitialize since we need to
create commands for the wizards. Also make sure wizards are
scanned for when opening the options page, so that the keyboard
shortcut page can be fully populated.

Change-Id: Iefe28dbcb17f43a7ed114f056012fe8f6e4ae352
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-05-27 09:53:28 +00:00
Tobias Hunger
25f2f8e1ee IWizardFactory: Create wizards with factoryCreators
Do not use the object pool to hold potential wizards. Register
FactoryCreator functions with IWizardFactory instead and use
those to create the wizards when necessary.

This saves us a couple of cycles during startup since we can now
delay construction of all wizards and it makes us more flexible
wrt. managing the lifecycle of the wizard factories.

Change-Id: I95d6a6dfcdf0fd995e1934a9fefcd96c6a676753
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-05-26 11:47:53 +00:00
Eike Ziller
50fe3585a8 Merge remote-tracking branch 'origin/3.4'
Conflicts:
	src/libs/timeline/qml/MainView.qml
	src/plugins/git/gitclient.cpp

Change-Id: I0b6ec7b9a592014deb0dd2e1145b19dd6753b1c3
2015-04-15 17:45:47 +02:00
Orgad Shaneh
4a77a31453 Fix plugin error dialog modality
When the dialog is displayed, the welcome mode becomes disabled.

This happens because before the main loop begins, there is no active window, so
the dialog has no parent to return focus to when it is closed.

Change-Id: I2f8830c3c7bc6816d8483e05e81f5abfe5ee335f
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-04-14 08:39:50 +00:00
Eike Ziller
aee54f9df5 Merge remote-tracking branch 'origin/3.4' 2015-03-19 16:00:28 +01:00
Eike Ziller
5d71986585 ActionManager: Remove fallback path for Qt Creator 3.1 settings
Change-Id: I2fe0c76e0ed30b69da9fdba5d9b9de6b46d647d8
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-03-18 08:41:28 +00:00
Eike Ziller
23ec56516e Merge remote-tracking branch 'origin/3.4'
Conflicts:
	src/plugins/coreplugin/coreplugin.cpp

Change-Id: I9aa6c61412e2ef4a91efe028296bcc2d075856d7
2015-03-11 10:35:49 +01:00
Orgad Shaneh
17f2af5082 Fix parsing of filename with position when -client is used
Instead of transforming to absolute paths in the client, pass the
working directory and leave it to the target.

Change-Id: I4f8724c8857e89a7ee77116c78cf8b25c56795fa
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-03-09 16:10:03 +00:00
d3fault
44e7eca559 Add goto column number command line arg to complement goto line number
When specifying a filename as an argument, you can append a colon (or a
plus) followed by a number to indicate which line the cursor should be
positioned at in that file. This patch adds the same functionality but
for the column position as well. Ex: main.cpp:5:4 would open main.cpp
and put the cursor at line 5 column 4. The column number is optional,
just like the line number before it. It should be noted that specified
column numbers larger than the amount of characters available on that
line are wrapped onto subsequent lines.

Change-Id: I50208500fa43e43a9514d2be21630b3c607119a6
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 08:05:42 +00:00
Friedemann Kleint
54da18eaaa Clean exported headers of the Core plugin.
Change-Id: I26472d568844d5fee62323e01f5c5c12082d5450
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-05 07:18:14 +00:00
Eike Ziller
2ed31967c4 Mime type settings: Restore user changes
Change-Id: I6c83989113de3beb5d27eb7c39b5c9e825b541e8
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-02-17 15:19:17 +00:00
Eike Ziller
5a3a940ad3 Use new mime database
Change-Id: I4305872b6b11ef3e8a364280ffa5209a5a793600
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-17 13:00:07 +00:00
Eike Ziller
45e544b442 Merge remote-tracking branch 'origin/3.3'
Change-Id: I79fac4a4e8535153da1b3f73a6b1caad1513ea9c
2015-02-16 12:35:54 +01:00
Sergey Belyashov
62bffaca98 Fix theme loading problem
Error caused by any file named as current theme and placed to directory
which is used for starting Qt Creator (formely user home directory).
For example, create empty file with name 'default', place it to your
home directory (for example: /home/user) and run Qt Creator. As result
you will see black corrupted screen.

To fix this bug I add checks of theme name. Now Qt Creator will only
load theme from current directory if name is explicitly provided by
the user or it is an absolute path.

Change-Id: I0255c8d220d84bd5b51de7ef9d64c66f7f57959c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-13 11:28:47 +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
Orgad Shaneh
428565cb02 Core: Remove unneeded qualifications
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
  next if file =~ %r{src/shared/qbs|/qmljs/}
  s = File.read(file)
  s.scan(/^using namespace (.*);$/) {
    ns = $1
    t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
      before = $1
      char = $2
      if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
        m
      else
        before + char
      end
    }
    if t != s
      puts file
      File.open(file, 'w').write(t)
    end
  }
}

Change-Id: I5c6690f51488bf8ca3610ba9fb11e6e5fd814aaa
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-06 09:06:18 +00: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
Eike Ziller
e40477cc81 ActionManager: transfer ownership from main window to core plugin
Also make a bit less dependent on main window:
- Menus do not need to start with main window as parent.
- Centering the presentation label on the main window is wrong in the
presence of extra windows anyhow. It should be centered on the active
window.

Unfortunately, actions still must be added to the main window, because
actions that are not children of visible widgets do not trigger.

Change-Id: Ibb99644a3723de476db465ebe6a9cdc0820ea692
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-01-12 13:05:17 +01:00
Jarek Kobus
95c13a230e Fix strings
Change-Id: I12e52c7e584d26205b98672a65257af5c55dda24
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2014-12-05 17:19:49 +01:00
Eike Ziller
a47fbb8309 Merge remote-tracking branch 'origin/3.3'
Conflicts:
	src/plugins/coreplugin/coreplugin.cpp
	src/plugins/coreplugin/themesettingswidget.cpp
	src/plugins/qbsprojectmanager/qbsprojectmanager.cpp
	src/plugins/qbsprojectmanager/qbsprojectmanager.h
	src/plugins/qmlprofiler/qml/Overview.js
	src/shared/qbs

Change-Id: Ibe92c166fc5bfbcb4d6964e50ca7298d8459d60e
2014-11-24 15:43:48 +01:00
jkobus
d99c6c347d Fix strings.
We use double quotes instead of single ones.

Change-Id: Ieb0024aec2053bea2a03e5ae09fb576089663ff1
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-11-21 11:07:56 +01:00
Orgad Shaneh
3441594636 Theming: Do not use absolute path for built-in themes
+ always set the global palette and base style on apply

This is required for correctly using the selected theme
with multiple installations of Qt Creator.

Task-number: QTCREATORBUG-13203
Task-number: QTCREATORBUG-13396
Change-Id: I036b96721b6d184dae43d08c5e8bc9e6d1328a7b
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-11-20 11:35:16 +01:00
Orgad Shaneh
3ec16fe4d8 Theming: Store initial palette
Change-Id: Iea8b74534a59d8410814f9dd41225b88e1e81f75
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-11-20 11:35:11 +01:00
Dieter Piringer
4a4ee5cda0 Core: Fix segfault with -presentationMode
Change-Id: I5db01695fd6af338348994bed7498a3d4c7676ea
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-11-09 09:07:32 +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
Orgad Shaneh
061860551a Theme: Delete on shutdown
Change-Id: I54a7122f72e3c13c239af1b4293b187cff5b1fd2
Reviewed-by: Thorben Kroeger <thorbenkroeger@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-22 05:07:53 +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