80 Commits

Author SHA1 Message Date
Michail Vourlakos
71f8f16fea [RTL] - align properly the selected text for RTL
Summary:
--align selected text correctly for
PlasmaComponents2.ComboBox taking into account
RTL.

BUG: 387415

Test Plan:
use ComboBoxes in RTL and LTR in order
to check a proper behavior

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: broulik, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9126
2017-12-05 19:13:40 +02:00
Eike Hein
4779f9564a Suppress unnecessary scroll indicators if the flickable is a ListView with known orientation
Summary:
ListView.atYEnd is notoriously buggy and sometimes will cause indicators
to blink in and out of existence where not needed.

Reviewers: #plasma, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D9089
2017-12-01 23:35:19 +09:00
David Edmundson
ee2b12be04 Add extra visual indicator for Checkbox/Radio keyboard focus
Summary:
This draws a line underneath a Plasma checkbox label when it has
keyboard focus. This is needed as when an item is checked, the focus
shadow is practically invisible.

Visuals when clicking is completely unchanged
This brings it more in line with our QStyle.

Test Plan: Attached runtime tests

Reviewers: #plasma, #vdg, mart

Reviewed By: #plasma, mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D7819
2017-09-19 13:50:44 +01:00
Fabian Vogt
48a8245db4 Treat Button/ToolButton labels as plaintext
Summary:
The label text gets treated as RichText/StyledText, which is required
to display mnemonics underlined. Therefore it is necessary to manually
HTML escape the label text, which unfortunately breaks mnemonics as
escaped HTML contains ampersands.
This commit fixes that by introducing a custom function to stylize
mnemonics in HTML escaped text.

Test Plan:
Ran a modified knotificationdbustest with "<h1>&&a&ction</h1>" and
"actio&n2" as actions. Result: http://i.imgur.com/xHifDBu.png

Reviewers: #plasma, broulik

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D6679
2017-07-25 16:05:20 +02:00
Marco Martin
bf1d1cc6b2 don't switch colors on new themes
new themes as breeze aren't supposed to just use the button graphics
on top, that also mean, don't switch palette on top if the new prefix
is there
2017-06-07 18:24:33 +02:00
David Edmundson
884f89b9b0 [TextFieldStyle] Fix textField is not defined error
Summary:
The reference textField is undefined in this context
It works if the style happens to be used from PlasmaComponents
Use control instead to access the TextField.

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: ltoscano, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D5297
2017-04-25 15:10:49 +01:00
Kai Uwe Broulik
6b70fd983b [SliderStyle] Allow providing a "hint-handle-size" element
This hints the actual size of the handle, excluding any padding and shadows
and allows for the handle to touch the outermost border of the rail underneath.

Differential Revision: https://phabricator.kde.org/D4762
2017-02-28 10:22:36 +01:00
Marco Martin
916bcbf6c0 possibility to use a fallback chain as prefix
Summary:
if a framesvgitem has an array as prefix, like

FrameSvg {
 prefix: ["toolbutton-hover", "hover"]
}

it will use the first available prefix, so on themes that
have toolbutton-hover, that one will be used, old themes will
continue to use "hover" as prefix

Test Plan:
tested the calendar with breeze theme has breeze-widget style
toolbuttons, with olt themes as air, the old behavior is still
there, switching on the fly works

Reviewers: davidedmundson, #plasma

Subscribers: davidedmundson, broulik, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D4827
2017-02-27 18:55:02 +01:00
David Edmundson
13054c0473 Fix disabling the spinner animation when Busy indicator has no opacity
Summary:
Unlike the visible property, the opacity does not inherit parent values
and refers to the relative opacity of that item.

The current style code is checking that an item we can't control
externally has an opacity > 0, this doesn't really acheive anything.

This was a breakage from when we ported *to* QtQuickControls 1.

Test Plan:
I was running a plasmoid I had written years ago (my RSS tutorial)
and had abnormally high CPU usage in an animation that I didn't have then.

Code was:

BusyIndicator {
opacity: 0
running: true
}

Reviewers: #plasma, mart

Reviewed By: mart

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D4729
2017-02-23 12:31:10 +00:00
Marco Martin
cee709d054 use anchors instead of fillHeight
since the vertical size hints of the button depend from the
labe size hints, it cannot have Layout.fillHeight as it
breaks its Layout.*Height and implicitHeight
use a vertical anchor instead as buttons always have a single line

reviewed-by:d_ed
2017-02-08 13:36:14 +01:00
Marco Martin
b2786508e1 hardcode padding of scrollview style to 0
due to the frame borders behavior in the plasma style,
we need style padding to be zero. this fixes
scrollbars appearing when they shouldn't
2017-02-07 15:45:37 +01:00
Roman Gilg
eb39b35141 [ScrollViewStyle] Evaluate frameVisible property
ScrollArea has a property for en/disabling the frame provided by its style.
Until now the property wasn't evaluated, which besides making it impossible
to deactivate the frame leads to visual artifacts (observed in Simple Menu:
Flashing frame at the bottom of the page list).

