Commit Graph

1789 Commits

Author SHA1 Message Date
Marco Martin
59dbfeeab6 ask confirmation to delete containments 2014-02-13 15:30:07 +01:00
Sebastian Kügler
566e2a8a42 Fix QPixmapItem::PreserveAspectCrop
This case was broken and would scale the image, while what we want is a
centered piece, from Qt::KeepAspectRatioByExpanding.
2014-02-13 14:56:10 +01:00
Sebastian Kügler
a8e31e1593 plasmapkg2: Fix installation and listing of wallpapers 2014-02-13 14:56:10 +01:00
David Edmundson
6bff4ef469 Avoid frame resizing till componentCompleted 2014-02-13 12:45:30 +01:00
Marco Martin
5c6077c728 add a zoom icon
used for the panel controls
2014-02-13 11:50:49 +01:00
David Edmundson
7c135314aa Watch QQmlParserStatus in dialog
This way we only call the expensive syncToMainItemSize once we have all
the information to accurately position the window.

Using the timer to limit the calls doesn't work entirely (according to
qDebug) especially with the multiple threads to compile things.

Seems to prevent the dialog ever jumping around on load.

REVIEW: 115709
2014-02-13 11:27:35 +01:00
Bhushan Shah
334e818af0 Do not show OSD for invalid values of percentage like -1 or 200
REVIEW: 115712
2014-02-13 18:16:49 +05:30
Marco Martin
664fd4167c maximizing the panel actually works 2014-02-12 17:36:46 +01:00
Marco Martin
6bccf2d1af api to access to containment actions 2014-02-12 17:13:56 +01:00
Martin Gräßlin
bada0c97ba Ensure that we can build without X11 or XCB
* X11 is optional dependency
* XCB is optional dependency
* Qt::X11Extras is only found if both X11 and XCB are found
* switch to HAVE_X11 instead of X11_FOUND in CMakeLists
* remove/fix custom added definitions
* use #if HAVE_X11 instead of #ifdef HAVE_X11 (that is always true)

REVIEW: 115698
2014-02-12 16:20:42 +01:00
Martin Gräßlin
31e301174a Ensure to not call X11 specific calls if we are not on platform X11
This fixes a bunch of possible crashy code when trying to run
applications linking plasma-framework on platform Wayland.

REVIEW: 115641
2014-02-12 16:20:04 +01:00
Marco Martin
68552f81dd take into account margins when propagating size hints 2014-02-12 15:34:34 +01:00
Marco Martin
003cbf8317 hide remove action for desktop containments 2014-02-12 14:04:53 +01:00
Marco Martin
a4f14a966a new property: interactive (default false)
if interactive is true, when the mouse cursor leavesthe tooltiparea and enters the tooltip,
it won't hide, so it will be possible to interacti with it
2014-02-11 19:28:28 +01:00
David Edmundson
63c62d6da8 Documentation++ 2014-02-11 18:52:51 +01:00
Aleix Pol
18473c9e9e Remove KRunner from Plasma-Framework
Have it as a separate KRunner framework instead
2014-02-11 18:03:06 +01:00
Sebastian Kügler
dbbb1ed513 Minor cleanup 2014-02-11 17:29:59 +01:00
David Faure
452413ef33 use version strings defined at toplevel - doesn't work though ? 2014-02-11 16:23:33 +01:00
Marco Martin
da36ebe0e4 remove unused signal 2014-02-11 13:31:44 +01:00
Marco Martin
6f256aa7e6 remove the legacy config machinery 2014-02-11 13:29:37 +01:00
David Edmundson
66d10d5c5a Add a property to tooltip to enable/disable tooltips
This is useful to be able to disable tooltips when a dialog exists.

We don't use the QQuickItem::enabled property as this propagates onto
children and has side effects.

REVIEW: 115623
2014-02-11 12:10:43 +01:00
Marco Martin
0d138bf2fb check the pointer 2014-02-11 11:11:34 +01:00
Marco Martin
3c74807791 don't alterate the position given the borders
eternal size dance--, don't take borders into account 2 times
2014-02-10 20:09:03 +01:00
Marco Martin
4e13ce6966 make sure full representations don't get loaded 2014-02-10 18:14:11 +01:00
Marco Martin
6f8f9a9c64 fix layout 2014-02-10 17:15:40 +01:00
Marco Martin
4e25b59b8e fix the condition 2014-02-10 17:04:39 +01:00
Marco Martin
4722cf45bc check the propert mainText() subText() 2014-02-10 17:01:25 +01:00
Marco Martin
022db8a9af don't show tooltips without tiles or custom item 2014-02-10 16:56:58 +01:00
Marco Martin
808eca4182 use QStringLiteral instead 2014-02-10 16:38:15 +01:00
Marco Martin
87730146db and make the previous one actually work 2014-02-10 16:23:13 +01:00
Marco Martin
e30a50f755 null string:fallback empty string: empty 2014-02-10 16:18:13 +01:00
Marco Martin
0573a47e06 tests and autotests in top level dir 2014-02-10 15:17:07 +01:00
Hrvoje Senjan
cc34d2c17e Rename plasmapkg to plasmapkg2
So it can be co-installed in the same prefix as kde-runtime(4)

