ColorTip:
Draw the border around the color tooltip properly.
MiniProjectTargetSelector:
Fixing a few misplaced outlines
FancyActionBar:
Fixing a few misplaced outlines, also:
- deduplicate hover gradient painting code
- use pixmapcache for the hover gradient
- only draw the hover gradient if the tab is hovered
- use 0-255 as range for fading value
QtQuick Designer:
HighDPI form editor icons, and removing some since a
while unused icons.
ProjectExplorer Mode:
HighDPI graphics and fixing a few misplaced outlines
Task-number: QTCREATORBUG-15222
Change-Id: I4fcf515014317791499ad89bf6ef88d961e4b752
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Make the styling work better, especially when the kit information
is displayed in the MiniProjectTargetSelector.
Change-Id: I562c1c92942afbfec1b960740a326c4dd002864f
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Make sure the widgets get updated. This used to work implicitly for
QComboBoxes, but not for other widgets.
Task-number: QTCREATORBUG-14774
Change-Id: I84440090e459b60fee268693ba0857ea1c0fe5c2
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This makes some of the more obscure KitInformation useable in that place.
Task-number: QTCREATORBUG-14774
Change-Id: I55f39f2275d96782ee6490d7160ade0c3a5623e1
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This is far from perfect but seems to work. Further work could add more
fine grained control over which projects are affected by the automatic
synchronize. Also there might be a few cases where the switching is
over zealous or missing.
Change-Id: I26ad3d59431251564917e4b408c66695dc454823
Task-number: QTCREATORBUG-5823
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Simplify the code a bit, and make it work while at it:-)
Change-Id: I4eb613ce526e148c18588443e5153d6e0118fa01
Reviewed-by: Daniel Teske <daniel.teske@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: I1d05d48b23f44e3d589cc2a790803714786b57d2
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>
Qt 5.3 is the minimum requirement these days. Remove all fallback code
from sources and project files.
Change-Id: If6188a471197acadda4d6baee71804ba1a8026c6
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Add Utils::transform and anyOf that take a member function pointer.
Remove bestElementOr it's unused.
Use declval<T> in transform's return type, because msvc does evaluate
T() and for types that don't have simple constructor this fails.
Add std::remove_reference since decltype returns a reference for
lvalues.
Change-Id: I22248b226748eeb27af0d300182d574438d7f756
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
ListWidget::padding() returned a contant 30, which can be too small if
the style has wider scrollbars than that.
This patch add pixel metrics from the style to roughly calculate the
needed padding, and adds 10 pixels to it.
Change-Id: Ia9b54174f9a91dee80ad99b4d9ad2489cde220c5
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
We need to sort indexes based on results. Also fix that with
too tooSmall being true, <= was used instead of <.
Broken in 12103e0f67
Change-Id: Ia8b7484fdea41776050b1a7ef85789cc49deab78
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reproducible on Mac OS X.
Set position before changing the visible state.
Change-Id: I8a7e73dae94ceb865ea8a7ef4cec4112220888de
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
setPalette() does not replace the old one but rather adds the
difference. Thus a previous copy of the palette is unnecessary.
Change-Id: I5c06da456b76144efc4a984ccda13c7d2243a7bc
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Use it instead of retrieving this information from the document.
Change-Id: I809fcb2daf59021cf503c371a5d40d75d7448796
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
That is what it actually is, wrt how Qt API calls it.
Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Fix MiniProjectTargetSelector becoming too small when no sidebar is
displayed.
Task-number: QTCREATORBUG-9423
Change-Id: I40f9093f7217448c3b29a699aa8e07710127d608
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The keypress event would be forwarded to QWidget::keyPressEvent, but not
the release event.
Change-Id: I98e87b9f8da1133f55b2f4fae246047db1809536
Reviewed-by: Eike Ziller <eike.ziller@digia.com>