Age | Commit message (Collapse) | Author |
|
|
|
The moc_compilation file became unbearable large, easily taking 10 minutes
to compile whenever a Q_OBJECT changes.
AUTOMOC scans for <basename>_moc.cpp includes and does not add the file
to the moc_compilation whenever it is included in the propper cpp file.
After this patch, moc_compilation.cpp is empty and the mocs are compiled
with the approptial cpp, increasing recompile speeds by a factor of 10 when
just a header file changed.
|
|
|
|
Fixes a bunch of `-Wclazy-function-args-by-ref` warnings. See
https://github.com/KDE/clazy/blob/master/docs/checks/README-function-args-by-ref.md
for details.
Most of these changes are automated, using the clazy fixit by setting
the `CLAZY_EXPORT_FIXES` before compilation and then running:
$ mkdir /tmp/patch
$ find ../src -iname "*.yaml" -exec mv {} /tmp/patch \;
$ clang-apply-replacements /tmp/patch
|
|
|
|
|
|
|
|
Many widgets and common widget parsing code in LegacySkinParser used an
inefficient method of accessing state:
if (context.hasNode(node, "Foo")) {
QDomElement foo = context.selectElement(node, "Foo");
}
This is inefficient because of the double lookup (which is O(n) in XML
children). This code is at the core of parsing the entire widget tree so
the inefficiencies add up -- we run code of this pattern many hundreds
of times for one skin.
|
|
|
|
Using LLVM 3.8.0:
$ clang-tidy --fix --checks="*,-llvm-header-guard,-readability-implicit-bool-cast,-readability-else-after-return,-google-readability-todo" $(git ls src/widget | xargs) -- (flags to compile)
|
|
* Remove WStatusLight SizeMode as DrawMode is more general and covers
its use cases.
* Only call QWidget::setFixedSize if the DrawMode is FIXED.
* Use FIXED as default DrawMode for most widgets for backwards
compatibility.
* Switch most Paintable::draw() calls to rectangle targets instead
of (x,y) points. This allows the DrawMode to do the right behavior
based on the mode.
|
|
* Fix compiler warnings in non-3rd-party code.
* Add some missing const-references.
* Eliminate cases of "if(" "( ... )" and "for(".
|
|
|
|
|
|
|
|
|
|
Instead of re-rendering on every control change (via
WWidget::onConnectedControlChanged), check for changes in what we would render
first.
Updated: WDisplay, WKnob, WKnobComposed, WSliderComposed, WStatusLight
Left unchanged: WWaveformViewer, WPushButton, WOverview, WVuMeter
|
|
Add attribute to status lights to optionally not setfixedsize
|
|
|
|
|
|
Implement tiling SVG by pre-rendering
|
|
As discussed in Bug #1180872, we should allow skin writers to connect controls
to the enabled state of a widget to enable/disable widgets. This disables input
events for widgets that are disabled or whose parents are disabled.
* Remove old OnOff connection type. I haven't seen a single use of it since I
joined the project in 2008.
* Convert PropertyBinder into a ControlWidgetConnection.
* Update WDisplay to check the QWidget enabled property.
Currently only WDisplay supports rendering itself in a disabled state. I'll add
support to more widgets in the future.
|
|
more clear.
|
|
* WWidget no longer stores a value independent of its connected controls.
* Make a connection explicitly the display value. For legacy reasons this is the
last connection with connectValueToWidget.
* Update all WWidget descendents to use the connected display value when
painting.
* Push buttons update the left or right connected control for push-button
behavior or toggling.
This allows WPushButton to toggle a multi-state button on left and right
click. This was previously impossible.
|
|
clashing with QWidget.
|
|
|
|
|
|
skin path resolution.
|
|
Normalize potmeter widget values to [0.0, 1.0] instead of [0.0, 127.0].
|
|
the two middle pixmaps when there are an even number.
|
|
[0.0, 127.0].""
This reverts commit 6fcd283cd80a34747320340ecc9a17b9b4b9606a.
|
|
This reverts commit 328d5958483ceb33cee74def6c947111182b5af0.
|
|
This is another step towards getting rid of MIDI assumptions that are baked into
the widget system.
* Control parameter space for potmeters is now [0.0, 1.0] instead of [0.0,
127.0].
* Non-linearity of parameter space (64 being the center value) now only applies
to MIDI, not widgets.
* Fix all potmeter-style widgets to use [0.0, 1.0] for parameter values.
|
|
context.
* Remove WWidget::select* methods.
* Update all WWidget-style setup() methods to take a constant.
* Migrate all non-skin uses of WWidget::select* to use XmlParse::select*.
|
|
* Use QSvgRenderer to scale SVG files instead of converting to QPixmap and
scaling the pixmap.
* Introduces Paintable class that wraps pixmaps and SVG images.
|
|
|
|
QSharedPointer.
|
|
WKnob shared a bunch of common logic with WDisplay since it's basically a
WDisplay with input. WDisplay now has support for backgrounds and "disabled"
widget support.
|
|
|
|
refectoring for code style.
|
|
|