REVIEW: 115605
2014-02-10 12:56:26 +01:00
David Faure
e76d11be9d Port to updated KActivities 2014-02-08 18:48:40 +01:00
David Edmundson
fb0728d40a Ammend last commit 2014-02-07 19:37:06 +01:00
David Edmundson
39ce54c0db Set paneltoolbox properties on construction
Also refactor the code to avoid creating and deleting an object if
containmentGraphicObject does not exist.
2014-02-07 19:35:31 +01:00
David Edmundson
233267f492 Fix spelling in comment 2014-02-07 19:35:31 +01:00
Marco Martin
77214956e7 search trough parent hierarchy for locations
seems reliable to determine the applet location
2014-02-07 17:44:47 +01:00
Marco Martin
5ba990df15 invert parent relationship of the compact and expander 2014-02-07 16:19:11 +01:00
Marco Martin
857150c183 the expander is compactrepresentation child
because it'll contain a tooltip too
2014-02-07 12:20:43 +01:00
Sebastian Kügler
b2ead1fe09 Merge branch 'master' into sebas/themeswitch2 2014-02-06 23:56:47 +01:00
David Edmundson
2b7a1eef48 Initialise values
Fixes valgrind screaming about us doing a jump on unitialised memory
2014-02-06 19:07:43 +01:00
Marco Martin
ab140c8c1e add properties for tooltips metadata 2014-02-06 18:49:28 +01:00
Sebastian Kügler
eebfb64d0a Merge branch 'master' into sebas/themeswitch2 2014-02-06 17:56:28 +01:00
Marco Martin
cab11dd7f8 change expanded accordingly when applet expands or collapses 2014-02-06 13:57:53 +01:00
Marco Martin
3858044d25 Merge branch 'mart/AppletAttached'
Conflicts:
	src/declarativeimports/core/dialog.cpp
	src/scriptengines/qml/plasmoid/containmentinterface.cpp
2014-02-06 13:16:11 +01:00
David Edmundson
e82b1dab9d Enable Plasma Controls for tab-navigation 2014-02-06 12:35:32 +01:00
David Edmundson
a3a434ced5 Upgrade all components to use QtQuick2.1
This has some new features like activeFocusOnTab which are awesome.
2014-02-06 12:16:43 +01:00
Marco Martin
3bb0e7d3d0 use the config of the applet parent of containment
that's the systray specific hack
2014-02-06 12:12:43 +01:00
l10n daemon script
34284e90eb SVN_SILENT made messages (.desktop file) 2014-02-06 04:12:17 +00:00
Sebastian Kügler
585aa4998a noise-- 2014-02-06 04:00:39 +01:00
Sebastian Kügler
15e4d93102 PanelConfigView respects contrast effect settings 2014-02-06 03:52:56 +01:00
Sebastian Kügler
62de49128e Don't forget the Blur behind the panel 2014-02-06 03:52:11 +01:00
Sebastian Kügler
60e955784c PlasmaCore.Dialog respects contrast effect settings 2014-02-06 03:51:14 +01:00
Sebastian Kügler
d9e43ff979 Be smarter about contrast effect reading
This commit allows the theme designer to just enable and disable the
effect (enable=true). If no color values are set, values are picked
based on the background color. This essentially restores the hardcoded
values in some other places, and makes them available as sensible
defaults to other themes.

Also, make sure colors are read before the effect is applied (as we need
the new bg color to decide whether it's light or dark).
2014-02-06 02:51:46 +01:00
Sebastian Kügler
8e062ace17 panelview takes contrast effect config from Theme 2014-02-06 01:04:23 +01:00
Sebastian Kügler
5dd4b51151 Plasma::Theme gets API for KWS' background contrast effect
From its api docs:

This method allows Plasma to enable and disable the background
contrast effect for a given theme, improving readability. The
value is read from the "enabled" key in the "ContrastEffect"
group in the Theme's metadata file.
The configuration in the metadata.desktop file of the theme
could look like this (for a lighter background):

[ContrastEffect]
enabled=true
contrast=0.45
intensity=0.45
saturation=1.7
2014-02-06 00:56:50 +01:00
David Edmundson
af82f2f0e7 Take into account screen positioning when detecting if out of bounds 2014-02-05 20:12:22 +01:00
David Edmundson
aada92247c Fix documentation 2014-02-05 20:04:33 +01:00
David Edmundson
3bbda089ed Add missing const 2014-02-05 20:04:23 +01:00
Marco Martin
29c72a9898 include appletquickitem_p.h from the right file 2014-02-05 18:00:05 +01:00
Martin Gräßlin
e69179e42e Fix cast error with new flags in NETWM 2014-02-05 17:42:24 +01:00
Marco Martin
f8b649fba9 move AppletQuickItem in libplasmaquick 2014-02-05 17:23:52 +01:00
David Edmundson
e0b6628541 Remove unused include 2014-02-05 17:22:24 +01:00
David Edmundson
b97e726ae2 Set minimumWidth of button to actually show the text
The minimumWidth of a plasma button is based on the paintedWidth
of the text item. There is no way to work out the correct width it
should be if we set the text to elide.
(except for the hack of using a hidden fake text item)

We should always fit contents. This won't cause any problems unless a
developer has a broken layout, at which point that should be fixed

REVIEW: 115500
2014-02-05 17:00:34 +01:00
Marco Martin
c363b33b43 don't assume containment() exists 2014-02-05 16:39:06 +01:00
Marco Martin
2f17e371d5 comments++ 2014-02-05 16:31:47 +01:00
Marco Martin
0f16569daa move more stuff in private 2014-02-05 16:23:57 +01:00
Marco Martin
c86a956c28 move private methods and slots in private 2014-02-05 16:02:28 +01:00
Marco Martin
7e53c7276a move private members in AppletQuickItemPrivate 2014-02-05 14:54:22 +01:00
Marco Martin
c196f8b748 AppletLoader->AppletquickItem 2014-02-05 14:19:39 +01:00
Marco Martin
b8a41a88f3 get rid of compactrepresentationexpander property 2014-02-05 14:07:23 +01:00
Marco Martin
4a5c20f954 getters and setters for packages 2014-02-05 13:51:41 +01:00
Marco Martin
74515ee2f5 use "_plasma_graphicObject" in applet*
to avoid possible collisions, use the private looking name "_plasma_graphicObject" for the dynamic property of Applet that represents the AppletInterface* pointer
2014-02-05 12:59:33 +01:00
Marco Martin
3325f24992 appletLoader doesn't depend from Declarativeappletscript 2014-02-05 12:51:31 +01:00
Marco Martin
e2ee69bf08 note about subclass property at left hand 2014-02-05 12:09:56 +01:00
Martin Gräßlin
91e9e401f0 Include config-plasma.h before checking for HAVE_X11
Fixes compile warning since kwindowsystem.h doesn't provide HAVE_X11
any more.

Reviewed-by: Marco Martin
2014-02-05 11:10:53 +01:00
David Edmundson
a951b7357b Remove leftover debug code 2014-02-04 19:16:07 +01:00
David Edmundson
ea7802a787 Add interface to open widget explorer from panel config 2014-02-04 19:04:38 +01:00
Marco Martin
9275e84a99 add a Wallpaper attached property for wallpapers 2014-02-04 17:23:22 +01:00
Marco Martin
be4c13e627 call the import org.kde.plasma.plasmoid 2014-02-04 17:01:28 +01:00
Marco Martin
2a0384c3c7 keep locally applet and corona packages
less references to the corona()
2014-02-04 16:43:47 +01:00
Marco Martin
68f2de9ec3 correctly export containment properties 2014-02-04 16:18:45 +01:00
David Edmundson
27e5a2ab46 Fix multiscreen popup positioning
This patch makes two changes:
 1) don't rely on window()->screen() it's rubbish.

 2) if the dialog is parented to a desktop, we want to position
 inside the parent, not outside the parent object