In order to not change the current implementations we additionally set the
value in ScrollArea to true.

Reviewed By: mart

Subscribers: broulik, hein, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D4473
2017-02-07 14:13:21 +01:00
Kai Uwe Broulik
c21ff749e6 [Button Styles] Use Layout.fillHeight instead of parent.height in a Layout
This fixes the label not being vertically centered if the button is smaller than its implicit height.
This can happen with the global menu applet in a narrow panel.

BUG: 375911

Differential Revision: https://phabricator.kde.org/D4436
2017-02-06 15:20:08 +01:00
Marco Martin
31cd81ca53 use the highlight color for selected text
plasma theme highlight color comes from the text selection
background kcoloscheme, so that's the one coherent with qwidget
based apps

BUG:374140
2017-01-11 18:41:41 +01:00
Bhushan Shah
780be6f4ce Fix the renderType properties for various components
To use isMobile one need to import the QtQuickControls as well in
addition to QtQuickControls.Private

This fixes the warning flood at runtime

CCMAIL: faure@kde.org

I think p-f 5.30.0 tars need to be re-done with this.
2017-01-09 14:50:06 +05:30
Kai Uwe Broulik
8675a31d2a [Plasma ScrollViewStyle] Show scroll bar background only on hover
This makes it consistent with the Breeze widget style.
The other themes (Air and Oxygen) didn't even have a scroll bar background.

Differential Revision: https://phabricator.kde.org/D3828
2016-12-31 13:42:27 +01:00
Bhushan Shah
324232a745 [declarativeimports] Use QtRendering on phone devices
Summary: Ref T4947

Test Plan: works on desktop at least, haven't tested on phone yet

Reviewers: #plasma, mart

Reviewed By: mart

Subscribers: plasma-devel

Tags: #plasma

Maniphest Tasks: T4947

Differential Revision: https://phabricator.kde.org/D3789
2016-12-23 16:37:16 +05:30
Kai Uwe Broulik
a7ccca25ba [TextField] Allow disabling reveal password button through KIOSK restriction
This introduces a new lineedit_reveal_password restriction (similar to lineedit_text_completion)
that disables the reveal password button on Plasma text fields, like the lock screen and WiFi password inputs.

Differential Revision: https://phabricator.kde.org/D3654
2016-12-19 14:20:33 +01:00
David Rosca
d1f4b5322a TextFieldStyle: Fix implicitHeight value so the text cursor is centered
This makes the TextField slightly bigger, but cursor is now correctly centered.

REVIEW: 129603
2016-12-14 16:44:08 +01:00
Kai Uwe Broulik
b115ea1c55 [ToolButtonStyle] Fix menu arrow
This fixes the size of the icon as well as its color group.

REVIEW: 128870
2016-09-28 12:31:36 +02:00
David Edmundson
cb9ec94625 Add an optional reveal password button to TextField
Similar to KPasswordWidget in kwidgetaddons

Also fixes:
- the clear button still being clickable when not enabled
- RTL icons
- Updating the right margin correctly

REVIEW: 128660
2016-08-15 14:34:15 +01:00
Kai Uwe Broulik
16f8257068 [Button Styles] Horizontally center in icon-only mode
QtQuick.Layouts by default left aligns content and because the Layout is
anchors.fill'd the icon would show off-center in a button when no text has been set.
This fixes this.

REVIEW: 128493
BUG: 365947
2016-07-26 14:09:03 +02:00
Marco Martin
553a9bfe53 bind highlightedText color in Plasma::Theme
we have a color in the Plasma theme "highlight" that is basically
an accent color used around.. but one of the uses is to use it as
a background, such as highlighted text. in that case we don't know
what color would be safe for contrasting on top of it for things
like the highlighted text color (plasma style used the background
color for that, which is incorrect)

REVIEW:127637
2016-04-13 12:28:53 +02:00
Marco Martin
d524d96a25 using the margins of the flickable item is wrong
the clip will be at ScrollView, not at flickable level
2016-02-24 12:52:24 +01:00
Kai Uwe Broulik
3c03c950d6 [ToolButtonStyle] Don't rely on an outside ID
If you use Plasma's ToolButtonStyle with different controls than the PlasmaComponents.ToolButton it prints a warning about an ID that does not exist.

Use "control" instead which is guaranteed to be the item.
2016-02-09 11:03:59 +01:00
Marco Martin
dc1bfc3de1 same enabled borders between toolbutton and shadow
Change-Id: I6180121b32755f6f0ee391f8399b3a7cce55d14e
2016-01-07 12:56:56 +01:00
Kai Uwe Broulik
81a03ef291 [ToolButtonStyle] Always indicate activeFocus
Even when flat we should indicate that a ToolButton has focus.
This makes keyboard navigation substantially less awkward.

CHANGLOG: Improved visibility of keyboard focus on buttons

