It used to hide to bottom part of the vertical scrollbar of editors, but
it moved a bit to the left. It will still hide some UI, but the issue is
probably less ugly now, and can still be turned off by users.
Change-Id: I9522658f658300212cd205f9e07b165b2dd393f8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Adds a "subtitle" text that is shown below the progress
bar if it is set, similar to how it is done manually for
the search result "Found 123." counter.
Optionally also shown in the status bar if the details are
not open (like for the search result counter).
Task-number: QTCREATORBUG-21584
Change-Id: I0b3bf52567227f7c07de51520079c0b12a265be3
Reviewed-by: David Schulz <david.schulz@qt.io>
Adds a Help > UI Introduction, which highlights basic aspects of the Qt
Creator UI.
The pages to show are defined in a format that can later move into a
text based configuration file like JSON. It specifies an optional object
name of a widget to highlight, a title, a brief description and a longer
description (potentially with tables, lists and other simple HTML).
Fixes: QTCREATORBUG-21585
Change-Id: Idb64c87e1d752bc24437588278093a96be0eeddb
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Issue in Qt 5.9.4 & 5.10.1.
This should be reverted the moment that is fixed.
Task-number: QTCREATORBUG-19716
Change-Id: I9ae187a43d0054f162491308d30b9a5b96465ec4
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Instead of relying on addObject notification, provide a
StatusBarManager::addStatusBarWidget() method to create,
register and keep track of an IContext object.
That's essentially what was StatusBarWidget before, but does
not need to be known on the user side. For removal, this
provides a StatusBarManager::destroyStatusBarWidget(),
any not explicitly removed items are handled in response
to ICore::coreAboutToClose()
The StatusBarManager class is fully static now, could
be a namespace.
Change-Id: Ia2bd13b391c3f68c8dfd584b53524a9649cc0787
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The popup is corresponding to the button (and the summary progress bar),
and that automatically also moves it away from the right border a bit.
Task-number: QTCREATORBUG-19308
Change-Id: Ie6f72f19552285586395776b175ca142f56c7d6e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Ctrl+0 was confliciting with "Reset Font Size".
Task-number: QTCREATORBUG-17857
Change-Id: I280c65446fd1f8ce3af66b06760ed7b9b210e8c3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Call updateVisibility() in ProgressManagerPrivate::init() to ensure that
it is really invisible when launching Qt Creator.
Also make sure that the opacity for the visible progress bar is 1.0
instead of 0.7 (which is the default opacity in QGraphicsOpacityEffect).
Task-number: QTCREATORBUG-16003
Change-Id: Ic268d903ce624c9e0b4c11e213002a22be1fba63
Reviewed-by: hjk <hjk@qt.io>
Theme::widgetStyle with its two possible return values makes less sense
than a bool flag. Especially since we already have several separate
theme flags for ui elements which might be "flat" or not.
Change-Id: Ic521bb58c04386b735b784079de05e521bc1f45f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
If a container is given to mapReduce, it takes the responsibility to
report progress information for the whole operation. If the map function
reports its own progress, that is taken into account for the overall
progress.
The (so far only unordered) Utils::map operation can be used to replace
MultiTask, by passing a member function of the items in the container as
a map function.
Change-Id: I18ca38a6ad2899d73f590bfe59bf2e6eb2f1a57a
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
The transition phase from having it in the mode bar is long over, so
people that were used to always seeing the detailed view it will either
have adapted, or have it set in their settings.
Not showing the details is the saner default setting, since the popup
does and will always hide other UI like the editor scrollbar, buttons in
find tool bar, content of output panes, etc etc.
Change-Id: Ib34dee976c46b5d19b81cebcca416612b673fb29
Task-number: QTCREATORBUG-9837
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
... and default to C_GLOBAL. A rather common case.
Similar for ActionContainer::addSeparator().
Change-Id: I7f9ba573af201c0a472132d5a494ad17cc4175b7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
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>
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>
Horizontally centered. Vertically less unbalanced. And now also it also
works nicely in High-Dpi mode.
Change-Id: Ie02794fcda251c054f4f0a24b1f14f8f5a8e8847
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
Currently we pass in some places by value, elsewhere by const ref and
for some weird reason also by const value in a lot of places. The latter
is particularly annoying, as it is also used in interfaces and therefore
forces all implementors to do the same, since leaving the "const" off is
causing compiler warnings with MSVC.
Change-Id: I65b87dc3cce0986b8a55ff6119cb752361027803
Reviewed-by: hjk <hjk121@nokiamail.com>
QFutureInterface acts by a shared pointer itself, so use that to
guards against the QFutureInterface object being destroyed while
the timer is running.
This feels awkward as QFutureInterfaceBase::future() is non-const
for unknown reason.
Change-Id: I1d43abe0c27183af2f01cf269e2a94d2fcaba46e
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
The indirection of the "virtual + implementation inheritance" pattern is
kind of subset of the "static" pattern, no need to have both.
Change-Id: I4e2c2742dae94819ee05c7925c02b954a8c6294b
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
ProgressManager and ActionManager are no longer retrieved via ICore,
and most accesses do not go via the instance anymore.
Change-Id: Ib0c3033270051aaadfb25e0b2b0eaf7bdec63a1d
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Only methods as programming functions are affected. Besides renaming
some actions like "Switch Between Function Declaration/Definition" this
mostly touches (api) code comments.
This is a follow-up patch to commit 872bfb7.
Change-Id: Icb65e8d73b59a022f8885b14df497169543a3b92
Reviewed-by: hjk <hjk121@nokiamail.com>
It was annoying that it wasn't possible to click on the summary progress
bar to e.g. open the compile output or issues pane, even when you had
only a build running.
This change forwards the click to either the progress that currently
shows a details widget in the status bar (like the build errors/warnings
from the build progress), or to the last progress that was started.
Change-Id: I4b50dd4b43bdc12fac329d33e158fa759bee4d28
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
The total range was sum of individual ranges so far, so e.g. parsing/
2).
Change-Id: Ia9133376be3219c12101435ba2e2ae27c32df6f8
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>