REVIEW: 115448
BUG: 330546
2014-02-04 14:55:48 +01:00
Marco Martin
517403096d port improve cache file dropping to plasma-framework
this ports revision c03052935b082 on kdelibs

improve cache file dropping

* fix regression: version the image cache file name
* version the svg elements
* drop old svg elements files
* respond to changes at runtime by watching the theme's metadata.desktop for changes
* move creation of the svg elements file into ThemePrivate::useCache()

REVIEW:115397
2014-02-04 12:06:09 +01:00
Sebastian Kügler
3647ee36ef Add copyright also in .cpp file 2014-02-04 03:29:31 +01:00
Sebastian Kügler
52c489eee5 Units reads longDuration from config file.
This reads the global animation duration value from plasmarc, and gets
notified of changes: change the file, all animations are updated
automatically.

Put this into your plasmarc to disable animations globally:

[Units]
longDuration=0

As you might guess, other values will work as well.

shortDuration will always be 1/5 of this. (For now.)
2014-02-04 03:25:51 +01:00
Sebastian Kügler
09564783a3 Fix wrong property name 2014-02-04 03:15:01 +01:00
Sebastian Kügler
1bfbee809e const-ref in foreach, clean up debugging 2014-02-04 02:18:28 +01:00
Sebastian Kügler
5f5716791a Merge branch 'master' into sebas/themeswitch 2014-02-04 02:13:15 +01:00
Sebastian Kügler
e8413e2703 Set default animation duration back to 250
Both, 0 and 250 works fine now across our imports and applets.
2014-02-04 02:08:44 +01:00
Sebastian Kügler
1d0c41f936 Fix animations with animations disabled
This may sound a bit weird, but we can't just switch off everything, as
in some cases, the animation is not just eye-candy, but carries
important semantics of the UI -- examples are BusyIndicator and
ProgressBar. Behaviour for those is restored.
2014-02-04 01:32:12 +01:00
Sebastian Kügler
86e458cdd0 Normalize animations in PlasmaComponents 2014-02-04 00:16:55 +01:00
Sebastian Kügler
27eae008d6 250ms animations become units.longDuration 2014-02-03 18:56:32 +01:00
Marco Martin
362a5017b6 support a corona child of an applet
this is an ad-hoc thing for the systray, would be better not having something like that
2014-02-03 18:47:51 +01:00
Sebastian Kügler
2ba6bd6cbc PlasmaExtras' animations use units.*Duration 2014-02-03 16:41:57 +01:00
Sebastian Kügler
90d2afb722 Cleanups in units 2014-02-03 16:32:29 +01:00
Sebastian Kügler
30e98ba8f7 units.longDuration and units.shortDuration properties
These centralize the duration of animations, currently set to 250 and 50
milliseconds. They're notifiable since we want to be able to switch off
animations at runtime.

CCMAIL:plasma-devel@kde.org
2014-02-03 16:30:50 +01:00
Sebastian Kügler
f49c37a36c use pluginName() 2014-02-02 02:55:25 +01:00
Sebastian Kügler
1fedbb587c Allow package deinstallation from package file
Uninstall previously only took plugin names. This is unfortunate, since
it made uninstallation from a package file impossible, leaving it to the
user to figure out the plugin name before a package can be uninstalled.