REVIEW: 126567
2015-12-29 23:42:23 +01:00
Marco Martin
3f56e63e70 use the new KDEPackageAppTemplates ECM module
REVIEW:126557
Change-Id: Ie32644a0641d1f0d5299ba9d1b0053e3f37d2635
2015-12-29 15:41:35 +01:00
Marco Martin
ee9e5907cf allow paste on password fields
but don't allow to copy, select or cut
2015-11-18 18:22:46 +01:00
Marco Martin
8e0c244482 fix positioning of edit menu, add a button to select
don't show edit menu for passwords
2015-11-18 16:59:42 +01:00
Marco Martin
258242fffd fix tickmarks in vertical mode 2015-11-17 17:52:21 +01:00
Marco Martin
91ad79a553 better disabled look 2015-11-17 17:52:21 +01:00
David Rosca
f32677b8e0 Take QApplication::wheelScrollLines into account from ScrollView
This is adaptation of https://codereview.qt-project.org/#/c/109615/
for Plasma style.

REVIEW: 125889
2015-11-06 12:03:51 +01:00
Marco Martin
bf05c65858 Merge branch 'breeze/5.5'
merge the new theme
is mostly an incremental difference compared to the previos theme
2015-10-26 13:07:12 +01:00
Marco Martin
b4d7916dba make the new checkmark work
Change-Id: I673e5e5d2dad7318027ae40c8712ffc7ba795505
2015-10-19 18:25:47 +02:00
David Edmundson
1a4c1d7eeb Fix Button minimumWidth property
Plasma's Button has an extra property "minimumWidth" which is an extra
hint not in QQC to say "what is the size to exactly fit the contents".

(it's a bit confusing, as we can perfectly handle a button below it's
"minmimum" size)

This should be based on the size the contents want to be (the
implicitWidth), not how small the contents can go (which with is pretty
meaningless when our button can elide)

It got broken at some point recently.

BUG: 353584
Change-Id: I637898c3abf98183bbae30d8f15c4d72801a3650
REVIEW: 125698
2015-10-19 11:30:19 +01:00
David Edmundson
e6ba526539 Remove duplicate code expanding size hint of panel to fit text
QtQuickControls already does this inside Button code. This hint is meant
to be "what's the default size for a panel to be".

Change-Id: I12fd084a3d3c35b172fbff9c7d3ab5c5565a82dc
2015-10-19 11:30:14 +01:00
Marco Martin
244574edd1 no hover effect on touchscreen+mobile
still normal hover effect on laptops with touchscreen

Change-Id: I64f101e1572eed9d48174f0cf290fdfea085aaeb
2015-09-18 20:08:16 +02:00
David Edmundson
7453beb9ce Use lineedit svg margins in sizeHint calculation
QQC button heights are max(backgroundHeight, label + margins).
QQC lineedits are only from the background

We need to take the margins into consideration when deciding how high
the textbox should be otherwise we're effectively just ignoring what the
SVG says.

This means button and textbox on the login screen are now the same
height.

REVIEW: 125240
2015-09-16 23:56:39 +01:00
David Rosca
0df4823e8b Fix eliding button text
Setting minimumWidth to implicitWidth forces overflowing text
instead of eliding it.

REVIEW: 125201
2015-09-12 22:49:00 +02:00
Marco Martin
573d2985ba Merge branch 'mart/inlineEditMenu'
REVIEW:124374
2015-09-02 11:58:06 +02:00
Marco Martin
b2bfd6cdf5 reparent to flickable if possible 2015-09-02 11:43:27 +02:00
Marco Martin
e688b3d483 remove extra debug output 2015-09-02 10:44:12 +02:00
Aleix Pol
74a605e0cf Let the RowLayout figure out the size of the label
No need to specify the preferredHeight as the RowLayout can already infer
it automatically.

REVIEW: 124646
2015-08-07 14:21:30 +02:00
Marco Martin
d5b71611e2 always show the edit menu when the cursor is visible
not super nice but needed functionality-wise, since i cannot trigger the
menu from CursorDelegate
2015-08-06 15:25:30 +02:00
Aleix Pol
f87f03b4a8 Fix loop on ButtonStyle
Nowadays the size of the icon is defined by the size of the button itself,
and vice-versa.
This patch uses the unit sizes to decide which sizes to offer.

REVIEW: 124628
2015-08-05 18:30:23 +02:00
Aleix Pol
4e9f3dd129 Don't change the flat-iness of a button on pressed
Changes the background component on press, looks odd.

Reviewed by Marco Martin
2015-08-05 18:30:23 +02:00
Marco Martin
0aca608bda on touchscreen and mobile scrollbars are transient
Change-Id: I81b2986b4ca0486b59e8bd400cd8e2603a54e040
2015-08-05 14:54:31 +02:00
Marco Martin
04d946e786 adjust flick velocity&deceleration to dpi
on denser screens we need more higher speed and
deceleration expressed in pixels

Change-Id: Ida366190ec99720f05b8c52f08514fc087a67948
reviewed-by: "Kai Uwe Broulik" <kde@privat.broulik.de>
2015-08-05 14:54:31 +02:00
Marco Martin
ba69d19c63 custom cursor delegate only if mobile 2015-08-05 13:55:26 +02:00