Commit Graph

3226 Commits

Author SHA1 Message Date
David Edmundson
d2707e795a Reparse settings when they change
Change-Id: Ibb13077943330417fa08d23ce1ea60f2aff5defc
2014-12-11 01:59:51 +01:00
David Edmundson
81a494b131 Use a shared config in tooltip
Change-Id: I68521f9066114a265c3f3444332e5e67016207f7
2014-12-11 01:57:10 +01:00
David Edmundson
f6aa18c884 Save SVGs only when a theme is unloaded, not on each theme proxy
A single Plasma theme will be represented by one ThemePrivate object,
which is exported in multiple Theme objects.

We want to save the cache when that theme stops being used, not each
time an item stops using the theme.

saveSvgElementsCache calls sync() which involves a lot of parsing and
IO. This makes everything a lot faster at no cost.

Change-Id: Ica6ba0273bc99fb8ad8733a1c90db8f1e87c49ea
2014-12-11 01:56:55 +01:00
David Edmundson
901cc3e159 Do not keep reparsing plasmarc configuration
KConfig->reparseConfiguration is expensive. It throws away our cached
values.

The Units constructor was calling this every single time. Units is
created a _lot_; once per applet and once per FrameSVGItem.

This meant we were reloading the same config ~100 times on startup for
no reason.

Perf showed this as being ~5% of the total startup time.

-    7.47%     0.00%      plasmashell  libKF5ConfigCore.so.5.5.0
                   [.] KConfig::reparseConfiguration()

   - KConfig::reparseConfiguration()

      + 66.51% Units::settingsFileChanged(QString const&)

      + 25.95% KConfig::KConfig(QString const&,
QFlags<KConfig::OpenFlag>, QStandardPaths::StandardLocation)

      + 3.93% KDesktopFile::KDesktopFile(QString const&)

      + 3.61% Units::settingsFileChanged(QString const&)

Change-Id: Ia70b7001ba473c8063e6c999b8e4233ea5b206f5
2014-12-11 01:04:57 +01:00
David Edmundson
2c8dd8982d Merge "roundToIconSize(0) should return 0" 2014-12-10 19:46:19 +01:00
David Edmundson
aac89104bd roundToIconSize(0) should return 0
If an invalid icon size is passed to roundToIconSize we should return an
invalid icon size.

This can cause IconItem to load a small pixmap which will never be
shown.

Change-Id: Ia678f2e879b83317e2971069acf8f00d9ce2e052
2014-12-10 19:19:57 +01:00
Kai Uwe Broulik
d5148f87c0 Fix capitalization
REVIEW: 121071
2014-12-09 23:24:01 +01:00
Kai Uwe Broulik
5e17e3fd1c Give undo notifications a title
The "Plasma" (default put in there by the notification applet because it has no title)
is not really descriptive.

REVIEW: 121071
2014-12-09 23:22:57 +01:00
Kai Uwe Broulik
23b590b90c Fix scaling in ProgressBar and Slider
REVIEW: 121417
2014-12-09 22:46:57 +01:00
Marco Martin
bf99d9c03c Merge "move the controls to an independent style" 2014-12-09 13:27:54 +01:00
l10n daemon script
d47e417e40 SVN_SILENT made messages (.desktop file) 2014-12-07 08:47:50 +00:00
l10n daemon script
96b26c8833 SVN_SILENT made messages (.desktop file) 2014-12-06 08:59:32 +00:00
David Faure
d348816c7d Fix compilation with Qt 5.2.0
(moc was a bit buggy it seems)
2014-12-03 09:49:53 +01:00
Martin Klapetek
187e53493e Merge "Fix the platformstatus kded module" 2014-12-02 20:34:03 +01:00
Martin Klapetek
7e5b00cff0 Fix the platformstatus kded module
The module .desktop file has a typo in the X-KDE-DBus-ModuleName which
results in the KCM not being able to see the status of the module.

Plus it renames the .desktop file to not contain the kded_ prefix, now
it matches every other kded .desktop file we ship (and also matches the
library and dbus module names).

Change-Id: I5006672ca041d9820b4388ba4e99b7899f36be18
2014-12-02 19:53:42 +01:00
Weng Xuetian
3093d69fa6 fix typo height -> width
updateMinimumWidth and updateMaximumWidth wrongly set the updated
value to height instead of width.

Change-Id: Ie24ef194d9bf02e53b92aa6802b0fbded68b896d
2014-12-02 10:01:20 -05:00
Marco Martin
7d52397115 move the controls to an independent style
* Adapt the existing controls to be generic enough to work on stock QtQuickControls
* Add missing styles needed for the set to be complete (and applications actually work)

The full list of controls styles is now:
ApplicationWindowStyle
BusyIndicatorStyle
ButtonStyle
CalendarStyle
CheckBoxStyle
ComboBoxStyle
MenuBarStyle
MenuStyle
ProgressBarStyle
RadioButtonStyle
ScrollViewStyle
SliderStyle
SpinBoxStyle
StatusBarStyle
SwitchStyle
TabViewStyle
TableViewStyle
TextAreaStyle
TextFieldStyle
ToolBarStyle
ToolButtonStyle
GroupBoxStyle