So let's read the plugin name from the zip prior to uninstalling.
2014-02-02 02:33:47 +01:00
Sebastian Kügler
9e491920e5 Only search for metadata.desktop when necessary 2014-02-02 02:25:08 +01:00
Sebastian Kügler
fa7ae03867 Catch packages zipped into subdirectory
This is a pretty common thing, as most zipping tools put the contents
into a subdirectory by default.

Fixes theme package installation.
2014-02-02 02:18:54 +01:00
Sebastian Kügler
833c2f55dd plasma-shell reads theming from LookAndFeel package
ShellCorona reads the theme from the LookAndFeel package, (defaults,
group "Theme", key name), looks into plasmarc if the LNF theme should be
overridden, and if either exists, it sets the new theme on startup of
plasma-shell.
2014-02-01 23:51:05 +01:00
Sebastian Kügler
174eae6802 Merge branch 'master' into sebas/themeswitch 2014-02-01 22:38:55 +01:00
l10n daemon script
063366d681 SVN_SILENT made messages (.desktop file) 2014-02-01 04:10:47 +00:00
Marco Martin
b68bbca6c8 check for validity 2014-01-31 20:03:33 +01:00
Marco Martin
89cb417e9f propagate sizehints from mainItem 2014-01-31 19:59:45 +01:00
Marco Martin
856e16e803 safer sizehint propagation 2014-01-31 16:56:16 +01:00
l10n daemon script
cef95ccc63 SVN_SILENT made messages (.desktop file) 2014-01-31 04:30:37 +00:00
Sebastian Kügler
91a861e3ef noise-- 2014-01-31 03:39:10 +01:00
Sebastian Kügler
0f3c51e859 Fix theme listing and installation 2014-01-31 03:38:43 +01:00
Sebastian Kügler
e0fbf3473f Remove unused member 2014-01-31 02:25:25 +01:00
Sebastian Kügler
1c4f14c177 Remove some dead code 2014-01-31 02:06:09 +01:00
Sebastian Kügler
ac1aba0f2a Add -t shorthand to plasmapkg
This restores backwards compatibility in arguments for theme
installation.
2014-01-31 01:51:31 +01:00
Sebastian Kügler
de7558e7f7 Use shared KDirWatch instance 2014-01-31 01:31:09 +01:00
Sebastian Kügler
ffeb585003 Rough version in which theme switching works
This aligns the config files and groups, and adds a KDirWatch in the
shared Plasma::Theme private object in order to nofity when the
configured theme changes.

It's a bit rough, doesn't cover all corner cases and needs polishing.
2014-01-31 01:06:43 +01:00
Marco Martin
9e65dbc789 export compactRepresentationExpander
still have to decide if this is a really bad idea
2014-01-30 22:38:44 +01:00
David Edmundson
f5618db949 Remove unused property drawWallpaper
As suggested here: http://community.kde.org/Plasma/libplasma2/API_Review/Containment
kde-workspace doesn't use it.

REVIEW: 115224
2014-01-30 15:34:45 +01:00
David Edmundson
d7a3a10238 Align Dialog Popups to align to be outside the docks.
For the WidgetExplorer we want to show the tooltips to the right of the
scrollbar in the view, not to the right of the delegate the tooltip is
for.
This patch checks if the visualParent is in a dock. If so the popup is
positioned outside

I have also introduced a manual test for Dialog Positioning, and
includied some fixes in the original logic.

REVIEW: 115393
2014-01-30 15:03:28 +01:00
l10n daemon script
d3ae687cd7 SVN_SILENT made messages (.desktop file) 2014-01-30 04:16:54 +00:00
Marco Martin
bf648ceeb6 default full component as the root component
if a fullrepresentation wasn't specified, use the root as fullrepresentation: item and component
2014-01-29 20:07:29 +01:00
David Edmundson
60e0754f90 Reduce the number of times syncToMainItemSize is called in Dialog
syncToMainItemSize is rather expensive and gets called a lot in item
initalisation as various properties get set.
2014-01-29 18:49:06 +01:00
David Edmundson
9de921e34d Warnings-- if modelData.seperator is not set 2014-01-29 18:39:20 +01:00
David Edmundson
d43fa35c42 Remove triple include of the same file 2014-01-29 17:22:44 +01:00
Marco Martin
428c10e24c fullrepresentation and the expander are created on demand 2014-01-29 17:09:43 +01:00
David Edmundson
c9c79e7a42 Optimisation: Don't work out position based on visualParent if there isn't one 2014-01-29 16:54:56 +01:00
David Edmundson
a805af6e7d Don't emit widthChanged ourselves. QWindow does it in resize() 2014-01-29 16:49:50 +01:00
Marco Martin
2a37efbdb7 cleanups
move qmlobject initialization in appletloader
2014-01-29 16:20:39 +01:00
Marco Martin
012554d8d9 get rid of the old sizehint mechanism 2014-01-29 11:11:43 +01:00
l10n daemon script
6ecbbd9129 SVN_SILENT made messages (.desktop file) 2014-01-29 04:19:24 +00:00
Marco Martin
075d55c842 entation switching done by appletloader 2014-01-28 22:55:02 +01:00
Marco Martin
866fe43120 experiment with AppletInterface to be attached
Plasmoid.title etc would be attached properties to the root object instead of being a component itself
2014-01-28 18:26:46 +01:00
Martin Klapetek
2ea398f5a6 Detect current QScreen manually in Dialog
QWindow::screen() never ever changes if the window is moved across
virtual screens (normal two screens with X), this seems to be
intentional as it's explicitly mentioned in the docs.

Until that's changed or some more proper way of howto get the current
QScreen for given QWindow is found, we simply iterate over the virtual
screens and pick the one our QWindow says it's at.

This also fixes the OSD having proper shadows in multiscreen environment
2014-01-28 18:19:30 +01:00
Martin Klapetek
203f4a5049 [OSD] Display "%1 Muted" for media players with volume down to 0 2014-01-28 17:07:50 +01:00
Martin Klapetek
a4c4fc05af Add OSD API for media player's volume changes
Reviewed-by: Marco Martin
2014-01-28 15:08:09 +01:00
Martin Klapetek
605ab0f130 Add OSD notifications to plasma-shell
As we decided to make the OSD available only for certain things, the API
is intentionally limited to very particular set of things. The list is
not complete yet I believe, but it's definitely a finite and a small set

Also as it's not a public service, I left it under org.kde.plasma_shell
on D-Bus.

And we're still missing all the icons except volume, but Jens is on it.

REVIEW: 115301
2014-01-28 15:08:09 +01:00
Aleix Pol
87a7db3063 Create a MimeDatabase component that maps QMimeDatabase
Makes it possible to figure out mimetypes from QML.

REVIEW: 115348
2014-01-28 15:04:19 +01:00
Sebastian Kügler
6dfb4f240b Make setDevicePixelRatio(qreal) a simple slot 2014-01-28 13:49:23 +01:00
l10n daemon script
831357d98f SVN_SILENT made messages (.desktop file) 2014-01-28 04:22:11 +00:00
Sebastian Kügler
789a40f15f Merge branch 'master' into sebas/hidpi 2014-01-28 01:17:19 +01:00
Sebastian Kügler
2a217dff0a Remove unneeded API
- dpi(QQI*) and printScreenInfo(QQI*) goes away, they're mainly useful for
  testing.
- setDevicePixelRatio goes private
- clarify DPI computation
2014-01-28 01:15:38 +01:00
Sebastian Kügler
b7fcea471c Add comment why we read the DPI the way we do 2014-01-28 00:17:32 +01:00
Sebastian Kügler
b102ae5e45 Complete apidocs for Units. 2014-01-27 19:51:08 +01:00
David Edmundson
3abddd8d99 Move python and ruby dataengine bindings from kde-workspace 2014-01-27 19:48:08 +01:00
Sebastian Kügler
b3a5d65580 Complete apidocs for Plasma::Theme 2014-01-27 19:41:39 +01:00
Marco Martin
2f4867bf0c get rid of the old QtScript bindings 2014-01-27 19:27:59 +01:00
Sebastian Kügler
f374d2880d Merge branch 'master' into sebas/hidpi 2014-01-26 23:39:00 +01:00
Sebastian Kügler
94540a4262 Workaround seems to have been accidentally disabled
This workaround is needed for applet internal qmldirs to be loaded.

Fixes crasher in notifications applet.
2014-01-26 23:24:07 +01:00
Sebastian Kügler
b1bc20259a units.dp and units.du be gone
- They're not used
- They're conceptually broken and arbitrary to our scaling concepts
- The implementation as Q_INVOKABLE isn't very useful
2014-01-25 03:35:00 +01:00
Sebastian Kügler
c8ba9746f2 iconSizes.default be gone
This is used nowhere, so better get rid of it before someone gets the
idea.

Leaves us with only one non-scaled icon size. Maybe worth considering to
get rid of this as well, and let Folderview decide?
2014-01-25 03:30:45 +01:00
Sebastian Kügler
11e3d687d9 Remove dialog and toolbar icon sizes
Add FIXME for small icon alignment
2014-01-25 03:25:07 +01:00
Sebastian Kügler
124ae423c1 Scale units.iconSizes with dpi
This is still pretty rough. It seems to work fine for larger icons, but
smaller ones get misaligned. This will need some corrections, such as
locking the smaller sizes to 16, 22, 32, 48, 64, which should take care
of this issue.

With this change, parts of Plasma scale depending on the DPI. This is
noticeable in Kickoff.
2014-01-25 02:40:52 +01:00
Sebastian Kügler
a2baa1c7c7 Merge branch 'master' into sebas/hidpi 2014-01-24 23:38:37 +01:00
Bhushan Shah
3c0007db22 Provide KFormat wrapper in PlasmaCore for unit conversion
REVIEW: 115284
2014-01-24 22:28:04 +05:30
Sebastian Kügler
6d9022dca2 Use int for units.gridUnit
It was an int already anyway, so let's be true about this and also
return an int. This reflects pixel-alignment in the API, not just in the
implementation.
2014-01-24 12:33:39 +01:00
Martin Klapetek
c0f53545eb Provide look&feel package by ShellCorona
REVIEW: 115256
2014-01-23 16:23:28 +01:00
Martin Klapetek
fc30bc6b52 Add OSD to look&feel package definition
REVIEW: 115257
2014-01-23 15:40:31 +01:00
Marco Martin
e0676f7501 use the new backgroundcontrast effect 2014-01-23 15:17:41 +01:00
Martin Gräßlin
188e421956 Do not overwrite the window type by calling setFlags
QWindow::setFlags is manipulating the same X property as
KWindowSystem::setType. Thus our setType never succeeded as the
setFlags overwrote the window type again. In the same way we
have to call setFlags when reverting to the default Normal type.