Change-Id: Ic5d33bc20c7456d1478c07aca33bda63378d5c05
2014-12-02 15:59:42 +01:00
Marco Martin
0ca29bc0f2 export a plasma version number in themes
some of the behavior of the theme has changed.
this makes some of the old themes to not work correctly
(like black text on black)
read a version number of the "plasma version this theme has been intended for"
and use it to change the behavior for retrocompatibility
(all themes that don't export this are assumed to be from KDE4)

Change-Id: I4bc20a0c10de9f9a6c3facd63b6c5b6da210039a
2014-12-02 15:05:48 +01:00
Marco Martin
15547cd885 initialize size of wallpaper as soon as possible
in order to minimize resizes, redraws and eventual reloading of images,
try to initialize the wallpaper with the correct size already.

reviewed by: Kai Uwe Broulik <kde@privat.broulik.de>

Change-Id: I8489744cb845213195f1916bfb9328c53ec0798d
2014-12-02 11:48:33 +01:00
Sebastian Kügler
b4519bdffb Fix DialogStatus namespace in SelectionDialog
DialogStatus, as in other Dialog variants, can only be accessed through
the PlasmaComponents namespace.

Fixes 3 ReferenceErrors in SelectionDialog and makes it actually work.
2014-12-02 02:05:58 +01:00
l10n daemon script
cf3898f7a9 SVN_SILENT made messages (.desktop file) 2014-12-01 08:51:21 +00:00
David Edmundson
c1b5adf25e Fix documentation linking
Change-Id: I391d1c4c7d0aae63ebf99e19197f20484a78f315
2014-11-27 12:53:14 +01:00
Marco Martin
cb8175f1f6 use PlasmaCore.ColorScope when suitable
It is possible to put a PlasmaCore.ColorScope element, to automatically
change the colors:
if for instance the complementary scope will be set, all labels
descendent of such element would flip their color

Change-Id: I2214aca522eb094cf067d8726c5bf2a7ecbf36b3
2014-11-25 18:27:20 +01:00
l10n daemon script
8415c20760 SVN_SILENT made messages (.desktop file) 2014-11-23 08:53:19 +00:00
Aleix Pol
fe0d60cfca Make WallpaperInterface use the suggested async object loading API
Just asks QmlObject to create an object and waits for QmlObject::finished
signal to acquire it.

REVIEW: 121148
2014-11-19 11:59:45 +01:00
l10n daemon script
7c65143e12 SVN_SILENT made messages (.desktop file) 2014-11-19 08:40:19 +00:00
l10n daemon script
0e13fb9833 SVN_SILENT made messages (.desktop file) 2014-11-14 09:03:12 +00:00
David Edmundson
fdbb37472b remove unused forward declare
Change-Id: Iba058903214eaf01e9ee6020af6bea4a3f755db1
2014-11-13 18:03:45 +01:00
Marco Martin
fa0a37c705 never hide desktops
Change-Id: I804bc9de57b42c1e299cc20efb636bfab3457464
2014-11-13 11:44:25 +01:00
Eike Hein
7b747fb341 Fix margins in tasks.svgz.
It's no longer necessary to add extra margin at the outside edge
with the panel theming fix.

Also clean up element positions to make the file easier to work
with.
2014-11-12 17:11:57 +01:00
l10n daemon script
43049221ab SVN_SILENT made messages (.desktop file) 2014-11-12 08:52:06 +00:00
Kai Uwe Broulik
f54ff55bc5 Migrate ProgressBar to QtQuick.Controls
Test is enhanced to also cover vertical bars. The ProgressBar does not yet use
the vertical assets since Qt just conveniently rotates the bar for us and
apparently just overriding the entire "panel" component is evil

REVIEW: 121085
2014-11-10 22:09:55 +01:00
Burkhard Lück
a609b5a237 use correct ki18n_wrap_ui in ki18n based plasma-frameworks
REVIEW:121065
2014-11-10 10:03:01 +01:00
l10n daemon script
4390aa5536 SVN_SILENT made messages (.desktop file) 2014-11-10 08:26:37 +00:00
l10n daemon script
37a97d41c0 SVN_SILENT made messages (.desktop file) 2014-11-09 08:55:12 +00:00
Kai Uwe Broulik
65a6861476 Migrate BusyIndicator to QtQuick.Controls
Comes with a test for the seamless pause/resume

REVIEW: 121070
2014-11-09 01:16:30 +01:00
l10n daemon script
fa21d7b1c5 SVN_SILENT made messages (.desktop file) 2014-11-05 08:37:57 +00:00
Marco Martin
51a821512a typos
Change-Id: I6fb45ab89a4313b838e6926b7761f54e1da8c17a
2014-11-04 15:22:30 +01:00
Marco Martin
8fe43b3c20 Merge "show/hide view when applet asked to be destroyed" 2014-11-04 15:21:41 +01:00
Marco Martin
e6a0d09607 actually use isAncestor
Change-Id: I12180137a256c33d3e603238537c81a7059ba65f
2014-11-04 15:17:37 +01:00
Marco Martin
36cd79b590 Merge "workaround on textarea input breaking" 2014-11-04 15:14:11 +01:00
Marco Martin
b54e328304 workaround on textarea input breaking
this makes sure if there is an item with focus in the applet,
it and all its parent are removed the focus when the applet is deleted.
otherwise when there is an item with focus that loses its qquickwindow,
it will never be able to gain it again
it's a workaround but i'm not sure how should be fixed in qquickitem,
or if is even appropriate

Change-Id: I72c8f01d4557003604c4261ca5a9ab49dd136b02
2014-11-04 15:04:17 +01:00
Aleix Pol
e967049bee Fix Breeze tasks east border on hover, for the bottom left element
The name was wrong, so it wasn't being found, hten something black was
being painted instead, for some reason.

Reviewed by David Edmundson
2014-11-04 11:55:07 +01:00
l10n daemon script
1a4b23f845 SVN_SILENT made messages (.desktop file) 2014-11-04 10:53:50 +00:00
Marco Martin
bb0bd0a4c5 fix build
Change-Id: Ibb1d5a0a5432f8638d33251a8be6b3762f236265
2014-11-03 11:54:26 +01:00
Marco Martin
cb3c53a616 don't forward events if there is no mainItem
reviewed by: "Bhushan Shah" <bhush94@gmail.com>

Change-Id: I73227ee1a8f55bf167e4f41758b95a5558ebbeb3
2014-11-03 11:50:35 +01:00
Kai Uwe Broulik
ce1ba8a687 Add thumbnailAvailable property to PlasmaCore.WindowThumbnail
This property tells us whether a thumbnail is actually being rendered or it has
fallen back to the window icon

REVIEW: 120946
BUG: 336524
2014-11-03 10:11:32 +01:00
l10n daemon script
481e796e67 SVN_SILENT made messages (.desktop file) 2014-11-02 21:49:13 +00:00
l10n daemon script
77b0b83a85 SVN_SILENT made messages (.desktop file) 2014-11-02 08:56:23 +00:00
Marco Martin
280902bbb5 show/hide view when applet asked to be destroyed
Change-Id: Id53300532c2322467188dbb44259f25dc6183a1e
2014-10-31 21:18:52 +01:00
Marco Martin
72b9a37fe9 fix test
Change-Id: Ib7698dfe3880e23355fd1c0acfcc3de2cc7c4d2d
2014-10-31 18:11:16 +01:00
Marco Martin
78ab028d52 Merge branch 'mart/basicDeleteUndo'
REVIEW:120885
2014-10-31 17:48:41 +01:00
Marco Martin
ad06e7c8a2 minor message fixes
Change-Id: I050b2e70ad1d9a57eb99c0f8fd34a80b76b66736
2014-10-31 17:29:33 +01:00
Kai Uwe Broulik
b5f627352e Forward wheel events inside dialog
This makes it also forward wheel events in the same fashion as it does with clicks.

REVIEW: 120908
BUG: 340412
2014-10-30 22:01:15 +01:00
Marco Martin
cef6b23e74 proper icon in notifications
Change-Id: I10832bf91a7a5a605ae27d6a417931f9462c1b78
2014-10-30 18:12:48 +01:00
Marco Martin
73500516ff track changes in destroyed()
Change-Id: Ibc4dcc64028e1127dd55e7c7d4d73000d2964dab
2014-10-30 18:06:50 +01:00
Marco Martin
f870ea1a11 drop QwaitingDeletionStatus
emit appletRemoved and appletAdded instead, making the graphics representation
(almost) just work

Change-Id: I481dbbb4dbf7d01a121b92511410dfee79b16469
2014-10-30 18:06:50 +01:00
Marco Martin
e38e2eb0a7 custom panel for breeze-dark
having a light border, breeze-dark needs the panel margins to be
rebalanced by one pixel in order to appear really centered.
This is specific for the dark version, because the light version has the border
almost invisible, therefore a different visual balance

Change-Id: Ic7dbf250d2e1b9b269b4990c27a42a06605d5066
2014-10-30 16:07:39 +01:00
Marco Martin
781d30cfef plasmoid->widget
Change-Id: I531297523a41886229cec163c5f81004fe15e7c0
2014-10-29 11:12:23 +01:00
Marco Martin
4487261d1a use NULLPTR
Change-Id: I5fcf9a16e962dda74f411b71f5276320e8196ac0
2014-10-29 11:09:59 +01:00
Marco Martin
e2f06e9ece restore to the actual previous status
Change-Id: I43b7f5812daffe2b846fbc1f7b57d6db51961358
2014-10-29 11:06:20 +01:00
Marco Martin
30d3ab72d1 pretty header
Change-Id: I08bf321d79e6c6c8bc50e5181472ec2c719e1a3f
2014-10-29 11:03:20 +01:00
Marco Martin
9aea733bb5 deleted->removed
Change-Id: I45102fa7585744943a6b107e68208141712866bc
2014-10-29 10:52:24 +01:00
Marco Martin
5749b01fe3 no contextmenu for invisible applets
Change-Id: Ia94a467d860243f42bda756d9f94f4ad685446c7
2014-10-28 19:08:13 +01:00
Marco Martin
d44d194db6 only a minute before real deletion
Change-Id: Ibc90aae44e7013453c8a96a3f22522806cb12ef2
2014-10-28 19:08:03 +01:00
Marco Martin
099a22d9da irreversibly delete on notification close
Change-Id: I3216286a707a1904b6917bfd19c007f99ffa4475
2014-10-28 19:07:53 +01:00
Marco Martin
eee9a90aab remove dead code
Change-Id: Id8daeafa77dabea7253ac5c489ad761ba0c6fdf6
2014-10-28 19:07:43 +01:00
Marco Martin
d901062d9d Plasma instead of PlasmaShell
Change-Id: I19ac45d8ee9d82a7bb7cc466a89db746b5f38784
2014-10-28 19:07:33 +01:00
Marco Martin
2475a2560e really delete awaiting applets on quit
Change-Id: I3b9107f988bde75262f27c1fd7e851b868140ccf
2014-10-28 19:07:09 +01:00
Marco Martin
af6149c9d0 use notifications actions to undo
Change-Id: I4b9abf6047b94b4fc13aad672d1bc8e97203f502
2014-10-28 19:06:55 +01:00
Marco Martin
5252020318 very basic prototype for delete undo
the idea is to just hide applets at first and then offer a really delete and undo buttons

Change-Id: I4d869cb58f5c0fb0163d5d4d6b265af860d8727e
2014-10-28 19:06:42 +01:00
Marco Martin
81b25be5c5 install plasma-wallpaper.desktop in servicetypes
it was installed in the wrong place

Change-Id: Ia9e59091e4447847229c59256938084e2ce9b839
2014-10-28 12:51:11 +01:00
l10n daemon script
150f24b30c SVN_SILENT made messages (.desktop file) 2014-10-27 08:35:46 +00:00
Marco Martin
7a5342e970 fix paint and size hints
Change-Id: Icb42635f4d4d2f15fb6cd51805f3e0e0906c34a2
2014-10-24 18:12:36 +02:00
Marco Martin
2b07624173 make sure there is any screen geometry returned
if the heuristic fails (because the topleft of the dialog is offscreen)
use at least our screen()

the screen should be correctly updated now on Qt 5.3+ so should be
more reliable anyways (could be tried to remove the whole Q_FOREACH
at this point)

Change-Id: I29311f4767bde3e02ae7bcb54b400b72a8f190eb
2014-10-24 13:14:27 +02:00
Marco Martin
8d2aa05530 don't mess with cursor pos if mouse outside view
Change-Id: I9dde440b4644c5bddcbe20f6f7458b588d076fdc
2014-10-24 11:51:15 +02:00
l10n daemon script
4a4e3dc526 SVN_SILENT made messages (.desktop file) 2014-10-23 08:55:08 +00:00
Marco Martin
f278416753 Revert "very basic prototype for delete undo"
This reverts commit f8ba97ae3e.
2014-10-22 17:01:15 +02:00
Marco Martin
f8ba97ae3e very basic prototype for delete undo
the idea is to just hide applets at first and then offer a really delete and undo buttons

Change-Id: I4d869cb58f5c0fb0163d5d4d6b265af860d8727e
2014-10-22 16:59:59 +02:00
Marco Martin
cfd29dec88 Merge "always have margins in dialogs" 2014-10-22 14:15:49 +02:00
Hrvoje Senjan
99a6647437 Fix build with Qt 5.4
The include is no longer indirectly pulled in with latest qtbase changes

Reviewed-by: David Edmundson
2014-10-21 18:06:04 +02:00
Marco Martin
4062a53c9a always have margins in dialogs
always show full margins in dialogs
this is to make things look less cramped with screen and panel edges
since mouse still has to work on screen edges (fitts law)
in that case it forwards mouse events inside the actual content item
so things like menus at the edge of the screen keep working

Change-Id: I4b8a5a5bac92eadbaf7ad5b9b7dc0d5f364888c3
2014-10-21 16:55:38 +02:00
Ivan Čukić
a9262c6fa4 Removed the dead code that used to calculate the direction of a tooltip
The value of the 'dir' variable is quite difficult to calculate,
and it is not used anywhere.

Change-Id: I806a559dde51bdf3b243271fe68ee138faa872f6
2014-10-17 09:31:22 +02:00
Ivan Čukić
e346b50cd8 Removed the call of clearDataForMimeJob on a null pointer
tjob pointer is checked for being null (result of the dynamic_cast)
and then passed to clearDataForMimeJob. The issue can be solved by
replacing tjob with job in the problematic line, but since the
mimeTypeRetrieved method called later already processes jobs that
are not KIO::TransferJob, there is no purpose in doing it here as well.

Change-Id: I863ac41ad66ac3cbceca82adeab85498315a5e42
2014-10-17 09:15:06 +02:00
Marco Martin
adf92d4573 fix css colors
BUG:337317
Change-Id: I5968d6766adbc4678fa94c3d52f6a9674733cfb6
2014-10-16 11:09:59 +02:00
Marco Martin
7f9693746f crash--
BUG:339875
Change-Id: Ic8ab63853fa9b58dd83e1aa868e9599b0e37f09e
2014-10-16 10:45:30 +02:00
Marco Martin
1cb4501a11 remove the old icon when an empty source is set
BUG:339793

reviewer by:Bhushan Shah <bhush94@gmail.com>

Change-Id: I02910e7ec9397c5bb6ca4e5c0ed3793d19aa14e5
2014-10-15 16:11:19 +02:00
Marco Martin
c32d93731d add icon for spacer
BUG:337995
Change-Id: I1c753298f5d2deb43296eaec94d765f1575f47ce
2014-10-15 15:40:27 +02:00
Aleix Pol
7a4998046e Adopt QuickAddons in plasma-framework
Removes the code that was moved to QuickAddons

REVIEW: 120596
2014-10-15 13:22:27 +02:00
l10n daemon script
b65201b735 SVN_SILENT made messages (.desktop file) 2014-10-15 08:33:00 +00:00
Aleix Pol
dc59a397f1 Also check the style for cmake modules 2014-10-14 15:45:15 +02:00
Aleix Pol
8df7801d3b Don't crash if the plasmoid wasn't properly loaded
If d->applet->package().isValid(), then d->qmlObject->mainComponent()
is null.
This makes Plasma crash when a faulty plasmoid is loaded.

REVIEW: 120581
2014-10-14 15:45:14 +02:00
Marco Martin
71444986ee respect stylesheet
Change-Id: Ib865c2097d17f5892b250ad2f013c28eadef3e2a
2014-10-14 15:44:41 +02:00
Eike Hein
d3a9b5bb1f Add margins.horizontal/vertical helpers that return added up margins along one axis.
Adding up margins along the horizontal or vertical axis is often
done to calculate sizing or spacing. This tends to result in scary-
long and bug-prone expression being bound to props, since nobody
seems to like to blowing them up into a code block with a separate
variable assignment. This aims to increase the readability of com-
plex expressions by summing axis margins into a single operand.

Change-Id: I39a37dde80b9314da0c69f3b33d26d26a9ff54d1
2014-10-13 15:14:56 +02:00
Marco Martin
f5fb0dbc24 consider the case of fallback as well
consider the case of fallback as well when we are searching for a texture

reviewed by: Eike Hein <hein@kde.org>

Change-Id: I1faa119f9b3486d21ebd07a294b5063a896d7af1
2014-10-13 14:19:36 +02:00
Marco Martin
aa7b3ff773 typo
Change-Id: Ia8dd4676cb45166bfc5f5e55b3c30a15f895d39f
2014-10-11 21:04:10 +02:00
Marco Martin
66a1a497ef add a property to tell if fallback happened
add a property in Svg (and framesvgitem) to tell if the current theme
has this image, or if some fallback did happen
useful for items that are better not displayed than showing the potentially different
default theme

Change-Id: Ib914c0e196c5c941d35d9a600cc7d38818fc754f
2014-10-10 17:36:44 +02:00
Marco Martin
68eadae6c8 never reparent old mainItems
This is not completely correct.
however, when reparenting the mainItem containming window thumbnails
it causes serious graphical artifacts, like the "lost fonts" on
nvidia and fglrx

Change-Id: Id194f5e7863e4ed71792835a9a3cf9c6e4fa70ee
2014-10-08 14:32:52 +02:00
Marco Martin
9796f043b7 Revert "set flags again on QEvent::Expose"
This reverts commit 65ab514a2c.
2014-10-08 14:06:10 +02:00
Marco Martin
65ab514a2c set flags again on QEvent::Expose
is the only event we get we know the window will already be visible
to set the flags to have actually any effect

BUG:335572
Change-Id: Id1b69a894295af59a681946df9d14ff7ed316526
2014-10-08 13:57:37 +02:00
Martin Klapetek
cbe50c408b Add "..." after "<Applet Name> Settings" to comply with HIG
Reviewed-by: Marco Martin

BUG: 339756
2014-10-07 17:45:10 +02:00
Marco Martin
ad03d0bb14 try to restore the original parent if possible
setting a null parent to mainitems seems to screw up with their QQmlContext

the problem can be seen with the taskbar, that after fiddling with tooltips a lot, (like switching between pager and a task) it loses thumbnails and it starts to output on stderr
about ids that aren't accessible anymore.

Change-Id: Ibbb6d270fd2e20b5b6745e228f4010b74d3266c9
2014-10-06 12:33:16 +02:00
Kai Uwe Broulik
7cf9fb93d8 Hide ProgressBar inner item when value is 0
This fixes the situation where an empty progress bar still shows a little spot on the left.

REVIEW: 120489
2014-10-04 22:41:40 +02:00
Marco Martin
046a419493 don't tile
buttons have a gradient

Change-Id: Icf279d0a2e32dd4faf587057f584a7c3461a8586
2014-10-03 19:24:21 +02:00
Marco Martin
2a582e6b4a make sure the layout timer isn't running
when maintintem changes

Change-Id: I59d1930caf2686e1fa9a1fb0510e15630898d99f
2014-10-03 19:10:31 +02:00
Marco Martin
1015d51997 adjust margins
Change-Id: If6147f112bdb441f0c678bfa975f687035ec2111
2014-10-03 18:59:23 +02:00
Marco Martin
717153ebb4 lightly less border contrast on dark themes
Change-Id: Ic60ab2ddf6bdb3adace2fe6127c0723d675941bc
2014-10-03 18:52:12 +02:00
Marco Martin
ab69d1029c guard mainItem of resize
crash--

Change-Id: Ifa08f78573d4eed690c23e93f87d1cf0b3c033ef
2014-10-03 13:51:57 +02:00
Marco Martin
419b344b6d make sure the theme is loaded on item sync
Change-Id: Iea920b208c9e84bc9fb3c6c3c39e4362782f0b5f
2014-10-02 16:17:35 +02:00
Andrew Lake
98af054c28 add missing tooltip icons used by network manager
BUG:339547
2014-10-01 22:35:24 -07:00
Andrew Lake
0cf3c74a7f fix hardcoded colors 2014-10-01 15:06:21 -07:00
Andrew Lake
69ff7e5281 better 32x32 klipper icon, updated reboot icon to match main icon theme. 2014-10-01 13:58:28 -07:00
Marco Martin
018a7a3c6d smaller corner shadows
lets having a smaller windows without visible glitches

Change-Id: I91661e1f427344d195cc4b98b7588a48a20b36f4
2014-10-01 19:07:43 +02:00
Sebastian Kügler
cccfdf5a9e Proper color for placeholder text in TextFieldStyle
Fixes unreadable placeholder text in TextField with dark themes.

Reviewed-by:Kai Uwe Broulik
2014-10-01 18:04:04 +02:00
Marco Martin
43e3359c68 fix mask for dialogs and tooltips
Change-Id: I3b41f84395fa3e554416193c60167c6df21609c5
2014-10-01 15:05:42 +02:00
Marco Martin
32a0be3d1c remove extra margins
Change-Id: I1212d69583a06871620ccf209ab8fbf766b6033e
2014-10-01 14:20:01 +02:00
David Edmundson
764cd182cc Merge "Floor devicePixelRatio in ProgressBar before use" 2014-10-01 11:45:09 +02:00
Marco Martin
2fcc325abf Merge "Warning --" 2014-10-01 10:04:17 +02:00
Andrew Lake
e5bc62330f Add battery-charging, battery-discharging, battery-100, battery-missing for tooltip icons.
- Note: The code changes are needed to use battery-discharging icon
2014-09-30 20:29:56 -07:00
David Edmundson
4d8f9c55c0 Floor devicePixelRatio in ProgressBar before use
This matches what happens in the C++ SVG code

Change-Id: Ide914751d3ba18d7e4d62c4872651998bc226900
2014-10-01 03:16:07 +02:00
David Edmundson
4233f7f38e Warning --
Change-Id: I7649fc9f9209816be909217f1c71e7bbe60ab10f
2014-10-01 03:04:52 +02:00
Marco Martin
ff9703aabf consistent border size
make the dialogs borders the same for composite and non composite mode
more consistent behavior -and- fixes a test on openbox

Change-Id: Idd687a1f3b44f89d35886e1f9a86c2543741cbdb
2014-09-30 17:48:53 +02:00
Marco Martin
792c39a9bb Merge "queue change of minimum/maximum size" 2014-09-30 17:02:46 +02:00
Marco Martin
afe0524fa7 queue change of minimum/maximum size
the layout size hints can change all together, in any order possible.
the only way to have a deterministic behavior is to compress them
and do the sync of the size all at once.
also being sure to do a single adjustGeometry (one X call) instead of
separate setWidth/setHeight

a test for the issue is dialog_resizeWithParent.qml

BUG:339478
Change-Id: Ia7c3c55e40ff89971beb734dcd205df05bfba687
2014-09-30 16:34:21 +02:00
l10n daemon script
f0ad60f7cf SVN_SILENT made messages (.desktop file) 2014-09-30 10:54:42 +00:00
Andrew Lake
8a3742b78a fix button shadow. Buttons on lock, logout screen should look better when focused. 2014-09-29 22:06:09 -07:00
Andrew Lake
07289d9bd4 add more icon sizes for battery, klipper and network tooltip icons.
- tooltip icon use appears to be inconsistent but at least the icons are now available.
2014-09-29 21:18:14 -07:00
Andrew Lake
b798be64fa use 10% increments for battery icons and
update matadata.desktop versions using suggested version numbering
2014-09-29 14:39:17 -07:00
Andrew Lake
86b62039cb add missing Fill0 battery icon 2014-09-29 10:41:51 -07:00
David Edmundson
55368fac23 Update breeze-dark version to match breeze
Otherwise caches don't get cleaned when the SVGs change

Change-Id: I112a1f7305b1f1113ec531a8eaf081b76f0a22af
2014-09-29 15:24:34 +02:00
Andrew Lake
c6ebb64379 update theme version after icon updates 2014-09-29 00:34:13 -07:00
Andrew Lake
cc8b47553d update theme icons based on feedback:
- Consistent stroke width
- 22x22 replaces 24x24 sizes
- align most icons to pixel grid
- changed some icon designs based of feedback of plasma dev team
2014-09-29 00:21:55 -07:00
Volker Krause
ca77cad251 Make constants const, saves a few symbols in the .data section. 2014-09-28 12:40:40 +02:00
David Edmundson
56e1c9c48a warnings--
Change-Id: If41d2ebcec822002edb5282dd401b84fc2d40a10
2014-09-26 17:05:30 +02:00
David Edmundson
0d209f9d2a Make KWindowSystem a public dependency of plasmaquick
Dialog.h uses netwm_def.h in the header so it should be included by apps
that use plasmaquick implicitly

Change-Id: I55507f552025468dde32e4830a78e34dc35c03af
2014-09-26 16:47:46 +02:00
David Edmundson
d9bf760c14 warnings--
Change-Id: Ide6d4301162f617ae0846df8ea2ef938982f9a7f
2014-09-26 16:34:09 +02:00
David Edmundson
62d240b7d6 Only update real visibility when component has finished completion
We only want to toggle our visibility until after all window flags have
been set, as some flags can only be set before the window is shown.

This patch caches and proxies the visibility flag and only update the
real visibility when the component is complete.

Change-Id: I4ce7744dc48afecf35db6679ca0991b7042e45a2
2014-09-26 16:17:33 +02:00
Marco Martin
87e3240f72 don't make the progressbar smaller than its borders
BUG:338225
Change-Id: Ia5926206b9185c82bcdf96956bc7f586c3b2d50e
2014-09-25 18:31:19 +02:00
Marco Martin
5b50373b37 if rootObject exists, component is here and ready
Change-Id: I37deb527a04dde9ce458c5aea8e178b3d08b1b46
2014-09-25 18:02:59 +02:00
Marco Martin
a71697e68d the qquickitem con be resized before qml is created
AppletQuickItemPrivate::compactRepresentationCheck() must not be executed before
the qml parse is over and rootObject is here: the creation of the full or compact representation
would go very wrong in that case

Change-Id: Ib72f7d25f570a1ae34ada3330080350384d5c1e8
CCBUG:339329
2014-09-25 17:57:14 +02:00
Marco Martin
8aab4ac9c7 share icon rounding code between Units/IconItem
it should ensure both share the same behavior

Change-Id: I2de37f5fb43bdcdd482ede9252c68fc207efbe39
2014-09-25 14:48:45 +02:00
Marco Martin
18b57ffc29 fix tooltips
use adjustSize in updateMinimumWidth et al.
changing tooltip content updates sizeHints
using setGeometry is immediate, and will kill the animations.
for dialogs other than tooltips there is no change since adjustGeometry
is just setGeometry

Change-Id: I3e6310f12f76e400f2663b8409a2bbc7e7398f39
2014-09-24 14:07:30 +02:00
Marco Martin
e3fd010166 don't update the minimum size when not visible
since when is not visible the dialog doesn't update its size
from the mainItem size, the minimum size should not be
updated as well, or the initial mainitem size will get lost
and the dialog will be initialized to a wrong size

Patch by: Vishesh Handa <vhanda@kde.org>

Change-Id: I272727fb4732474b102de64c9bfdddb7fc3906c8
2014-09-23 17:05:09 +02:00
Marco Martin
d28871cb65 Merge "fix availableScreenGeometryForPosition()" 2014-09-23 12:50:55 +02:00
David Edmundson
8a70067e8c Don't duplicate background resizing to contents
The code in Button is
panel.implicitWidth: max(label+borders, backgroundImplicitSize)

by setting the background implicitSize to be max(size, labels+borders)
we just duplicate the functionality.

This worked, but icon only buttons became smaller because we weren't
setting the implicitHeight of the label properly.

(two wrongs were making a right)

We need to move the RowLayout inside an Item as we are modiyfing the
preferredHeight of RowLayout, but this doesn't sync back to updating the
implicitHeight which Button.qml uses.

This fixes all binding loops and the rather broken icon only flat
button.

Change-Id: Id2f9c2ab37b2280ee69dc1473f388fe686e3327e
2014-09-23 10:22:35 +02:00
David Edmundson
b2a5ebc926 Update hover effect to match QtQuickControls port
Change-Id: Ib3ad938f24d2a7c9e5d8c6cdd5d6717b3574351a
2014-09-22 19:01:31 +02:00
l10n daemon script
88ccf7be3d SVN_SILENT made messages (.desktop file) 2014-09-22 08:34:39 +00:00
Marco Martin
b98fdd7753 introduce roundToIconSize(int size)
return a size rounded tothe nearest inferior standard icon size.
sizes larger than iconSizes.huge, it will be returned unmodified
Reviewed by: Kai Uwe Broulik <kde@privat.broulik.de>

Change-Id: I85c575ea1cc7965ae9bede9e5a8b7b4cb342580e
2014-09-19 16:38:22 +02:00
Marco Martin
cd8c134578 increase version number
systray icons have changed, increase the version number
(correct and will force a cahce drop)

Change-Id: I46bd169e1e221daf16d7c45ab12370437b74688d
2014-09-19 14:38:31 +02:00
l10n daemon script
f12eb638f0 SVN_SILENT made messages (.desktop file) 2014-09-19 09:02:03 +00:00
Marco Martin
60a7419746 fix availableScreenGeometryForPosition()
when we check if a position is in a screen, we need
the whole screen geometry, panels included, otherwise if we pass
a coordinate under a panel, it will think no screen is there

Change-Id: I802a2bec4ae44b583eafdc309934e67b620cc463
2014-09-18 17:35:18 +02:00
Marco Martin
dff792a86b Update the size in two ways
A dialog can be resized for two reasons: the mainItem size changes, or the dialog size changes.

the first can happen programmatically, caused by the Layout, or just by assigning the width.

the second can be caused either programmatically, assigning the size of the dialog or externally by the windowmanager, that is the only one theat in the end has the only final control of the window size

Change-Id: Ifc5c7f683039f83d13a5046c10d6dd0227169542
REVIEW:120235
2014-09-18 17:25:48 +02:00
David Edmundson
4a95748249 Don't redeclare QQuickItem properties for implicitSizes
Change-Id: I96a8e6acd23cdee77048bc064963c7735b6615db
2014-09-17 23:23:15 +02:00
Marco Martin
ac0c457b65 partly revert last commit
revert part of
306e353fe6

if a framesvgitem has an implicitsize explicitly set, it shouldn't be overwritten

Change-Id: I931ca8acafdc2f6908945d03fca97487ced22988
2014-09-17 20:21:34 +02:00
Marco Martin
306e353fe6 take into account device pixel ratio
make sure framesvgitem returns the proper implicitWidth/height

Change-Id: I6d756e474c69bb32d2abef1a34d989c339d28ef9
2014-09-17 20:04:17 +02:00
Marco Martin
a393284338 get rid of internal ShellPackage
ShellPackage is a plugin in plasma-workspace now, don't duplicate

Change-Id: I77edf63acf6c99314f6062d7ef2f55a129727013
2014-09-17 14:47:13 +02:00
Marco Martin
0ec9ea7d04 make sure applets are sorted by id
As with containment, make sure Containment::applets()
is always sorted by id, to have the least sursprises possible

it adds a test

Change-Id: Ib1aeeff7c70bb6969b32b2fef8557889a43edf09
2014-09-17 14:47:13 +02:00
Marco Martin
9957652d15 Ensure corona::containments() is ordered
the order in which containments were restored used to be quite random:
ensure that's ordered by id this makes the shell startups be more reproduceable
from one to another, if a new containment arrives, ensure it's inserted
maintaining id order

containment::appelts() will need the same treatment

adds a test as well that checks the order is right

Change-Id: Ie1b278e5b83d7e3645f7293bf6d030aa7f43a221
2014-09-17 14:47:13 +02:00
Marco Martin
edef5c1dc1 base on screen() to see what containment is loading
if a containment's lastScreen is not -1 (and a valid screen)
*and* its activity() is not the current one, its QML
will *not* be loaded, therefore it would dangle blocking
corona::startupCompleted until the activity is selected

Change-Id: I6757d29240a012377e9ff0a22fe16541ea712ee6
2014-09-17 14:47:13 +02:00
Marco Martin
6993ecf9f7 Revert "fix enabled borders management"
This reverts commit aaa1a6315e.
2014-09-16 17:35:22 +02:00
Marco Martin
aaa1a6315e fix enabled borders management
* never enable all the borders just to take margins, there is fixedMargins for that
* redo ResizeOrigin: Dialog needs to sync from both sides: when the mainItem gets resized, *and* when the window gets resized (syncing mainItem)
* don't crash when there is no Layout: not all mainItems export one
* fix availableScreenGeometryForPosition()

Change-Id: I09370e33a3e8d03675b60f14c6c5754f8491d52c
2014-09-16 16:04:35 +02:00
Vishesh Handa
188df2daad Dialog: Correct typo. '+' should be '-' 2014-09-16 15:45:55 +02:00
Vishesh Handa
6f2c46807e Dialog: updateLayoutParameters after calling syncToMainItemSize
updateLayoutParameters's uses the borders in order to set the max and
minimum size, and therefore syncToMainItemSize should always be called
before it is ever called.

Also added code to not do anything if we are not completely initialized.
2014-09-16 15:26:50 +02:00
Marco Martin
919694a1de get rid of internal ShellPackage
ShellPackage is a plugin in plasma-workspace now, don't duplicate

Change-Id: I77edf63acf6c99314f6062d7ef2f55a129727013
2014-09-15 18:20:34 +02:00
Marco Martin
37b34711d8 make sure applets are sorted by id
As with containment, make sure Containment::applets()
is always sorted by id, to have the least sursprises possible

it adds a test

Change-Id: Ib1aeeff7c70bb6969b32b2fef8557889a43edf09
2014-09-15 17:55:36 +02:00
Marco Martin
a159208d54 Ensure corona::containments() is ordered
the order in which containments were restored used to be quite random:
ensure that's ordered by id this makes the shell startups be more reproduceable
from one to another, if a new containment arrives, ensure it's inserted
maintaining id order

containment::appelts() will need the same treatment

adds a test as well that checks the order is right

Change-Id: Ie1b278e5b83d7e3645f7293bf6d030aa7f43a221
2014-09-15 17:28:38 +02:00
Vishesh Handa
18a6a7302b Merge branch 'master' into vhanda/dialogRefactor 2014-09-15 14:50:49 +02:00
Marco Martin
052a0c32ae base on screen() to see what containment is loading
if a containment's lastScreen is not -1 (and a valid screen)
*and* its activity() is not the current one, its QML
will *not* be loaded, therefore it would dangle blocking
corona::startupCompleted until the activity is selected

Change-Id: I6757d29240a012377e9ff0a22fe16541ea712ee6
2014-09-15 14:49:18 +02:00
Marco Martin
0b0daa2318 ensure empty containment emit uiReady()
Containments with no applets will emit uiReady now

It adds a test as well that checks if this is the case.

There is still a case where the corona doesn't emit startupCompleted()
that's when there is more than one activity, but that, as well the test
will be adressed by another patch on a different part.

Change-Id: I4d83aa612c29fb0f441d11681bc5aba241370bc3
2014-09-13 12:41:24 +02:00
Marco Martin
72caf0b9f0 Merge "Fix binding loop in Toolbuttonstyle" 2014-09-13 12:28:50 +02:00
David Edmundson
26620812a2 Don't include configmodel in doxygen
Change-Id: I7e4db3c81f4e67deec788932225026fc048fd128
2014-09-13 11:47:00 +02:00
David Edmundson
4ee2d5ca22 Fix binding loop in Toolbuttonstyle
Setting the implcit width to be the same as the current height is very
easy to end up looping.

actual height of the background is set by the base style, which is based
on the implicit sizes anyway.

BUG: 338750
Change-Id: Ic7606588cec09c6ff16515c208efe576466d31d6
2014-09-12 18:50:00 +02:00
David Edmundson
0b92063aff Add link to appletinterface documentation
Change-Id: I3a0bce2ec7ecc18c2efe9d5759eabd2c11a0acba
2014-09-12 13:53:00 +02:00
David Edmundson
13ddfd71e9 Sync documentation from wiki to dialog
Change-Id: I2c3f623ef3dce33025b3e6a6233a6f3da8dd2691
2014-09-12 13:05:23 +02:00
David Edmundson
98faacc5ef Add example to Dialog
Change-Id: I9adc43344ba13eb95038f1d5bffcef73ab93fa9e
2014-09-12 13:05:23 +02:00
David Edmundson
2c38364322 Add documentation on Applet/Containment Interface
Change-Id: I3dddb4d799fef98eb4370503ac8f1d20c6948b2d
2014-09-12 12:21:47 +02:00
David Edmundson
e61e311fc6 Fix Mainpage.dox linking
Change-Id: Icb1cf6bcc672de4f672eb9c1d4e85773f98b2342
2014-09-12 01:56:56 +02:00
David Edmundson
3db430156e Add documentation for colorscopes
Change-Id: I6b4eae9839bc13386ea7e07301f46e0852974aa6
2014-09-11 16:26:28 +02:00
l10n daemon script
edc9eae84b SVN_SILENT made messages (.desktop file) 2014-09-10 08:47:20 +00:00
Joseph Wenninger
1279b3d253 Fix a crash when shutting down plasma shell, while destruction models
fixed with help of David and Aleix
2014-09-09 13:45:40 +02:00
Kai Uwe Broulik
55fc160bc0 Restore original checkbox and radio button size
REVIEW: 119920
2014-09-06 14:37:36 +02:00
l10n daemon script
dc61b4d5c2 SVN_SILENT made messages (.desktop file) 2014-09-04 08:36:35 +00:00
Marco Martin
c73085f66a wallpaper configuration separed by plugin
don't let different plugins step on each other toes when configuring, if i
get back to an old plugin, it gets correctly restored where i was
2014-09-03 15:45:09 +02:00
Marco Martin
8a5f3dc5a7 expose lookandfeelPackage 2014-09-03 14:38:36 +02:00
Marco Martin
5e73293ec1 update default package name 2014-09-03 12:41:05 +02:00
Kai Uwe Broulik
8678630a82 Allow changing the current month using mouse wheel
REVIEW: 120003
2014-09-02 20:14:26 +02:00
Marco Martin
db601cf291 fix toolbars 2014-09-02 14:47:14 +02:00
Marco Martin
67bdc5a96c fix colors 2014-09-02 14:40:47 +02:00
Marco Martin
a9370b744f assign default sizes
take them frm the old implementation
2014-09-02 14:35:29 +02:00
l10n daemon script
cf93514991 SVN_SILENT made messages (.desktop file) 2014-09-02 10:43:04 +00:00
Andrew Lake
db9d999d21 update containment controls. new icons styled more similar to the main Breeze icon theme. 2014-09-01 14:47:57 -07:00
Andrew Lake
cb5d37fc01 fix muddled highlight on lineedit 2014-09-01 13:16:15 -07:00
Andrew Lake
98be746bc3 fix airplane mode off icon 2014-09-01 12:15:33 -07:00
Andrew Lake
47a5aae574 fix button highlights - buttons should look better especially on login/logout/lockscreen 2014-09-01 12:13:57 -07:00
Marco Martin
8c8bd49130 Merge branch 'mart/packageFallback'
REVIEW:120029
2014-09-01 20:59:22 +02:00
Marco Martin
6be2e9d46d use non const pointers 2014-09-01 19:23:18 +02:00
Marco Martin
399156bccc fix the sycoca query 2014-09-01 19:01:32 +02:00
Marco Martin
ddc08a2d4c another check for valid plugininfo
quite an edge case, but otherwise malformed packages can cause an assert
2014-09-01 18:56:53 +02:00
Marco Martin
c2518b66f9 another valid plugininfo guard 2014-09-01 18:35:09 +02:00
Marco Martin
a54da78ce8 check for plugin validity 2014-09-01 18:17:22 +02:00
Marco Martin
5db7db4ae2 crash-- 2014-09-01 16:26:34 +02:00
Marco Martin
325ea71a2e remove the fallback from the metadata 2014-09-01 16:01:10 +02:00
Marco Martin
5ceb8d1197 add an autotest for fallback
correct a couple of problems the test catched
2014-09-01 15:51:05 +02:00
Marco Martin
55a6095138 use Floyd cycle detection 2014-09-01 15:15:54 +02:00
Marco Martin
21cf68dbd2 set directly the fallback package not its path 2014-09-01 14:54:10 +02:00
Marco Martin
aba4dcb915 introduce setFallbackPackagePath
the fallback package would then be decided by the packagestructure
2014-09-01 14:00:06 +02:00
Andrew Lake
763cfefd55 update Breeze plasma theme icons to follow main Breeze icon theme style. 2014-08-31 14:22:06 -07:00
Nicolás Alvarez
51b77bcd59 Don't use QStringLiteral when concatenating string literals.
QStringLiteral("foo" "bar") is documented not to work on MSVC.
2014-08-30 14:46:36 -03:00
Nicolás Alvarez
123d5a6d8b Replace #warning with #pragma message.
MSVC doesn't have #warning.
2014-08-30 14:46:11 -03:00
Nicolás Alvarez
8515d0ef09 Fix reference to Types::ImmutabilityType.
I don't know how Types::Types::ImmutabilityType even worked in gcc...
2014-08-30 14:45:50 -03:00
Nicolás Alvarez
0807dda74f Add missing cstdint include.
Needed for uint32_t.
2014-08-30 14:45:21 -03:00
Marco Martin
f89b86589f almost same order as the context menu
the leave action is still fixed as the last one by the toolbox

CCBUG:338585
2014-08-29 18:01:10 +02:00
Aaron Seigo
faf75a95e5 ws for readability
REVIEW:119992
2014-08-29 17:24:43 +02:00
Aaron Seigo
cd87344d80 make PackageStructure plugins use the json method as with DataEngines 2014-08-29 17:24:43 +02:00
Aaron Seigo
aa99a4f15c tidy up the data engine plugin loading code 2014-08-29 17:24:43 +02:00
Aaron Seigo
67cab00bf3 remove the unused ContainmentPackage 2014-08-29 17:24:43 +02:00
Marco Martin
f934b3b6d6 make sure to cleanup applet pointers on deletion 2014-08-29 14:53:56 +02:00
Vishesh Handa
012e002092 Dialog: Add accidentally removed Q_PRIVATE_SLOT 2014-08-29 14:35:47 +02:00
Marco Martin
727755d28a action order nearer to menu
still catalog actions by type
the order is still not exactly the same, but that's not possible, since the action order is decided in the context menu plugin and there are some actions only in the toolbox

CCBUG:338585
2014-08-29 13:32:19 +02:00
Sebastian Kügler
d8b2ef147f typo-- in comment 2014-08-28 23:30:29 +02:00
Sebastian Kügler
714bb667fc Minor fixes
- Fix encoding in copyright
- compile-time syntax for iconLoaderSettingsChanged slot
- --stray ;
2014-08-28 23:26:12 +02:00
Vishesh Handa
f293888be6 Dialog: Avoid adjusting the geometry twice when with visualparent
We are in a strange cycle when we have a visual parent. In order to
obtain our position, we need to know our size. Our size depends on the
borders visible. The borders visible depend on the size.

When we do not have a visual parent this is not a problem as we do not
have a position where we are supposed to be.

In order to solve this cycle, when we have a visual parent, we typically
assume we have all borders, call popupPosition, move to that position
and then use that new position to figure out the borders, get the new
size (incase any borders have changed) and move again. This double
moving is not good. With that patch, we still do the same but we avoid
moving twice.
2014-08-28 18:25:03 +02:00
Vishesh Handa
e0ea93cb7e Dialog: Use the correct screen for repositioning when overflowing 2014-08-28 17:35:05 +02:00
Vishesh Handa
8a3f38511d Dialog: Set the correct popup position on layout width/height change
We seem to have cases where once the dialog is visible and the visible
event is over, then the width/height updates itself, so we need to
reposition the dialog appropriately.
2014-08-28 16:28:56 +02:00
Vishesh Handa
eb6ea04be7 Dialog: Dot not update layout width/height unlesss completed
The functions are often called a number of times before the
component is actually completed. There is no point of this.

Also added a function updateLayoutParameters which update all 4
of these in a more efficient manner. There is a certain amount
of code duplication between those 4 functions and this one, but
that can be fixed in another patch.
2014-08-28 16:15:26 +02:00
Marco Martin
b58a3ef754 add a FIXME comment 2014-08-28 16:15:12 +02:00
Marco Martin
85fa280111 Merge branch 'mart/QtControlsSlider'
REVIEW:119974
2014-08-28 16:14:24 +02:00
Marco Martin
f7eb69f078 comment++ 2014-08-28 16:06:48 +02:00
Marco Martin
60976b67ae more comment&docs 2014-08-28 16:04:02 +02:00
Vishesh Handa
4f622a5158 Dialog: Fix poisitioning and theme rendering
- updateTheme should always be called the frameSvgItem's size has been
  upated. It uses the geometry of the frameSvgItem. Also updated the
  documentation.

- When a dialog has a visualParent, setting the position of the dialog
  is slightly compilcated. In order to set the position we have to give
  the function popupPosition the size of the dialog so that it can
  determine where to place it, however the size of the dialog depends on
  the position as some of the borders are drawn depending on the
  position. We have a circular problem.

  For now we're solving this by tempoarily giving the full size with all
  the borders in the case when there is a visual parent.
2014-08-28 15:49:16 +02:00
Marco Martin
846f740dae fix copyright 2014-08-28 14:25:48 +02:00
Marco Martin
4ac3652d10 some documentation fixes 2014-08-28 14:21:12 +02:00
Vishesh Handa
30174dd367 Dialog: Mark componentComplete as false on creation 2014-08-28 13:17:17 +02:00
Marco Martin
d6b08c303a style tickmarks 2014-08-28 13:15:09 +02:00
Marco Martin
4ec02e7b1d style handle and groove 2014-08-28 13:12:04 +02:00
Aaron Seigo
d5f156e968 add an interactive console QML definition 2014-08-28 11:52:49 +02:00
l10n daemon script
ce814a5285 SVN_SILENT made messages (.desktop file) 2014-08-28 08:49:15 +00:00
Marco Martin
6d6ff41aee start port of Slider 2014-08-27 18:51:52 +02:00
Vishesh Handa
e3c1095d92 Dialog: Remove syncTimer
Remove the timer and call syncToMainItemSize directly whenever it used
to be called. We avoid the extra event loop this way. This probably
breaks somethings, but we can figure that out and add tests for that.
2014-08-27 18:16:24 +02:00
Vishesh Handa
9ddbd93855 Dialog: Remove syncMainItemToSize
The only place it is now used is when the window x/y position changes.
There is now a dedicated function to handle that.

This brings us one step closer to removing the entire sync timer
2014-08-27 18:16:24 +02:00
Vishesh Handa
67810adbf1 Dialog: Replace QWeakPointer with QPointer
This simplifies the code as we do not have to call .data() everywhere
2014-08-27 18:16:24 +02:00
Vishesh Handa
7fd87741de Dialog: Simplify handling of min/max width/height changed
When the minimumWidth/Height of the attached Layout of the mainItem
would change. The following events would happen -

- updateMinimumWidth is called
--> results in resizeEvent being called
--> results in syncMainItemToSize
--> results in slots connected to mainItem widthChanged
---> syncMainItemToSize + syncToMainItemSize being called a few more
times. It's not entirely apparent why at thist point.

This kind of logic is quite hard to follow and more importantly because
of the timers in the middle, an extra paint event is called. This means
the user can first see the window resize and then the item getting
resized.

This patch introduces a little bit of code duplication (can be fixed in
future commits) to clearly establish what updateMinimumWidth should be
doing -
* disconnect signals to make sure mainItem's widthChange is not triggered
* update window size + item size + borders
* reposition if required

The repositioning is useful as currently if a dialog becomes wider if
will not reposition itself and will overflow. With this patch we always
make sure the entire dialog is shown.

Minor Point: On testing without the patch the dialog does reposition
itself if it is not already overflowing. I suspect this is kwin moving
the window.

A test called dialog_minWidthHeighRepositioning.qml can be used to see
how the change occurs before and after.
2014-08-27 18:16:24 +02:00
Marco Martin
5b9bb128d8 ckeck for loops or too deep fallback chains 2014-08-27 17:39:32 +02:00
Marco Martin
6a190670ba create the Layout attached object in init()
always create it and create it immediately.
this way it's possible for other c++ users to find it
2014-08-27 13:37:56 +02:00
Marco Martin
49bb894a21 use QUrl::fromLocalFile 2014-08-27 13:11:26 +02:00
Marco Martin
2a575c810d noise-- 2014-08-27 12:22:22 +02:00
Marco Martin
20906f6b0d allow the private imports relative to alloewdPath 2014-08-27 12:20:39 +02:00
Aaron Seigo
c97611dfac Merge branch 'simplify_shell'
REVIEW:119942
2014-08-26 21:43:56 +02:00
Marco Martin
ccab23fccb the config view can load files from the applet pkg 2014-08-26 18:11:11 +02:00
Aaron Seigo
0401da9ec8 give the applet alternatives QML file an entry 2014-08-26 16:26:07 +02:00
Marco Martin
11094417a3 delete the fallback 2014-08-22 19:27:09 +02:00
Marco Martin
e0db15c96d crash--
use a pointer, so we don't do infinite stack recursion

create the fallback in the proper place
2014-08-22 19:25:49 +02:00
Marco Martin
d369782ae1 ntroduce the concept of package fallback 2014-08-22 18:48:26 +02:00
Marco Martin
2b7d633687 Merge branch 'mart/DialogBackgroundHints'
REVIEW:119860
2014-08-22 16:56:08 +02:00
Marco Martin
d7472118c6 remove actions with menus also from corona ones
again, something different will be needed to support submenus here
2014-08-22 16:43:28 +02:00
Marco Martin
0f0006e4a9 remove manus from plasmoid.actions
not really solution-solution, but not really other ways due to QAction api
so will stay this way for a long time
CCBUG:338317
2014-08-21 21:21:19 +02:00
Jonathan Riddell
8596689f2c add version cmake file for PlasmaQuick
add version cmake file for PlasmaQuick
this allows Plasma Desktop to be able to set a required KF5 version

REVIEW:119881
2014-08-21 18:18:01 +02:00
Marco Martin
f74bf9a8b8 don't call updateTheme 2 times 2014-08-21 15:49:29 +02:00
Marco Martin
fcb8c85951 remove dead code 2014-08-21 15:47:37 +02:00
Marco Martin
e0fd14903c fix comment 2014-08-21 14:55:16 +02:00
Frederik Gladhorn
db6da1eb54 Make TabGroup a focus scope
This allows to manage the sub focus inside each tab independently.

REVIEW: 119870
2014-08-21 10:02:16 +02:00
Frederik Gladhorn
92928e38af Make ConditionalLoader a FocusScope
QQuickLoader is a focus scope so that it can automatically forward the
focus to it's item. Conditional loader should do the same and forward
the focus to its internal loader.
2014-08-21 10:02:16 +02:00
Frederik Gladhorn
f7a6df9129 AppletInterface::init should set focus not forceActiveFocus
Setting the focus is a good thing, the problem with forceActiveFocus is
that it will not allow any child to receive the actual focus, instead
the focus is forced on to the root element of the applet which may not
be desired.
When for example trying to improve keyboard focus behavior of KickOff
without this patch I cannot get the initial focus on the list of
favorites since it gets reset after the applet is created.

REVIEW: 119872
2014-08-21 10:02:16 +02:00
Martin Klapetek
0631608d74 Fix a filename typo 2014-08-20 23:29:25 +02:00
Marco Martin
da70f9e0bf Merge branch 'mart/QtControlsCheckBox'
REVIEW:119846
2014-08-20 20:46:59 +02:00
Martin Klapetek
766af15d8c Add an icon for keyboard layout change OSD
The svg needs some adjusting like inner padding to match the other svg
icons, but I have 0 knowledge of inkscape; Marco, can you please have a
look?

CCMAIL:notmart@gmail.com
2014-08-20 19:05:13 +02:00
Marco Martin
a135c4de7d correctly enable/disable shadow 2014-08-20 18:01:47 +02:00
Marco Martin
c7d16008d7 centralize theme enable/disable 2014-08-20 16:46:46 +02:00
Marco Martin
38bcec95b0 a simple way to enable/disable background 2014-08-20 16:33:38 +02:00
Marco Martin
770121d516 dd focus rectangles 2014-08-20 15:04:39 +02:00
Marco Martin
93052bf263 fill the anchors of tool contents in toolbar 2014-08-20 13:55:08 +02:00
Marco Martin
58f4f3b126 Revert "proper icons in drawers"
This reverts commit 0527185a09.
2014-08-20 12:14:19 +02:00
Marco Martin
0527185a09 proper icons in drawers 2014-08-20 12:11:57 +02:00
Marco Martin
9c485f8427 fix of the radio svg size 2014-08-20 11:34:49 +02:00
Marco Martin
ff775e3ad7 support evil tristates 2014-08-20 10:56:50 +02:00
Marco Martin
df637bf5bb add a radiobutton style
almost identical to checkbox stuff, goes together
2014-08-19 19:14:36 +02:00
Marco Martin
c7ef2a34a9 switch is just a compat class for checkbox
since the guidelines forbid the switch looking switch
2014-08-19 19:14:03 +02:00
Marco Martin
b3c6c294ee style the ckeckbox 2014-08-19 18:07:19 +02:00
Marco Martin
1ab872181b start of a checkbox style 2014-08-19 17:54:49 +02:00
Marco Martin
d2a2ac18f7 Merge branch 'mart/QtControlsTextArea'
Conflicts:
	src/declarativeimports/plasmacomponents/qml/TextArea.qml
REVIEW:119781
2014-08-18 11:34:47 +02:00
Marco Martin
907da69251 properties don't need to be declared anymore 2014-08-18 11:32:49 +02:00
Marco Martin
21e47e6ab8 inherit QtQuickControlStyle, use internal ScrollViewStyle 2014-08-18 11:18:08 +02:00
Marco Martin
f39edd6fc4 use Elarun as wallpaper for air and oxygen 2014-08-15 18:12:59 +02:00
Marco Martin
6dcd361943 remoev the extra screenshot file definition 2014-08-15 18:12:59 +02:00
Marco Martin
428e4736b6 add margins from svg 2014-08-14 12:43:42 +02:00
Marco Martin
7e71e0bf95 comments++ 2014-08-14 12:36:46 +02:00
Marco Martin
5ad59675df don't duplicate ScrollViewStyle 2014-08-14 11:57:36 +02:00
Marco Martin
f9d64e2b09 try with new documentation 2014-08-13 19:19:23 +02:00
Marco Martin
99cc40053f make old contentMaxWidth/height props kinda work 2014-08-13 19:14:05 +02:00
Marco Martin
5961bcaaa7 add a focus effect 2014-08-13 18:55:08 +02:00
Marco Martin
877c2a3325 use the background framesvg only in TextAreaStyle 2014-08-13 18:52:50 +02:00
Marco Martin
76d24e8fe2 beginning of official style for TextArea
for now it copies ScrollViewStyle.. the style will have to be an import as well
2014-08-13 18:41:57 +02:00
David Edmundson
1d83cc0baf Guard against Plasma::SVG giving us null pixmaps
On some themes Plasma::SVG gives empty pixmaps. Loading a null QImage to
an atlas texture causes a crash in old versions of Qt.

Guard against it.

BUG: 88039
Reviewed-by: Martin Klapetek
2014-08-13 15:07:53 +02:00
David Edmundson
d4c9c20144 State inheritance from QtQuick / QtQuick.Controls modules 2014-08-13 12:16:33 +02:00
David Edmundson
f817168d02 Fix remaining doxygen exporting in Plasma.Core 2014-08-13 01:07:55 +02:00
David Edmundson
9f18d8c9e1 hide non qml accessible internal member functions from QML docs 2014-08-13 00:57:42 +02:00
David Edmundson
a2c04745f1 Generate documentation on remaining PlasmaCore classes 2014-08-13 00:45:43 +02:00
David Edmundson
f17761d508 Explicitly link QML Types with the name exposed in QML (which may be different) 2014-08-13 00:45:43 +02:00
Martin Klapetek
2f3c411956 [calendar] Initialize the ints properly
Fixes a cppcheck report
2014-08-12 23:50:36 +02:00
David Edmundson
5478c7e3c2 Add more missing @class and @short descriptors 2014-08-12 23:15:57 +02:00
David Edmundson
ace0209e0e Hide member documentation in imports
These classes are exposed only as QML so we should only show members the
user can actually use.

The invokable is moved to the top for easier reading

REVIEW: 119745
2014-08-12 23:13:52 +02:00
David Edmundson
c92a2697fa Remove non-true comment about certain classes being exported to QML 2014-08-12 21:33:49 +02:00
David Edmundson
6bdf7487cd Provide documentation on FrameSvgItem and ColorScope
without an @class no documentation is generated at all
2014-08-12 21:33:49 +02:00
Marco Martin
0ada27caa7 Merge branch 'mart/XPlasmaRootPath'
Revieved by: Eike Hein
2014-08-12 10:34:37 +02:00
Marco Martin
bcf653b9d4 Revert "check X-Plasma-RootPath as well for privates"
This reverts commit d7e0a9f0bc.
2014-08-12 10:34:07 +02:00
Marco Martin
d7e0a9f0bc check X-Plasma-RootPath as well for privates 2014-08-12 10:25:11 +02:00
Marco Martin
fb51115b39 remove the run associated app from here 2014-08-11 19:51:32 +02:00
Marco Martin
90cac04202 recompute actions text on sycoca change
it can update the app name it's opening it with
if the file association has been changed
2014-08-11 19:32:30 +02:00
Marco Martin
b5dfbdb0c8 fix build 2014-08-11 17:56:13 +02:00
Marco Martin
d5ef46d43d add file definition for colors 2014-08-11 17:54:45 +02:00
Marco Martin
7f383b968b use "open in" 2014-08-10 16:34:19 +02:00
Marco Martin
6a19de43fa Merge branch 'mart/AssociatedApplicationFromMime'
reviewed by: Eike Hein
2014-08-08 16:11:25 +02:00
Marco Martin
52bc83a65a action in containment as well 2014-08-08 16:09:36 +02:00
Marco Martin
2642fc3329 use open in 2014-08-08 15:45:04 +02:00
Aaron Seigo
928d5e63a5 bool Package::hasValidStructure() const
needed to differentiate between packages with structures and without
before path is set
2014-08-08 14:12:22 +02:00
Aaron Seigo
3e61b26178 better variable naming for clarity 2014-08-08 14:12:22 +02:00
Marco Martin
0d3a814e20 Don't leak
we were creating new packagestructures on each package creation
and never deleting them, causing a pretty big leak.

now keep a single instance of the structures, with prototype packages.
members are static for binary compatibility.
i would go for max one bic change in this library that's when and if
this library will be made pubic.

Patch by Aaron Seigo
2014-08-08 14:04:46 +02:00
Marco Martin
f608e85294 extract the app name and icon we'll be open with 2014-08-08 13:40:34 +02:00
Marco Martin
5f1abfbbe3 add definition for a screenshot 2014-08-08 13:29:46 +02:00
Marco Martin
d266a9594b valid package internalload even if just structure
consider a loaded package valid even if !isvalid() but does have some file
that indicates it has a valid packagestructure.
for how packages are loaded now, a package is never valid at first if has a required file:
because the path gets set only after the package is loaded
this fixes wallpaper loading
2014-08-08 11:29:23 +02:00
Aaron Seigo
b99001ace4 typos in comments 2014-08-08 08:25:27 +02:00
Aaron Seigo
b4f4515d2a detach on file/directory definition add 2014-08-08 08:25:27 +02:00
Aaron Seigo
9ee252475f setRequired actually works now 2014-08-08 08:25:26 +02:00
Aaron Seigo
402825b301 after detaching, fetch the item from the collection again
fixes setting these values on a copy of the package
2014-08-08 08:25:26 +02:00
Marco Martin
fad59eb01a bind setAssociatedApplicationUrls
add notify signal for setAssociatedApplication
Reviewed-by: Eike Hein
2014-08-07 19:34:57 +02:00
Marco Martin
1585c9b26a be aware of dpi changes
BUG:338093
2014-08-07 17:05:55 +02:00
Marco Martin
2482eb193c allow applets specify a different root than pluginname
introduce X-Plasma-RootPath: it would be used instead of
the plugin name for package root path if present
2014-08-07 16:26:51 +02:00
Marco Martin
419d97cfe0 Merge branch 'mart/QtControlsTextField'
REVIEW:119523
2014-08-07 15:42:21 +02:00
Marco Martin
11b2da667d fix logic of install/remove eventfilter 2014-08-07 13:28:37 +02:00
Marco Martin
1baddcc004 port plasma1 popupapplet event filter logic
use an event filter to open popup menus inside popups.
requires a recent 5.3 revision and a small change in the shell package
2014-08-06 19:45:31 +02:00
Marco Martin
120132879a contextualActionsAboutToShow signal
emitted just before showing a context menu
gives the plasmoid the time to fiddle with the actions beforehand
reviewd by:Eike Hein
BUG:337959
2014-08-06 11:43:55 +02:00
Aleix Pol
d7a7a4fb83 Use Qt API for figuring out the dialog screen
At the moment it's trying to translate the item position and iterating
through all screens, but we can get the screen through the item's window.

REVIEW: 119603
2014-08-05 19:48:28 +02:00
Aleix Pol
ebe9011253 Have separate texture hashes for each window
Apparently in nvidia we get corruptions when a texture created for a window
is used in another one.
With this patch we tell the texture has changed when we move it from a
window to another, so it's re-created and we keep textures for all windows
separately. This way we ensure they don't mix.

REVIEW: 119465
2014-08-04 19:53:35 +02:00
Marco Martin
712de91021 leave space for the clear button 2014-08-04 19:44:34 +02:00
Marco Martin
d66e62116b reintroduce all removed properties and methods
reintroduced as dummy, so existing stuff doesn't break but gets a warning
2014-08-04 19:28:30 +02:00
Marco Martin
b93132fca7 use QtControls for the textField 2014-07-28 19:55:32 +02:00
Aleix Pol
b6f5335cd8 Have separate texture hashes for each window
Apparently in nvidia we get corruptions when a texture created for a window
is used in another one.
With this patch we tell the texture has changed when we move it from a
window to another, so it's re-created and we keep textures for all windows
separately. This way we ensure they don't mix.

REVIEW: 119465
2014-07-28 19:48:08 +02:00
Marco Martin
f040238d82 Merge branch 'mart/QtControlsToolButton'
REVIEW:119464
2014-07-28 17:48:31 +02:00
Marco Martin
546ffbc791 reintroduce containmentForScreen with defaultPlugin
reintroduces an api call from plasma1:
its the only way to solve
https://bugs.kde.org/show_bug.cgi?id=337200
basically to avoid a crash when plasma starts with missing containments in the appletsrc and a locked corona, or a screen added with locked widgets.

it's the only entry point that allows a creation of a containment when widgets are locked
REVIEW:119513
CCBUG:337200
2014-07-28 13:43:23 +02:00
Marco Martin
0aaf7db0e4 use QtControls.ToolButton 2014-07-25 18:51:12 +02:00
Marco Martin
f2a1824c31 proper colors for the labels and icons 2014-07-25 15:43:17 +02:00
Marco Martin
957eab570e support for attached buttons 2014-07-25 15:36:14 +02:00
Marco Martin
c8cb89faa9 support for round buttons 2014-07-25 14:40:13 +02:00
Marco Martin
a3266857ad initial port of ToolButton
wonder if will be possible to share something with Button,
but ToolButton is way more complicated
2014-07-25 14:21:05 +02:00
Marco Martin
a059748fbc Merge branch 'mart/QtControlsButton'
REVIEW:119455
2014-07-25 13:05:00 +02:00
Aleix Pol
daf7981820 Just pass the bigger textures from the !m_fastPath to the textures cache
It's a really cheap lookup, and maybe we get to skip some textures
uploading

Reviewed by David Edmundson
2014-07-25 12:57:16 +02:00
Marco Martin
05f4a44059 use implicitWidth as label minimum width 2014-07-25 12:54:27 +02:00
Aleix Pol
ab0740228c Remove hint-stretch-over-borders from lineedit
This way the line edit can go through the fast path as well
2014-07-25 12:53:24 +02:00
Aleix Pol
6641285d3b Remove deprecated code-path
hint-compose-over-border is now treated by the !m_fastPath
2014-07-25 12:42:31 +02:00
Aleix Pol
bc425f1809 Cache the textures created for the fast path
Create a cache that has pointers to all the textures that we've generated,
so in case we have one already created, we can re-use it.

REVIEW: 119425
2014-07-25 12:41:53 +02:00
Marco Martin
dbbb8056f5 use the minimumWidth gave by the Layout 2014-07-25 11:26:41 +02:00
Marco Martin
d29b3f051d don't mix anchors and layouts 2014-07-25 11:20:26 +02:00
Marco Martin
7538c3292c don't compute two times the same thing 2014-07-24 20:16:46 +02:00
Marco Martin
0c2138916e use RowLayout 2014-07-24 20:11:31 +02:00
Marco Martin
b538a1dca9 override iconSource for compatibility 2014-07-24 19:19:26 +02:00
Marco Martin
9301163142 support checked buttons 2014-07-24 18:30:55 +02:00
Marco Martin
2e06bb3214 create arrow on demand, layout it correctly 2014-07-24 18:29:48 +02:00
Marco Martin
9b06cbc392 style doesn't depend from control properties 2014-07-24 17:47:19 +02:00
Marco Martin
a39c8898b3 don't redefine iconSource 2014-07-24 17:38:13 +02:00
Marco Martin
9365123152 fix minimumWidth/height
don't try to access undefined properties

make the style and the control as independent as possible
2014-07-24 17:11:19 +02:00
Marco Martin
02c6bba518 initial port of Button to QtControls
still loads of layout problems
2014-07-24 15:58:14 +02:00
Marco Martin
f6e4cb790e Revert "support platformcontents for shell packages"
This reverts commit 9760601704.

thinking about it, a shell package should be really device specific per se
2014-07-24 14:05:58 +02:00
Marco Martin
9760601704 support platformcontents for shell packages
reviewed by: Bhushan Shah
2014-07-24 13:58:26 +02:00
Eike Hein
9ff445b0e4 Fix bottom/top elements in viewitem not being of consistent height.
This was causing broken vert alignment everywhere and making me very
cranky.
2014-07-23 20:07:43 +02:00
David Edmundson
c127b78d57 Always take the slow path for composeOverBorder
We previously only supported compose-over-border when the centre was not
set to tile.

It's possible to use compose over border with tile.. even if it doesn't
make much sense.

Given that creating an opacityMask loads most of the image anyway, we
can make use of the FrameSVG painter path and avoid any additional code
complexity here.

REVIEW: 119406
2014-07-23 15:54:13 +02:00
Marco Martin
d580410142 add a mask prefix in dialogs 2014-07-23 13:16:01 +02:00
Marco Martin
80516dbef0 framework part of the applet alternatives chooser
this is the little part in plasma-framework for the applet alternatives chooser.
works together the branch mart/alternativesConfig of plasma-workspace and plsma-desktop.
for how it looks and why, see the vdg forum thread:
https://forum.kde.org/viewtopic.php?f=285&t=122067&p=315919#p315919

still possible problems:

I'm not sure about using a new desktop file entry X-Plasma-Provides, maybe Categories could be enough, but it may produce many false positives as well

REVIEW:119409
2014-07-23 12:25:32 +02:00
Aleix Pol
fbb6166f84 Revert "No need for compose-over-borders in the Breeze button"
It was needed, after this we realized that the buttons looked odd,
in some cases, because the center wouldn't be under the 2px wide
sides.

This reverts commit e34d89a1f5.
2014-07-22 16:22:06 +02:00
Aleix Pol
e34d89a1f5 No need for compose-over-borders in the Breeze button
Reviewed by David Edmundson
2014-07-22 15:40:34 +02:00
David Edmundson
bdb0b3b2ca Check for empty sized elements in original SVG
Reviewed-by: Aleix Pol
2014-07-22 13:35:44 +02:00
Aleix Pol
0b1bb7edd8 Optimize breeze theme
Breeze theme usually has borders and center that can be tiled, which
ends up in more performant rendering, as we don't need to re-render
anything from the svg every time we resize an element.

Basically what we did was "s/hint-stretch-borders/hint-tile-center/g".
The only exceptions we found for this were: picker, dragger and monitor.

Reviewed by David Edmundson

CCMAIL: plasma-devel@kde.org
2014-07-22 13:01:50 +02:00
Aleix Pol
e613662ab5 Make framesvg unit test pass
Revert the changes in contentsRect, it was clearly not the best place to
put the code that contains the code that computes the content size.
Instead move the code in FrameSvgItem, duplicates data and code but works.
2014-07-22 03:14:26 +02:00
Aleix Pol
ab93d83890 Merge branch 'davidedmundson/framesvg_native'
Use FrameSVG as 9 tiles instead of uploading a big texture of the finished frame each time.
This also saves the cache being populated with full created frames in different sizes; which end up taking up space in the disk and shared memory cache as well as the GPU memory.
A code path falls back to the original uploading the entire texture if obscure settings are used, i.e overlay.

Benchmarks:
apitrace when resizing a frame goes from an average of 7.6ms per frame of CPU time just for the swizzling and uploading to 1.4ms
GPU time also drops from 40us to 10us

Themes will need to remove stretch-borders (when we gain nothing from stretching; i.e Breeze) to get the most out of it.

REVIEW: 119330
2014-07-21 18:38:11 +02:00
Aleix Pol
dca3958b44 Stop exposing that many things in FrameSvgItem
Move the shared code between FrameSvg and FrameSvgItem into a separate file
that both can link to.

Reviewed by David Edmundson
2014-07-21 18:01:26 +02:00
Aleix Pol
99586bc420 Add API documentation as it's public API now
Reviewed by David Edmundson
2014-07-21 15:49:10 +02:00
Aleix Pol
47c7688d02 Move some of the code and make some API public
It's unreasonable to use private API, so make everything public API so that
every user of FrameSvg have as much features exposed as possible.

Reviewed by David Edmundson
2014-07-21 15:44:25 +02:00
Lukáš Tinkl
3f07e41e2a i18n style fix 2014-07-18 22:36:42 +02:00
Lukáš Tinkl
cdce8e5445 don't replace ampersands for an underscore
in context menu actions
2014-07-18 22:36:13 +02:00
Aleix Pol
565b2b6f51 Add a guard after figuring out the contentRect for a framesvgitem 2014-07-18 12:44:06 +02:00
Aleix Pol
a1d7863f4f Fix scrollbar display, polish sectionRect function
While debugging a glitch I found out a bug in the painting code that hide
behind QRect documentation. See comment in sectionRect. This never rendered
correctly.
2014-07-18 02:42:46 +02:00
David Edmundson
f2fb13ab3b Merge branch 'master' into davidedmundson/framesvg_native 2014-07-17 22:43:08 +02:00
David Edmundson
3eee37bd81 Don't allow tiling + compose over border at the same time
It wouldn't make any sense. Just choose tiling
2014-07-17 22:42:26 +02:00
David Edmundson
371c9a53dd Add composeOverBorder support in FrameSVGItem 2014-07-17 22:29:54 +02:00
David Edmundson
a0bd7c9c14 Revert "Do not leak toolbox items"
This reverts commit 5e9fc425c6.
2014-07-17 21:12:16 +02:00
David Edmundson
1f7951d873 Revert "Setting parent on toolbox causes problems. Instead delete via connection"
This reverts commit c38e6a204e.

This causes problems on the panel toolbox.
We were already trying to set a parent; however as it's a property of a QQuickItem
it only changes the visual parent; kdeclarative has a code path that if there's
a visual parent to skip the memory management; bug is probably there instead.
2014-07-17 21:08:02 +02:00
David Edmundson
c38e6a204e Setting parent on toolbox causes problems. Instead delete via connection
Reviewed-by: Eike Hein
2014-07-17 20:36:02 +02:00
David Edmundson
2bf3466b53 Put compose over border onto the slow path that renders the entire item 2014-07-17 19:32:17 +02:00
David Edmundson
5e9fc425c6 Do not leak toolbox items
Finally found the cause of the items QML_LEAK_CHECK warns of.

BUG:336561
REVIEW: 119343
2014-07-17 18:50:05 +02:00
David Edmundson
31c1fcc50e Do not leak containment actions
REVIEW: 119341
2014-07-17 18:49:50 +02:00
David Edmundson
09e23eb675 Merge branch 'master' into davidedmundson/framesvg_native 2014-07-17 12:39:55 +02:00
Marco Martin
9ba599e1b9 packages with Hidden=true metadata are invalid
This originates from the request of downstreams to hide packages that are still installed.
why should be easier than not installing them i don't know, *but* semantically I think it makes sense act as if the package was not existing when the metadata says it's hidden

REVIEW:119329
2014-07-17 12:30:43 +02:00
l10n daemon script
f7208d7d21 SVN_SILENT made messages (.desktop file) 2014-07-17 08:59:54 +00:00
David Edmundson
1924877140 Add code path FastStretch, which resizes without re-rendering 2014-07-16 22:51:29 +02:00
David Edmundson
be05a8394a Don't remove nodes from a parent whilst we're cycling through them 2014-07-16 22:22:43 +02:00
David Edmundson
6c0dadc1c2 tidy variable + method names + fix crash 2014-07-16 20:40:41 +02:00
David Edmundson
e037203748 Add tiling support 2014-07-16 20:40:41 +02:00
Aleix Pol
a4e3569bbd Introduce the FrameSvgItem fastPath alternative, opt out of it on overlays
Fallback to the old code if there's something not (yet?) handled by the
new implementation. This way we get to optimize for the the common use-case
without breaking former, complex, code-paths.

Reviewed by David Edmundson
2014-07-16 17:01:05 +02:00
David Edmundson
9b0d414e57 Fix minor memory leak in Wallpaper interface
REVIEW: 119316
2014-07-16 15:40:00 +02:00
Aleix Pol
cbe13ac765 Do a full repaint when frameSvg says a repaintNeeded 2014-07-16 13:51:53 +02:00
Aleix Pol
a30afb9c34 Ensure we don't overlap the center with the right and bottom borders 2014-07-16 13:51:25 +02:00
Aleix Pol
fc4e09df46 Add warning 2014-07-15 19:57:43 +02:00
Aleix Pol
0a94e1b1b8 Take composeOverBorder into accoun 2014-07-15 19:56:04 +02:00
Aleix Pol
cf0f8d0c91 Make sure all prefixes are being used 2014-07-15 19:54:45 +02:00
Aleix Pol
89536abd9c Take into account that the requested prefix is not always the actually used prefix 2014-07-15 17:26:25 +02:00
Aleix Pol
4bde2d48dd Iterate over svgitem
Don't upload textures every time we resize, makes the resize much smoother.
Make it possible to show and hide borders
2014-07-15 16:28:41 +02:00
Aleix Pol
c4d9bcb362 don't let the contentRect overlap the borders 2014-07-15 16:27:34 +02:00
Martin Klapetek
06827054f4 Replace Calendar grid with Canvas
This patch simplifies the grid a bit more by using Canvas instead of
Rectangles, so actually lowering the number of Items needed to create
the grid from 16 to just 1.

It works pretty neatly with no junctions problem at all.

REVIEW: 119283
2014-07-15 13:53:34 +02:00
Marco Martin
188d131d77 make the uiloaded tests pass
work in case of every order the various applets and containments emit uiready
REVIEW:119284
2014-07-15 10:16:10 +02:00
Marco Martin
427acdb373 Merge branch 'mart/coronaautotest'
REVIEW:119270
2014-07-14 20:48:31 +02:00
Aleix Pol
83895d8e26 Use proper sizes and positions 2014-07-14 20:02:47 +02:00
Aleix Pol
f9d1bb3452 Merge branch 'master' into davidedmundson/framesvg_native 2014-07-14 18:52:51 +02:00
David Edmundson
dcbcb8a490 Construct full frame image using nodes inside FrameSVGItem 2014-07-14 18:44:33 +02:00
Aleix Pol
a8b37129d0 Refactor a contentGeometry method out of generateFrameBackground
Given the FrameData and the total size, we get to know where is the
contents going to be and gives us the information to extrapolate where to
put all the borders and corners.

Reviewed by David Edmundson
2014-07-14 18:13:40 +02:00
David Edmundson
9fc470089b If SvgItem size is 0, remove any nodes in the scenegraph 2014-07-14 17:23:33 +02:00
David Edmundson
96941f6c55 Use Atlas textures 2014-07-14 17:23:33 +02:00
Aleix Pol
d574f51108 Move the central space painting into a separate function
Reviewed by David Edmundson
2014-07-14 17:00:39 +02:00
Aleix Pol
33aa8e406d cleanups
Move variable declarations closer to its uses
Prefer using QSize than width and height separately, so we can pass it
around directly and use isEmpty
Remove duplicated code in the central piece drawing
2014-07-14 16:49:12 +02:00
Aleix Pol
ae56796cb9 Move corner painting into a paintCorner function 2014-07-14 16:47:56 +02:00
Aleix Pol
f62b357b62 Prefer passing a size rather than a width and height 2014-07-14 16:37:00 +02:00
Aleix Pol
df1d44407a cleanup
Reduce type casts from QSizeF to QSize, we're always using it as a QSize,
so just make the cast once.
Remove redundant constructions like checking whether it's null and returning
null or unneeded arithmetics
2014-07-14 16:32:10 +02:00
Marco Martin
6666445af5 don't make failed applet block the corona 2014-07-14 14:22:36 +02:00
Aleix Pol
5b1fc96329 Small internal code refactoring
Create a paintBorder function that can generically paint framesvg borders.
This helps us reduce duplicated code as well as improving the readability
of the code.

Reviewed by David Edmundson
2014-07-14 14:16:16 +02:00
Aleix Pol
dac1d8f265 Figure out why my plasma wasn't notifying the startup
Make sure AppletPrivate::uiReady is set in applet_p.cpp when we report that
the ui is ready.
Make sure that if we loop through all the containments and they're all
ready, we emit that it's done.

So far, Corona::startupCompleted was never emitted.

REVIEW: 119220
2014-07-14 13:23:20 +02:00
Martin Klapetek
2f933387af Refactor the Calendar component a bit
Currently the grid itself is composed of 88 rectangles that draw all the
lines in a way that two big rect draws the whole two topmost horizontal
and leftmost vertical border lines and then each day rectangle is
drawing small bottom and right rect.

This patch reduces it to 13 rects only where one rect draws the whole
frame around the grid and then 1px wide/high rects draw the inner lines.
Results in much cleaner & simple code.

Plus there's a small refactor on the id names so it makes more sense.

This does not require any additional changes in the applets.

REVIEW: 119232
2014-07-12 13:52:34 +02:00
Aleix Pol
054a38b9d0 --runtime warnings 2014-07-11 19:51:42 +02:00
Aleix Pol
e008a5d7d4 If a timer is active and we start it, it will restart
No need to check if it's active and stop it first, according to the
documentation.
2014-07-11 19:15:06 +02:00
Aleix Pol
804a0d34da Fix cache implementation
It was weird.

Reviewed by the Handa-man.
2014-07-11 18:37:55 +02:00
Marco Martin
100b60a7fb return the prefix that has ben set even if not avail
symmetricity++ between setelementprefix and prefix
2014-07-11 16:55:59 +02:00
Marco Martin
c77b2bf9a8 fix switch from a less complete to a more complete
if the old theme didn't have a prefix, but the new one has,
set the old (formerly nonexisting) prefix again
2014-07-11 16:42:55 +02:00
Marco Martin
c2284cb48e connect(QPoineter breaks on some gcc versions
please, use connect(QPointer.data(), for time to come
2014-07-11 10:49:25 +02:00
Aleix Pol
d1e24d19fb fix build on jenkins
for some reason it works here...
2014-07-10 20:28:19 +02:00
Aleix Pol
4b222c5ef6 --warning unused variable 2014-07-10 20:28:01 +02:00
Aleix Pol
f75eb2d984 Don't connect to signals until the class has been initialized
While profiling plasmashell memory usage with Vishesh we realized that most
of the usage came from loading the Background image repeatedly.

We traced it back to this change, where we were connecting to
wallpaperChanged before initializing it, so it would initialize it again,
loading the wallpaper twice. It's not that we were leaking the object,
AFAIK, but loading an image using QQuickImage already raises the memory
quite a bit.

This change alone reduces by 15% the memory usage of my plasmashell (with 2
screens, that makes it a bit worse, because there's 2 DesktopViews then).

REVIEW: 119216
2014-07-10 19:53:03 +02:00
Aleix Pol
92a8007489 Introduce TimeTracker debugging tool for plasma
TimeTracker is a small class that keeps track of an object the changes in
the properties of an object and relates them to a point in time. This way
we can see how things change and react to each other. Then, this information
is exported into a json file to analyze.

REVIEW: 119199
2014-07-10 19:20:59 +02:00
l10n daemon script
8afadc6410 SVN_SILENT made messages (.desktop file) 2014-07-10 04:23:58 +00:00
Aleix Pol
124dc4799a fix build 2014-07-09 18:23:58 +02:00
Aleix Pol
f5f96c1390 Remove unneeded casts
They're all because we're accessing the d-pointer of the parent class (!),
we can access it without casting.
2014-07-09 18:20:32 +02:00
Aleix Pol
459f81814d Only consider a containment as finished if it actually passes a "true".
So far, we were only considering the fact that teh signal was being
emitted, and that's doesn't seem correct.

REVIEW: 119191
2014-07-09 12:51:24 +02:00
Aleix Pol
8fb62cc0a4 Cleanup
Re-use containment variable instead of keep fetching it every time. It's
not a trivial function, so better reduce the calls.
2014-07-09 12:43:08 +02:00
Aleix Pol
ae996c6666 --deprecated call 2014-07-09 12:36:34 +02:00
Aleix Pol
5e0acaa443 --warning 2014-07-09 12:02:31 +02:00
Marco Martin
11311f61e9 treat desktop location as bottom edge
swap edge only when the location is left or right
fixes tooltip position for things in desktop, like Folder icons

BUG:337112
2014-07-09 11:40:34 +02:00
Frederik Gladhorn
445331bba8 Improve TextField accessibility
Qt Quick accessibility already picks up the text automatically. Instead
set the name (which is a descriptive element) to the placeholder text
which is more descriptive of the element. Otherwise Orca will read the
text twice.
2014-07-09 09:57:23 +02:00
Andrew Lake
c29896a3a8 fix too many minute marks.
BUG:337235
2014-07-08 21:27:28 -07:00
l10n daemon script
ee230c4d21 SVN_SILENT made messages (.desktop file) 2014-07-09 03:37:24 +00:00
Frederik Gladhorn
5199c9778a Fix accessible roles 2014-07-08 21:46:13 +02:00
Marco Martin
9218543b65 QCoreApplication::closingDown() becomes true too late
restore the disconnect: sometimes appletRemovedForward gets executed after
aboutToQuit is emitted, but before closingDown returns true
this prevents configuration to be forgotten
2014-07-08 12:49:04 +02:00
Marco Martin
a5ecb2e0ff fix a crash sometimes happening on close
the problem is that sometimes when QCoreApplication::aboutToQuit the containment is already deleted (the order is not really deterministic), therefore appletScript::applet() will hit an assert.
using a qpointer should solve it, its data being already 0ed in the cases the containment is already deleted at :aboutToquit time.
2014-07-08 11:04:05 +02:00
Frederik Gladhorn
2f93b7f764 Add Accessibility properties
Also clean up increase and decrease actions for Slider a tiny bit.
2014-07-08 10:49:16 +02:00
Aleix Pol
596dc7523d Prefer inner scopes
Don't request data until we're going to use it.
Don't emit about config changes if config doesn't change
2014-07-08 01:47:43 +02:00
Marco Martin
0dba9044bf actions() returns the complete list
the disabled/invisible actions already have it as properties.
this fixes the add widgets action sometimes not being available
in the toolbox
Reviewed by: Bhushan Shah <bhush94@gmail.com>
2014-07-07 19:36:30 +02:00
Alexander Potashev
0e4c0c8851 Improve spelling and capitalization in i18n()-d text 2014-07-06 23:50:09 +04:00
Marco Martin
573f48921e don't escalate immutability on each save
Applet::immutability() is the maximum between internal applet immutability
and the immutability of its containment.
so not set higher immutability in the internal member of Applet
or the applet will not be able to be unlocked properly

Reviewed by: Sebastian Kügler <sebas@kde.org>
2014-07-03 14:12:21 +02:00
l10n daemon script
29908f145a SVN_SILENT made messages (.desktop file) 2014-07-01 12:38:20 +00:00
l10n daemon script
601836ad7f SVN_SILENT made messages (.desktop file) 2014-06-30 08:49:36 +00:00
l10n daemon script
b06bb52100 SVN_SILENT made messages (.desktop file) 2014-06-29 08:42:52 +00:00
Marco Martin
18b6d854a0 add missing files
REVIEW:118972
2014-06-27 15:13:46 +02:00
Marco Martin
6c54fb596d Don't expose color properties in c++ api
the color properties are remotely useful only when used from QML
and risk to explode in number in the future,
it's not a good thing for a public c++ api.

Also, they will become kinda deprecated as in largely replaced by
the ColorRole api. Too late to remove those properties completely,
but still last days to move them at least out of c++ api.
(and in qml they could be removed in the future in a 2.1 version
of the import while still being present in 2.0 if needed)

This moves the color properties is a theme subclass available only from QML

REVIEW:118972
2014-06-27 15:06:52 +02:00
Marco Martin
6754c86cae plasma version of user-identity 2014-06-27 13:18:44 +02:00
Marco Martin
ffcc0d43d8 use correct highlight color
CCBUG:336775
2014-06-27 11:11:24 +02:00
David Edmundson
3cfa88f8c4 Add workaround for scrollview disabling keyboard interaction
See https://bugreports.qt-project.org/browse/QTBUG-31976

Reviewed-by: Marco Martin
2014-06-26 15:51:36 +02:00
Eike Hein
4153a2c8ee Catch popup menus by window type, not class name.
The latter breaks for subclasses of QMenu.

Follow up to review 118361.
CCMAIL:martin.klapetek@gmail.com

Fixes libkonq menus opened from Folder popup dialogs closing the
dialog.
BUG:336702
2014-06-25 16:17:26 +02:00
David Edmundson
dc79190b8d Fix dialog's check for isTooltip
Qt::Tooltip is a mix of other flags (0x0001101)

using a simple & is not correct as any Window will have (0x0000001) set
and the bitwise & operation will return a non-zero value

REVIEW: 118906
2014-06-24 21:17:58 +02:00
Marco Martin
655e7fcc0d base on tabbar minimum width to show scrollbuttons
be more deterministic and now usually kickoff never shows the
scroll buttons

BUG:335392
2014-06-24 16:35:50 +02:00
Marco Martin
41722f7fb5 fix stylesheet 2014-06-24 15:04:28 +02:00
Marco Martin
f74b88a356 add a monochrome k menu logo 2014-06-24 14:51:53 +02:00
Kai Uwe Broulik
347e073df3 Add paintedWidth and paintedHeight properties to WindowThumbnail
REVIEW: 118886
2014-06-23 19:58:15 +02:00
Aleix Pol
ce5d182510 Make Application component async
We're not using it for concatenating process calls, so it doesn't make
sense to make it block.

Reviewed by David Edmundson
2014-06-23 15:37:47 +02:00
Marco Martin
e09a2eb44a check pointer validity, crash--
even if that code path shouldn't be hit, always better avoiding a crash
(proper fix coming)
CCBUG:336491
2014-06-23 14:50:06 +02:00
Marco Martin
57001cfcf4 refine button to adapt better to any palette
BUG:336471
2014-06-23 14:10:20 +02:00
Christoph Feck
fec57bdaa2 Use QElapsedTimer for data engines
forward port of http://commits.kde.org/kdelibs/ac5d3d2f916c0a461121d4d033642227bd743edb

CCBUG: 336551
REVIEW: 118869
2014-06-23 13:03:16 +02:00
l10n daemon script
ac4f519188 SVN_SILENT made messages (.desktop file) 2014-06-23 08:35:39 +00:00
Andre Woebbeking
35ee077ee3 warning: ignoring return value of function
CCMAIL:mart@kde.org
2014-06-22 20:37:18 +02:00
Fabian Bornschein
3152e678d9 update for some icons to fit in the overall design 2014-06-22 15:32:58 +02:00
Andrew Lake
e48d111806 fix stylesheet for battery and brightness icons 2014-06-21 10:36:08 -07:00
Andrew Lake
66911cbc30 align battery and brightness icons to pixel grid. 2014-06-21 10:06:42 -07:00
Andrew Lake
c4091dcbcd tidy up sloppy highlight and focus on slider handle 2014-06-21 09:12:09 -07:00
Marco Martin
bc26ac1334 more familiar graphics for switch user 2014-06-20 20:33:57 +02:00
Kai Uwe Broulik
f89f9945c3 Split the battery.svgz
This moves some of the icons into a FDO icon spec compliant file with proper element name
2014-06-20 19:36:54 +02:00
Marco Martin
6603334b9b make the view's qml know about the wallpaper
better giving the access to the view qml rather than the containment

Reviewed by: Bhushan Shah <bhush94@gmail.com>
2014-06-20 19:04:09 +02:00
Vishesh Handa
5cd7040d8d Battery Icon: Rename elementIds to begin with filename
"battery-KeyboardBrightness" instead of "KeyboardBrightness"

this follows the convention, and this way it can be used with Plasma
IconItem
2014-06-20 18:31:00 +02:00
Marco Martin
55b5e815b5 ignore inactive containment in containmentAt
Reviewed by: Bhushan Shah <bhush94@gmail.com>
BUG:336168
2014-06-20 17:32:36 +02:00
Vishesh Handa
d3de99eb1e AppletQuickItem: Do not remember the popup dialog size
The popup dialog can currently never be resized, so it doesn't make
sense to record its height in a config file. Additionally, this also
causes problems when applet writers change the size of their plasmoid.
Since the old size is saved in the config file, it is shown with the old
dimensions instead of the new ones.

REVIEW: 118849
BUG: 336070
2014-06-20 17:31:57 +02:00
Marco Martin
3847be89fa don't crash if no colors file is provided
Reviewed by: Martin Gräßlin <mgraesslin@kde.org>
2014-06-20 14:42:13 +02:00
David Edmundson
c317939aba Add notify property to colorGroup
REVIEW: 118841
2014-06-20 00:21:33 +02:00
Marco Martin
2c9103ee19 position the slider bar at margins
is a way in between the verious fix attempts of 332587
BUG:336448
CCBUG:332587
2014-06-19 20:57:49 +02:00
Kai Uwe Broulik
549361cb42 Fix typo 2014-06-19 20:12:51 +02:00
David Edmundson
66e2b915f6 Replace ScrollArea with a QQuickControls ScrollView
Included is a plasma theme to make it look the same.
A known regression is that SectionScroller is temporarily removed
but that is currently not used in plasma-desktop
and this fixes a lot more problems than it causes.

REVIEW: 114283
2014-06-19 20:10:38 +02:00
Marco Martin
4f14f4ceb9 "configure" icon for config dialogs
BUG:336461
2014-06-19 20:03:31 +02:00
Marco Martin
17741fbfae prune ColorRole enum
all the former combinations are now obtained with
ColorRole + ColorGroup
2014-06-19 18:18:50 +02:00
Marco Martin
8eb1bc10f5 Introduce the ColorScope class
it's an import in core, and advertises itself as an "attached property"
with this we can:
say that all its chidren are of a certain context, like "button" or
"complementary"

then anywhere there will be available an attached property, as ColorScope,
so like:

PlasmaCore.ColorScope {
 group: PlasmaCore.Theme.Complementary

 PlasmaComponents.Label {
   text: "foo"
   color: ColorScope.textColor
 }
}
2014-06-19 17:40:14 +02:00
David Edmundson
f22dd8e571 Replace incorrect documentation 2014-06-19 15:14:03 +02:00
David Edmundson
21af3f8c81 Don't require mandatory subText in tooltip
REVIEW: 118838
2014-06-19 15:12:26 +02:00
Marco Martin
0ba92ad6c2 adjust to pixel grid 2014-06-19 11:50:58 +02:00
Marco Martin
9b418853f7 new shiny icons for kickoff by alake 2014-06-19 11:28:57 +02:00
Sebastian Kügler
a5f25771a2 Reduce Units footprint
- internally, smallSpacing, largeSpacing and gridUnit are entangled, and
  all use the font's rendered size. This means we can save a
  QFontMetrics construction by merging the updating of these three
  props.
- A wanted side-effect is that the updating of spacing and gridunit now
  happens at the same time, so they're updated consistently in the UI.
- Also, use compile-time connects for the Plasma::Theme::themeChanged
  connection
2014-06-19 03:12:27 +02:00
Sebastian Kügler
f8422b903c Fix APIDOX for some properties 2014-06-19 03:10:43 +02:00
Sebastian Kügler
453c40efee increase units.smallSpacing
1/8 is really ridiculously small, it ends up being 2px on almost all
systems, and using it between UI elements makes them look really
cramped. 1/4 works much better, and makes this property actually useful.
2014-06-19 02:50:14 +02:00
Eike Hein
94430a6784 Tweak margin hints on task frame. 2014-06-18 23:59:58 +02:00
Marco Martin
aec4311adb remove breeze-complementary
add around complementary color groups
2014-06-18 19:42:00 +02:00
Marco Martin
b755bd1e32 ColorGroup is part of Theme 2014-06-18 19:22:02 +02:00
Marco Martin
c54d3d5538 colors are not flags 2014-06-18 19:09:18 +02:00
Marco Martin
4ad2cc5196 new color group of "complementary" colors
for areas intended to have independent background and text color than
all the rest, like the Logout dialog

if Colors:Complementary is not present in the theme, it falls back to
normal colors
2014-06-18 19:02:08 +02:00
Martin Gräßlin
d7d71e8a66 [declarativeimports/core] Do not crash if FadingMaterialShader failed to complie
Without GLSL our shader doesn't compile and Qt aborts when accessing the
uniforms. We don't want that, abort is never nice.

BUG: 336272
REVIEW: 118813
2014-06-18 15:13:58 +02:00
Marco Martin
1f633ad0a1 fix tooltip resize in folderview
also, detach from old layouts if the mainitem changes
2014-06-17 21:55:45 +02:00
Martin Klapetek
de43b9b547 Remove bad merge leftovers 2014-06-17 17:56:05 +02:00
Martin Klapetek
6240b9e7d5 [calendar import]Fix months capitalization
Should be done by the view/label rather than hardocding it
2014-06-17 17:55:01 +02:00
Martin Klapetek
b0f56eed9b [calendar import]Set 'today' properly 2014-06-17 17:54:32 +02:00
Martin Klapetek
da33d6211f [calendar import]Remove useless function 2014-06-17 17:25:05 +02:00
David Edmundson
b44e0205bc Add icon size "tiny"
REVIEW: 118798
2014-06-17 17:14:15 +02:00
Aleix Pol
97cf403288 Reduce Applet::containment calls
It's not a cheap call, and there's no need to re-calculate it every time.
2014-06-17 16:02:43 +02:00
Aleix Pol
e1051994ad Ensure that the containment's corona is properly calculated.
The used corona is either the containment's parent or, in case the parent
is an applet, it's containment's corona. With this change we ensure the
proper corona is always found.
This change requires screenContainment to be able to walk through the
object tree in case it's not a containment directly managed by it.

BUG: 334500
2014-06-17 16:02:08 +02:00
Marco Martin
34226faec1 one occasion less to crash
(on debug builds an assert is still possible)
2014-06-17 11:49:23 +02:00
Martin Klapetek
3188b417f4 Split startDate property into today and displayedDate in calendar component
Basically splits the Calendar::m_startDate into 'today' and
'displayedDate', where displayedDate is the date that is displayed (it
controls the days model etc) and can be manipulated by the user by eg.
changing months in the plasmoid, and today is the current day, populated
by our dataengine (which means it auto-updates with no need for a
timer).

This allows for greater flexibility and things like "Go back to today"
when eg. the plasmoid is hidden or when the user have browsed too far in
the calendar and just wants to get back to today (the button to do that
pending).

Also this fixes a problem where the time dataengine is being polled
every 30secs for the clock and would reset the calendar view as the
startDate is currently bound to the dataengine and the view resets on
that change.

REVIEW: 118668
CCBUG: 336304
2014-06-17 10:43:13 +02:00
Sebastian Kügler
bcde055673 Add test for ContextMenu
This enables and disabled menuitems with a timer, so we can see whether
dynamically updating these properties are propagated to the QMenu in the
proxy.

CCBUG:336281
2014-06-17 03:14:24 +02:00
Sebastian Kügler
5b38b9f850 Fix MenuItem.visible and MenuItem.enabled
Update visible and enabled property of the action backing MenuItem when
these properties change.

BUG:336281
2014-06-17 03:14:24 +02:00
Kai Uwe Broulik
76175fafa6 Handle mouse wheel events in PlasmaComponents.Slider
REVIEW: 118753
2014-06-16 20:07:16 +02:00
Marco Martin
3088611227 simplify the svg, fix glitch
same look, many less elements in the svg
2014-06-16 19:25:31 +02:00
Marco Martin
01fc75aa78 more precise actionbutton
specific 22x22 graphics and ensure the graphic elements always have an even size

BUG:335547
2014-06-16 19:07:58 +02:00
Marco Martin
992b64a167 small workaround to show all the highlight borders
BUG:336210
2014-06-16 15:57:45 +02:00
Marco Martin
751b773db2 if the applet has width/height in root, use it
CCBUG:336291
2014-06-16 14:35:04 +02:00
Kai Uwe Broulik
60ddc9f25d Use RotationAnimator for BusyIndicator
This makes the animation run directly on the scene graph to not stress the CPU that much

REVIEW: 118769
CCBUG: 311799
CCBUG: 336274
2014-06-15 22:28:21 +02:00
l10n daemon script
001e37987f SVN_SILENT made messages (.desktop file) 2014-06-15 08:26:47 +00:00
l10n daemon script
d72b0d45fa SVN_SILENT made messages (.desktop file) 2014-06-14 08:25:31 +00:00
Marco Martin
63d2476521 some icons for kickoff 2014-06-13 21:00:45 +02:00
Marco Martin
369c734bd9 align to pixel grid 2014-06-13 20:59:34 +02:00
David Edmundson
16dc4705c7 Rename presence applet svg to match XDG icon names 2014-06-13 20:25:31 +02:00
Marco Martin
c6e7961088 ensure mask and normal frame have the same borders 2014-06-13 17:15:06 +02:00
Hrvoje Senjan
fddf7c79a6 Use correct wallpaper size 2014-06-13 17:04:18 +02:00
Marco Martin
05d71947c8 svgColorGroup -> colorGroup 2014-06-13 15:40:47 +02:00
Jonathan Riddell
9513a005a8 switch to Next wallpaper 2014-06-13 13:16:26 +01:00
Marco Martin
c44c3b30e2 off by one in positioning
position the dialog at exactly the right-most edge of the screen
it was off by exactly one pixel
2014-06-13 13:54:23 +02:00
Marco Martin
bb40981c1f use proper colors 2014-06-13 12:43:31 +02:00
Marco Martin
f86f2361ab all opaque stuff follows stylesheets 2014-06-13 12:35:10 +02:00
Marco Martin
89f52e8769 get rid of shutdowndialog
we have the new shiny implementation that doesn't use the ol'moon
2014-06-13 12:28:15 +02:00
Marco Martin
42308b136e use stylesheet for opaque background 2014-06-13 12:08:26 +02:00
Marco Martin
09d0c44267 leave a bit of room around headings
make sure heights are integer
CCBUG:336123
2014-06-13 11:43:41 +02:00
l10n daemon script
ba6698e140 SVN_SILENT made messages (.desktop file) 2014-06-13 09:04:06 +00:00
Marco Martin
ea2f1de405 use proper color classes 2014-06-12 16:22:36 +02:00
Martin Klapetek
72c5aff002 Make the calendar heading & grid have the same margins
BUG: 336121
2014-06-12 13:56:08 +02:00
l10n daemon script
b092bbed31 SVN_SILENT made messages (.desktop file) 2014-06-12 08:31:04 +00:00
Martin Klapetek
a177696c6c Update DataEngine sources only if they are used
REVIEW: 118669
2014-06-11 17:17:41 +02:00
l10n daemon script
dab9d5f303 SVN_SILENT made messages (.desktop file) 2014-06-11 08:21:23 +00:00
Martin Gräßlin
0d61746784 Small improvments to FadingNode and IconItem
* trigger an update after the animation finished as the IconItem needs to
  switch to SVGTextureNode again
* Don't connect needlessly to a lambda slot
* FadingMaterialShader had the texture bind swapped
* Fix virtual method hidden warning in FadingMaterialShader
* Use dynamic_cast instead of static_cast to convert to SVGTextureNode
  or FadingNode.

REVIEW: 118251
2014-06-11 07:55:01 +02:00
Andrew Lake
167c628665 add additional battery and brightness icons 2014-06-10 11:58:09 -07:00
Marco Martin
71cf5a3e9a set window mask when composite is off 2014-06-10 15:22:12 +02:00
Marco Martin
15280e336f resize immediately after applying max height
another async x11 weirdness, now the height stays correctly synced
2014-06-10 14:13:41 +02:00
Marco Martin
17bc7897e3 resize the framesvg in resizeevent
this makes it as synced as possible with the window
will still be behind the window size by exactly one frame
but at least is ensured is no more than one
2014-06-10 13:48:30 +02:00
Marco Martin
e35aee9cea Merge branch 'mart/svg/stylecolors' 2014-06-09 20:09:28 +02:00
Marco Martin
d3f73c59f3 apidoc 2014-06-09 19:44:52 +02:00
Marco Martin
fa95680a51 use color groups instead
the Text and Background colors can become buttonText or ButtonBackground
based on the svg property ColorGroup
2014-06-09 19:35:58 +02:00
Marco Martin
cac2704d50 prototype of more flexyble svg stylesheets
experiment in dynamic repacement of Text and Background
colors, in order to be able to generate icons of different colors
based on where they are (for instance if the normal background
is dark and the button background is light

at the moment supported an option to invert colors, one
to use the "highlight" color (if we want colored icons
on mouse over)
2014-06-09 17:35:46 +02:00
Martin Klapetek
292d06b537 Update the battery icon wth 0% aligned at 12 o'clock
CCBUG: 335636
2014-06-09 14:19:42 +02:00
Marco Martin
e558e44658 export the applet we're configuring 2014-06-09 13:24:52 +02:00
Bhushan Shah
86c1f46eaa Prevent crash when requesting icon with negative size
REVIEW: 118613
BUG: 335939
2014-06-08 22:39:54 +05:30
l10n daemon script
5ab5d89fea SVN_SILENT made messages (.desktop file) 2014-06-07 08:25:46 +00:00
Giorgos Tsiapaliokas
35e5c46358 Unset the contentsPrefixPaths for the ThemePackages. The Theme Packages are not supposed to have a "contents/" directory.
REVIEWED-BY: Marco Martin
2014-06-06 18:48:49 +03:00
Marco Martin
9c642fd700 use correct translation domain names 2014-06-06 14:41:21 +02:00
Aleix Pol
8ab91f219d Expose the screenGeometry on the applet interface
It's useful to be able to figure out information about the current screen
without having to ask the corona.
2014-06-05 15:24:26 +02:00
Marco Martin
549fb7ce51 swap setupbindings and setTranslationDomain 2014-06-05 14:50:31 +02:00
Marco Martin
f457c5254a use the applet plugin domain instead 2014-06-05 14:31:52 +02:00
Marco Martin
bc8e285a16 set translation domain as the corona plugin name
applet configuration dialogs may need to always use i18nc :/
2014-06-05 14:08:19 +02:00
Marco Martin
7bc669f7d8 be quiet 2014-06-05 14:01:52 +02:00
Marco Martin
30936ea2be set default translation domain as corona pluginname 2014-06-05 13:40:25 +02:00
Marco Martin
d984a60a2d set translation domain for applets
their default translation domain has the same name as the plugin name
(as the catalog in plasma1)
2014-06-05 13:33:07 +02:00
David Edmundson
73bb587ee9 Set catalog name in QueryDailog
REVIEW: 118557
2014-06-05 13:21:18 +02:00
Marco Martin
61dadaa558 minimize x move/resize calls
ensure starting and ending point of the animation are correct
BUG:335789
2014-06-05 12:09:52 +02:00
Aleix Pol
a06c1569a1 The screen size will be defined by the final Corona
It doesn't make sense to try to give hints at what it will be given that
we don't know.
For example, see how we're defining ::numScreens as 1 on the other method
as well.
2014-06-05 01:25:18 +02:00
David Edmundson
7ea8e24584 Remove more unused QApplication includes 2014-06-04 18:57:18 +02:00
David Edmundson
e8297e9a0f QDesktopWidget -> QScreen 2014-06-04 18:55:05 +02:00
David Edmundson
8277da7015 Remove unused includes 2014-06-04 18:54:55 +02:00
David Edmundson
3994890bff Remove reference to QApplication 2014-06-04 18:51:13 +02:00
David Edmundson
05485cf36f Remove unused include 2014-06-04 18:48:00 +02:00
David Edmundson
67b6bfc0c3 Remove unused include 2014-06-04 18:48:00 +02:00
Marco Martin
1ce72838a5 update size hints if enabled borders change
final size hints depend from enabled borders, so they have
to be updated
2014-06-04 18:44:28 +02:00
Marco Martin
b6ac8ded88 forcefully remove some entries
newly created containments may have some default entries like plugin
or formfactor written in the config group, but not in keyList()
they have to be explicitly removed because wouldn't be removed in
deleteGroup
BUG:335792
2014-06-04 17:28:11 +02:00
Aleix Pol
6608359333 No need to forward the implicit* properties
It's not modifying anything or similar either.

Reviewed by David Edmundson
2014-06-04 16:55:14 +02:00
Marco Martin
9badcd9275 invert textbox colors as well
BUG:335757
2014-06-04 11:46:57 +02:00
Alex Merry
1a80326103 Move kded module to kf5/kded subdirectory
This makes sure the module is properly versioned.

REVIEW: 118476
2014-06-04 10:16:13 +01:00
Marco Martin
9d1727a1a4 Plasma1 behavior: no remove action in panels
the remove context menu for applets is only visible when the panel controller is open
less accidental removal
2014-06-03 16:35:01 +02:00
Marco Martin
051dabae5e warnings--
BUG:335522
2014-06-03 15:57:42 +02:00
Harald Sitter
ce329f4402 qmax(qreal, double) is not valid as qreal may be float
adjust the call to use qreal for both (floor() returns double)

REVIEW: 118487
2014-06-03 14:37:38 +02:00
Marco Martin
80195aa149 check for currentTab 2014-06-03 14:29:48 +02:00
Marco Martin
223fe9b431 stop forwarding appletRemoved on application close
the containment must not save geometries without the applets that are being deleted

BUG:335742
2014-06-03 11:59:57 +02:00
Marco Martin
bd61f033f7 apply stylesheet
BUG:335707
2014-06-03 10:18:43 +02:00
David Edmundson
23068fb2b0 Avoid references to QApplication
They cause problems when running in QGuiApplication

REVIEW: 118470
2014-06-02 17:44:47 +02:00
Martin Klapetek
5b9cb0a0a6 Add kpackagekit icon to breeze theme
This seems to have been lost at some point
2014-06-02 17:33:23 +02:00
Marco Martin
4fd0af246d make package::uninstall actually work 2014-06-02 16:38:50 +02:00
Marco Martin
78c779c91d remove the rewrite for platform specific stuff
don't bomb if m_engine->importPathList() changes at runtime
2014-05-30 19:47:06 +02:00
Aleix Pol
1419eea367 Fix warning on ToolButton
If there's no parent for the ToolButton, always show all borders.
2014-05-29 18:39:31 +02:00
Marco Martin
ab1ffcde8b as Dialog, it searches for a Layout for size hints 2014-05-29 16:00:10 +02:00
Marco Martin
63e78f0901 save and restore applets config dialogs 2014-05-29 12:48:49 +02:00
Marco Martin
f7adc059ee warnings--
BUG:335488
2014-05-29 12:14:09 +02:00
l10n daemon script
9e45440ae7 SVN_SILENT made messages (.desktop file) 2014-05-29 08:11:19 +00:00
Marco Martin
0c127f1ce5 delete framedata when ThemePrivate dies 2014-05-28 20:34:25 +02:00
Marco Martin
3fdf999ba0 bit more complex bookeeping
since it is now possible to have different svg/framesvg with
different themes, s_sharedFrames must be indexed by theme first
what it's really the identifying thing is ThemePrivate, so it's indexed by that
this fixes a crash that occurs the second thime the theme gets changed

BUG:335472
2014-05-28 20:27:58 +02:00
David Edmundson
8a59fe3643 Fix wrapping in tooltip subtexts
REVIEW: 118376
2014-05-28 16:24:54 +02:00
David Edmundson
78684c46cd Remove unnecessary placeholder
Text.implicitWidth holds the size the text would be if it wasn't
truncated
2014-05-28 16:24:50 +02:00
Marco Martin
d33aa6dfdf fix system colrs css 2014-05-28 15:02:42 +02:00
Marco Martin
a8f73abfbe warning--
BUG:335393
2014-05-28 12:32:57 +02:00
Martin Klapetek
ce166ca451 Don't hide Dialog when opening QMenu from it
When plasmoid in a popup (applet opened from panel) is opening a QMenu,
the popup itself hides because it looses focus. There's currently no way
to obtain the Dialog the applet popup is in and pass it to the QMenu
window as a parent, so we have to go this way.

REVIEW: 118361
BUG: 335422
2014-05-28 12:04:21 +02:00
Martin Klapetek
aca024c2e0 Fix copy-paste calendar component bug 2014-05-27 17:44:08 +02:00
Martin Klapetek
19f21ec507 Equal margins on calendar grid from both sides 2014-05-27 17:44:08 +02:00
Aleix Pol
036be80400 readability++
QWeakPointer -> QPointer
Remove .data() when not needed
2014-05-27 17:25:25 +02:00
Marco Martin
140d066021 check for slots existence before blindly connecting 2014-05-27 17:13:57 +02:00
Aleix Pol
3d77ac5008 Make AppletQuickItem return QQuickItems
It was returning QObjects on most places and it didn't make much sense
since since it was just expecting the API users to qobject_cast to
QQuickItem to do anything with these. Considering that fullRepresentation
can be anything other than a graphic item doesn't sound good anyway.
2014-05-27 16:59:48 +02:00
Aleix Pol
ee3deabb48 We only want to load the new Desktop.qml only in case we're a DesktopView
Therefore, this has to be moved to DesktopView
2014-05-27 16:59:48 +02:00
Antonis Tsiapaliokas
7916c9d766 Fix the PlasmaComponents.Sheet
*location property is now using the PlasmaCore.Types
*DialogStatus => PlasmaCore.DialogStatus
*windowFlags property => flags property
2014-05-27 17:56:37 +03:00
Marco Martin
66d65f1b12 QML warnings-- 2014-05-27 16:38:14 +02:00
Marco Martin
157d0ed836 use Qt::BypassWindowManagerHint
BUG:335267
2014-05-27 13:57:34 +02:00
Marco Martin
71b22cb89b tooltip is override redirect
CCBUG:335267
2014-05-27 13:39:12 +02:00
Marco Martin
de73bbb278 Revert "don't expand if still creating the representation"
This reverts commit c3a38d3434.
2014-05-27 12:37:56 +02:00
Marco Martin
c3a38d3434 don't expand if still creating the representation
when qml object gets created with an async incubator,
events are still processed, so we have to guard gainst
double triggers that can lead to creating the
extended representation again
BUG:335406
2014-05-27 12:24:35 +02:00
Yuri Chornoivan
aab2c13164 Fix typos found by mvillarino 2014-05-27 07:02:32 +03:00
Marco Martin
0596cf176f schedule a rect cache sync when stuff gets in
do a disc sync with a 2 minutes delay
2014-05-26 20:32:22 +02:00
Marco Martin
0b10a16113 try harder to avoid creating svg renderers
now is actually possible to obtain a startup with zero svg renderers
    * svg::isValid will create a renderer only if really nevessary
    * the rects cache is ensured to be written on disk
    * fixed the check on the theme metadata age
    * rect cache is shared between all applications
2014-05-26 20:14:57 +02:00
Aleix Pol
9d9c72630c Simplify plasma theme startup
Don't emit themeChanged when constructing Plasma::Theme instances

Reviewed by David Edmundson
2014-05-26 19:03:46 +02:00
Martin Klapetek
12811f1fc4 Add the current month name to the calendar component by default
Currently we have 3 applets using the calendar grid and all of them put
the extra heading to the calendar. We also offer ways to change the
displayed month so we should also show /which/ month is the current one
displayed, implicitly.

REVIEW: 118328
BUG: 334147
2014-05-26 16:25:15 +02:00
Marco Martin
819b42932d accept file:// urls as absolute paths 2014-05-26 13:55:10 +02:00
Martin Klapetek
9f0765b002 Make sure we update the calendar on date change
This introduces new property on MonthView - "today". This property is
updated by dataengine (or can be a timer too, but we already get signals
from dataengine every 30 seconds to update the clock) and is never
updated by the code itself.

Furthermore, the DayDelegate is now bound to it, so when "today"
changes, the selection rectangle in the calendar should also change.

And finally, the selected item in the grid is cleared if MonthView's
date property is cleared (which is second part of this patch, to the
applet itself).

REVIEW: 118277
2014-05-26 13:40:47 +02:00
Aleix Pol
efdf1ca917 Make QtGui a public dependency of KF5::Plasma
Many classes from QtGui are specified in the header files, this alone is
enough reason to make it a public dependency. (QGuiApplication, QFont,
QPixmap are some examples).
This also pulls QtCore (e.g. QString, QRect, QUrl), which also is, of
course.

CCMAIL: plasma-devel@kde.org
2014-05-26 04:16:57 +02:00
Aleix Pol
38b16d5149 Remove unneeded includes
QWidget!!
2014-05-26 04:11:35 +02:00
l10n daemon script
fd1674450e SVN_SILENT made messages (.desktop file) 2014-05-25 08:47:48 +00:00
Marco Martin
d4b4a9558f use the interceptor on views too
relax its rules a bit and alter it to make it work with shell packages too
2014-05-23 20:03:41 +02:00
Sebastian Kügler
249c1e1c93 Less warnings at runtime
It's quite common to try loading a package in order to check if it's
valid. No need to litter the console with that.
2014-05-23 18:41:50 +02:00
Sebastian Kügler
511495caad Make sure gridUnit is always an even number
This prevents subpixel alignment when gridUnit / 2 is used, which is
quite common.
2014-05-23 16:10:21 +02:00
l10n daemon script
2ba1a0c90f SVN_SILENT made messages (.desktop file) 2014-05-23 08:16:11 +00:00
Marco Martin
4cc6d84a81 try harder to use a pixel perfect size 2014-05-22 14:04:27 +02:00
Marco Martin
2f9e158297 22x22 version 2014-05-22 12:38:32 +02:00
Marco Martin
524ff23f25 add support for tooltips
use qwidget tooltips, not plasma ones
BUG:335131
2014-05-22 12:18:30 +02:00
Marco Martin
88275439d4 fix platform colors 2014-05-22 11:49:16 +02:00
Marco Martin
ab27f8b945 use view text color 2014-05-22 11:44:26 +02:00
Marco Martin
357647577f use view color for text in textfield
BUG:333837
2014-05-22 11:42:20 +02:00
Marco Martin
76ac7b7e6f more pixel-ok 16x16 version 2014-05-22 11:24:03 +02:00
Marco Martin
c71e5d4722 make square
16x16 version
use system colors
2014-05-22 11:21:13 +02:00
Martin Klapetek
8d0d53655b Add drive-harddisk breeze/systray icon 2014-05-22 11:04:49 +02:00
David Edmundson
b06fe8301c Calculate implicitWidth of both button and toolbutton properly 2014-05-21 21:15:18 +02:00
David Edmundson
8b86279298 Match toolbutton sizing behaviour with button
Removing eliding in Toolbutton, this causes a binding loop as the
sizeHint is dependent on the paintedSize, which will change if you
elide.

In all cases we are trying to make toolbuttons fit the contents, so this
actually got in the way of that.
2014-05-21 20:07:36 +02:00
Martin Klapetek
5aa1e18f97 Elide Components' Button label
Otherwise the label can get out of the button boundaries. Tested with
RTL text too, it's elided properly as the elipsis switches to Left on
its own.

Reviewed-by: Marco Martin

BUG: 334867
2014-05-21 17:46:04 +02:00
David Edmundson
78e6000e72 Fix member variable capitalisation 2014-05-21 16:54:05 +02:00
Marco Martin
d2d61c4da3 reposition when resizing if there is visualParent
BUG:334970
BUG:334964
2014-05-21 15:45:21 +02:00
David Edmundson
394e29fa34 When changing geometry always update 2014-05-21 15:38:23 +02:00
Marco Martin
bb10131fd4 support inverted layout 2014-05-21 15:03:37 +02:00
Marco Martin
409d340fba if a name is passed in the ctor, never change
BUG:335005
2014-05-20 18:26:03 +02:00
l10n daemon script
db8da9ff8d SVN_SILENT made messages (.desktop file) 2014-05-20 10:48:03 +00:00
Marco Martin
00db8aa4b1 fix menu icon 2014-05-20 11:10:54 +02:00
Marco Martin
10cbbc5032 "menu" icon for air and oxygen
will be necessary to delete the cache for it to appear
BUG:335008
2014-05-20 10:58:32 +02:00
David Edmundson
989dc5c07c Remove pointless include 2014-05-19 22:13:30 +02:00
Marco Martin
1e7a8b60a1 clean 2014-05-19 19:18:52 +02:00
Marco Martin
f7e25fe696 don't link to xml and iconthemes 2014-05-19 19:09:09 +02:00