REVIEW: 115258
2014-01-23 14:26:59 +01:00
Sebastian Kügler
e346c751ec Allow to reset devicePixelRatio
Setting devicePixelRatio to 0 re-reads it and resets it to its default
value.
2014-01-23 04:05:45 +01:00
Sebastian Kügler
cca8a86f98 Rename units.dpiScale to units.devicePixelRatio 2014-01-23 02:18:06 +01:00
Sebastian Kügler
f305950a80 Fix tooltip spacing 2014-01-23 01:50:37 +01:00
Sebastian Kügler
a70dd8c299 theme.defaultIconSize moves to units.iconSizes.default 2014-01-23 01:47:42 +01:00
Sebastian Kügler
4da01ebce0 spacing hints move from theme to units 2014-01-23 01:26:19 +01:00
Sebastian Kügler
d4902e2df2 Remove icon sizes from Plasma::Theme
They've moved into Units
2014-01-23 00:43:21 +01:00
Sebastian Kügler
cc7bd8e11e Port from theme iconsize to units.iconSizes.* 2014-01-23 00:24:38 +01:00
Sebastian Kügler
e10b77f236 Move units from PlasmaComponents into PlasmaCore 2014-01-23 00:06:43 +01:00
Sebastian Kügler
7e5604cc56 icon sizes move into Units
They go into the propertymap, so are accessible now with

units.iconSizes.huge, units.iconSizes.large, etc.
2014-01-22 23:59:23 +01:00
Sebastian Kügler
d51711edc6 Add dpi function from theme
printScreenInfo() has the debugging prints for now, removes random crap
from the shell output.
2014-01-22 01:36:30 +01:00
Sebastian Kügler
847a61b3d8 Delete ThemeProxy 2014-01-22 01:34:56 +01:00
Sebastian Kügler
e81db11f05 Export Plasma::Theme as theme, remove proxy class
The last bits have moved out of ThemeProxy, units is used for iconSizes,
which means we can finally directly use Plasma::Theme, and don't need a
ThemeProxy class anymore.
2014-01-22 01:33:26 +01:00
Sebastian Kügler
0c3e49866a Add dpiScale property to dynamically scale the whole ui 2014-01-22 01:18:54 +01:00
Sebastian Kügler
60950e8333 Correct api docs 2014-01-22 00:39:54 +01:00
Sebastian Kügler
416029ec4f Default tooltip uses units.iconSizes -- works fine 2014-01-22 00:30:04 +01:00
Sebastian Kügler
0dc8a7ee53 Move iconSizes from theme here
This is means two things:
- icon sizes have moved from theme.iconSizes.* to units.iconSizes.*,
  will provide porting script and update docs
- we can kill PlasmaCore's ThemeProxy now. Icon sizing and dpi handling
  is kept outside of Plasma::Theme for now, as it pulls in too many
  deps.
2014-01-22 00:28:09 +01:00
Sebastian Kügler
c84e549715 Use msize.height, not width for gridUnit
This change does two things:

- it increases the gridUnit to 11 pixel on 102DPI, 18 on 170DPI. This
  means on the one hand larger sizing, but aligns gridUnit and
  theme.largeSpacing consistently, and thus makes these types work
  together better.
- it scales the gridUnit with the DPI. The width of the font's bounding
  box doesn't change on the displays I've tried, the height does.
  As a result, gridUnit now scales linearly with the DPI setting.
2014-01-21 23:47:32 +01:00
Sebastian Kügler
095469729a update spacing on font change
Also explain the sizing trick in the comment.
2014-01-21 23:46:50 +01:00
Sebastian Kügler
e72b297e48 Use defaultFontChanged notifier for spacing
This makes the spacing update when the font changes. This will be handy
for a more dynamic DPI switching in the future.
2014-01-21 23:44:05 +01:00
Sebastian Kügler
13a6a38628 Some debugging for gridUnit 2014-01-21 17:55:47 +01:00
Sebastian Kügler
af691a9897 Merge branch 'master' into sebas/hidpi 2014-01-21 16:47:52 +01:00
Sebastian Kügler
18c4fc7c60 Improve tooltip spacing, increase allowance for text 2014-01-21 02:47:41 +01:00
Sebastian Kügler
22c12b8424 Temporarily add an invokable to read dpi value 2014-01-21 00:28:40 +01:00
Sebastian Kügler
ff1d062b47 Skeleton DPI test app 2014-01-21 00:28:40 +01:00
Martin Gräßlin
bdc2ad2a84 Add outputOnly property to PlasmaCore.Dialog
The outputOnly property allows to specify that the dialog should not
accept any input. Thus it's an output only window which supports click
through. This is obviously platform specific and so far it is only
implemented for the X11 platform using the shape extension.

The input shape needs to be set once the window is visible and thus
the functionality is bound to the visible changed signal. The code
ensures that the required shape extension version is present and only
fetches it once.

REVIEW: 115139
2014-01-20 15:57:44 +01:00
Martin Gräßlin
e4d4f5fc1c Allow dialogs to be Notifications
Extending the WindowType enum by NET::Notification.

REVIEW: 115138
2014-01-20 15:57:10 +01:00
Aleix Pol
db3dd7a994 Improve clipboard types support
Try to be more accurate about the translations mimetype <-> variant.
2014-01-18 16:21:57 +01:00
Marco Martin
9e25b45c04 panels in multiscreen is broken, add a todo
panel views should be created/deleted according to screen attach/detach
2014-01-17 19:04:03 +01:00
Marco Martin
da6df37de5 fix some crashes
- check some guards as qobject_cast may fail.
- destroyed() is emitted too late, the slot managing it can only access a QObject, Containment members aren't valid anymore
2014-01-17 18:59:54 +01:00
Aleix Pol
6b86584dd0 Make it possible to fetch data for a said format 2014-01-17 17:24:04 +01:00
Sebastian Kügler
f517765bd0 Fixed types for plugin recognition in shell 2014-01-16 20:14:19 +01:00
Aleix Pol
1a68e9aabf --debug 2014-01-16 19:16:08 +01:00
Aleix Pol
2ad7b38392 Create a new Clipboard component
Can be used to keep track of the clipboard by setting and fetching
information from it.
2014-01-16 19:15:51 +01:00
l10n daemon script
8e38e619d4 SVN_SILENT made messages (.desktop file) 2014-01-16 04:05:24 +00:00
Sebastian Kügler
ca76aa29f8 Fix some TypeErrors in DefaultToolTip 2014-01-15 12:50:18 +01:00
Sebastian Kügler
0a3a236dfb Merge branch 'sebas/theme' 2014-01-15 12:49:42 +01:00
Marco Martin
85070fc276 Merge branch 'mart/kdeclarativeNamespace' 2014-01-14 22:27:59 +01:00
Alex Richardson
afe17f1dca Use QExplicitlySharedDataPointer as the replacement of KSharedPtr
This should be slightly more efficient than the solution from e7e2eedd
which uses QWeakPointer and QSharedPointer

REVIEW: 114932
2014-01-14 19:41:04 +01:00
Marco Martin
92fe107329 put namespace around KDeclarative 2014-01-13 21:21:14 +01:00
Sebastian Kügler
374d230932 wallpaperForSize moves to Plasma::Theme 2014-01-13 02:11:37 +01:00
Sebastian Kügler
cf049f28cb Merge branch 'master' into sebas/theme 2014-01-13 02:05:44 +01:00
Marco Martin
4235ec4842 export the location as tooltip property 2014-01-13 02:00:45 +01:00
Sebastian Kügler
ea2a4db7ab Move spacing, stylesheet and mSize into Plasma::Theme 2014-01-13 01:31:46 +01:00
Sebastian Kügler
563035a1fa themeName is already gone 2014-01-12 23:05:55 +01:00
Sebastian Kügler
a9b1f2c619 Most of iconSize moves to Plasma::Theme
The QQmlPropertyMap isn't moved with this commit, this needs a bit more
changing, so we do a separate one for that, once the more trivial stuff
is moved out.
2014-01-12 20:10:19 +01:00
Sebastian Kügler
25dcdd39a4 Color properties move into Plasma::Theme
They're now convenience API in Plasma:Theme, PlasmaCore.Theme is
becoming smaller and smaller. Another nail in its coffin.
2014-01-12 19:49:56 +01:00
Sebastian Kügler
13242c8a5f Move smallestFont and defaultFont properties into Plasma::Theme 2014-01-12 19:33:56 +01:00
Sebastian Kügler
eba1a79b57 themeName, useGlobalSettings and wallpaperPath move into Plasma::Theme 2014-01-12 19:17:37 +01:00
Marco Martin
69efa8d941 simplify the qml of the default tooltip 2014-01-12 19:10:06 +01:00
Marco Martin
331b6c5d0d resize and move the tooltip in one move 2014-01-12 17:29:49 +01:00
l10n daemon script
e03580242e SVN_SILENT made messages (.desktop file) 2014-01-12 04:11:43 +00:00
Aleix Pol
5c88e300bd Small changes
Fix typo on API documentation
Remove pointless debug output
Remove unneeded loop
2014-01-11 11:17:53 +01:00
l10n daemon script
a12184e857 SVN_SILENT made messages (.desktop file) 2014-01-11 04:00:30 +00:00
Sebastian Kügler
b54b42fcc0 Merge branch 'master' into mart/ToolTipArea 2014-01-10 18:57:58 +01:00
Sebastian Kügler
30d1e6bdba Fix reference error 2014-01-10 18:57:42 +01:00
David Edmundson
d200bd0d16 Add a new component ModelMenu
This is a wrapper round ContextMenu that allows one to populate
the menu items from a model

REVIEW: 114925
2014-01-10 12:28:29 +01:00
Marco Martin
b233c6e735 simplify 2014-01-09 16:36:59 +01:00
Marco Martin
1f2f706c10 bit better with animations 2014-01-09 16:10:17 +01:00
Marco Martin
c53a00ce4b first crude direction support for tooltips
it still needs support for diagonal movements
2014-01-09 15:09:53 +01:00
Aleix Pol
9e46c82733 Remove duplicated calls
setPosition will call setGeometry internally, no need to do both.
Only call setEnabledBorder once, with the enabled borders
2014-01-09 13:35:07 +01:00
Marco Martin
3f094d59a5 tooltips always have all the borders 2014-01-09 13:13:29 +01:00
Marco Martin
5836128789 animated tooltips are back 2014-01-09 12:10:22 +01:00
Marco Martin
bb7157a59e reposition when resize if there is a visualparent 2014-01-09 11:39:18 +01:00
Aurélien Gâteau
e7e2eeddc0 Plasma::Svg: Replace use of KSharedPtr with QWeakPointer and QSharedPointer
This removes the last dependency from plasma-framework on kde4support.

This change is a bit more involved than other kde4support removals because
QSharedPointer does not provide a count() method. I therefore reworked the code
to store the SharedSvgRenderer as a QWeakPointer in s_renderers, making it
possible to detect when the last one goes away by creating a QWeakPointer guard
in SvgPrivate::eraseRenderer().

REVIEW: 114912
2014-01-09 10:13:57 +01:00
Sebastian Kügler
fb52783c48 Experiment with size limits in tooltip 2014-01-09 05:26:49 +01:00
Sebastian Kügler
62580bc331 Port calendar to ToolTipArea 2014-01-09 05:26:20 +01:00
Sebastian Kügler
f21ad15ed6 Fix up showing and hiding of the dialog
ToolTipArea.containsMouse allows the use to update the tooltip way
before it's shown, or when the contents of the tooltip should change
within an open dialog.

dismiss() and keepalive() allow handing over the tooltip dialog to
another item, in order to allow for a smoother handover when a new item
recycles the tooltipdialog. This avoids flickering when the tooltip
moves from one item to another.
2014-01-09 04:09:03 +01:00
Sebastian Kügler
b8fc3aea7f Merge branch 'master' into mart/ToolTipArea 2014-01-09 02:33:11 +01:00
Hrvoje Senjan
18def6e560 Fix accessdenied's install location
CCMAIL: notmart@gmail.com
2014-01-08 23:28:59 +01:00
David Edmundson
3e599d30b4 Move WidgetExplorer to be a private QML plugin
Instead of registering WidgetExplorer inside the shell, create a new qml
plugin in the org.kde.plasma.private namespace.

This is useful for running widgetexplorer in qmlscene.

This makes testing, debugging and profiling considerably easier.

REVIEW: 114914
2014-01-08 20:44:33 +01:00
Marco Martin
6a0525c1c3 ToolTip->ToolTipArea 2014-01-08 18:13:07 +01:00
Aurélien Gâteau
3b7fe5f2e6 K_GLOBAL_STATIC => Q_GLOBAL_STATIC
One less use of kde4support
2014-01-08 13:18:19 +01:00
Aurélien Gâteau
c6e0b56d79 sortfiltermodeltest: qtest_kde.h => QtTest 2014-01-08 13:18:19 +01:00
Marco Martin
798b7665d4 work around a bug in url resolution of qmldir files 2014-01-08 13:06:23 +01:00
Marco Martin
9f3af64dac new way to do tooltips
manage it in c++
it still steals hover events from their target and not all features are there.

better than before tough
2014-01-07 21:44:50 +01:00
Aleix Pol
e1a868e4f6 Fix QMenuItem connections
Don't emit twice textChanged when changed.
checkableChanged signal doesn't exist anymore. Use changed instead as
suggested by the Q_PROPERTY
2014-01-07 16:45:27 +01:00
Marco Martin
3feb6ac3ae use a QQmlPropertyMap instead of a variantmap
this way when a source is updated, only that will be updated, and not the whole data

so whould be way more efficient.

it remains API compatible
2014-01-07 14:33:20 +01:00
Aleix Pol
eb83537f63 Not being able to load an applet is a problem important enough to be a warning 2014-01-07 13:48:00 +01:00
Marco Martin
f9f89eda56 qmldir is like anybody else 2014-01-07 12:30:21 +01:00
Marco Martin
569ad6a41d applets can only import from their own private
importing from the private imports of another applet makes the applet fail to load
2014-01-07 11:16:11 +01:00
Martin Gräßlin
e50dbc413e Port EffectWatcher to XCB
Saves quite a lot of roundtrips to the XServer. Most important we
fetch the atom only once which means we don't have to refetch when
checking the property notify events.

REVIEW: 112445
2014-01-07 10:39:44 +01:00
David Faure
8b5834c28c Adapt to newer new ThreadWeaver includes (e3b4312fe9a2 in threadweaver) 2014-01-05 12:03:17 +01:00
Sebastian Kügler
8c797fce42 Improve PlasmaCore.ToolTip
- Derive from MouseEventListener as to let input through
- react to target changes: reparent the MEL accordingly
- kill a bunch of warnings

This "helps" a bit, but still filters out input events since the MEL
only passes events down to children, but the tooltip's target becomes
its parent.

Reparenting the target crashes, and it seems a pretty ugly thing to do,
anyway, since we don't want to mess with the scenegraph structure just
to filter events out for tooltips. Grmblz.
2014-01-05 04:26:29 +01:00
Sebastian Kügler
160e97cbba Adapt to API changes in ThreadWeaver
Reviewed-by: Mirko Böhm <mirko@kde.org>
2014-01-05 02:10:24 +01:00
David Edmundson
6b02b02dcc Restore attaching qml debugger 2014-01-03 19:38:55 +01:00
David Edmundson
0bf60ad1b4 Add missing license 2014-01-03 19:27:55 +01:00
David Edmundson
919954ab90 Add a simple manual test for MouseEventListener 2014-01-03 19:24:39 +01:00
David Edmundson
04f2f8bd8d Fix memory issues in MouseEventListener
Delete KDeclarativeMouseEvent when emitted

Do not leak KDeclarativeMouseEvent press and hold events when the mouse
moves.

Do not create KDeclarativeMouseEvent when the mouse is hovered. It's
pointless.
2014-01-03 19:24:39 +01:00
David Edmundson
635d02e7c2 Add documentation for MouseEventListener 2014-01-03 19:24:39 +01:00
David Faure
e577f4e588 adjust for new (= old) kdnssd header prefix
Make sure to update kdnssd-framework first.
2014-01-03 14:45:59 +01:00
Marco Martin
2eaf80456f till sync the item size even without visualparent 2014-01-03 12:40:10 +01:00