Commit Graph

1638 Commits

Author SHA1 Message Date
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
Marco Martin
ad4fecf426 don't autoposition if there is no visualParent 2014-01-03 12:32:19 +01:00
Marco Martin
692c436960 get rid of toolbar-icons
simplify svg icon management: all svg icons are in icons/ and have the same style
2014-01-02 18:35:29 +01:00
Marco Martin
84df832f5c Merge branch 'mart/modelsInDataEngine' 2014-01-02 11:05:20 +01:00
David Faure
9f6611b73d remove unused include 2014-01-01 14:19:01 +01:00
Marco Martin
a7470063a0 model()->modelForSource() 2013-12-30 10:42:25 +01:00
Marco Martin
dea7942533 add DataEngine::setModel 2013-12-30 10:22:06 +01:00
Sebastian Kügler
e9a43b165b Quicker animation in pagestack 2013-12-28 06:57:57 +01:00
Sebastian Kügler
682affabf8 Allow to switch off pagestack transitions 2013-12-28 06:44:58 +01:00
Sebastian Kügler
a50398f433 Use QQuickItem::implicit{Width,Height}
... instead of overriding the property.

Removes a warning whenever the implicit width and height changes, and
reduces the API footprint of AppletInterface.
2013-12-28 03:43:22 +01:00
Sebastian Kügler
e5ad29dabf Adjustments to theme.textColor changes
The larger headings are a bit softened, to make their stick out less,
the font is meant to take care of this. Result: visually more consistent
colouring, strangely. Human eyes are beautifully complex things.
2013-12-28 01:07:06 +01:00
Sebastian Kügler
781ba8b4c7 Make theme.smallSpacing useful
On normal dpi displays, this will give two pixels, but will scale up for
higher DPI.
2013-12-28 01:06:07 +01:00
Sebastian Kügler
84b6e6a245 Adjustments for theme.textColor
textColor is now used from the theme, there it is made grey, similar
effect, less code, more consistency.
2013-12-28 01:05:09 +01:00
Alex Merry
778bf0ac0b Clean up target_link_libraries for KF5Plasma
It is now a single call using PUBLIC and PRIVATE keywords.  This removes
a CMake warning about using LINK_INTERFACE_LIBRARIES.

REVIEW: 114683
2013-12-27 16:29:14 +00:00
Marco Martin
86369030de extra whitelist of allowed paths 2013-12-27 14:59:37 +01:00
Marco Martin
10f412ca4a move toolbox stuff in containment 2013-12-27 13:58:16 +01:00
Marco Martin
92073445ce don't reparent before the applet is expanded or not 2013-12-27 13:26:30 +01:00
Marco Martin
4f3228ab44 fix rendering issues 2013-12-27 11:23:16 +01:00
Marco Martin
0d77298d1b OR, not AND
a source is unused if there anre no relays OR nothing directly connected
2013-12-24 17:35:48 +01:00
Marco Martin
f692b5aa74 crash-- 2013-12-24 17:11:27 +01:00
Marco Martin
3184551ddb install the example in the proper place 2013-12-24 16:58:47 +01:00
Marco Martin
e272c31300 OR, not AND
a source is unused if there anre no relays OR nothing directly connected
2013-12-24 16:58:08 +01:00
Marco Martin
4e2db852dc apidocs++ 2013-12-24 15:46:22 +01:00
Marco Martin
a721878fda use q QQmlPropertyMap, crash-- and more efficient 2013-12-24 15:42:44 +01:00
Marco Martin
124139c2bf working models, add an example applet 2013-12-24 15:21:21 +01:00
Marco Martin
c318acb242 make use of the model embedding 2013-12-24 14:29:53 +01:00
Marco Martin
98d8bacf2b Revert "remove unused typedefs"
This reverts commit 104e8d9e1f.
2013-12-24 14:05:08 +01:00
Marco Martin
80d4ba326e Revert "remove unused typedefs"
This reverts commit 104e8d9e1f.
2013-12-24 14:02:20 +01:00
Marco Martin
eb47805d72 DataContainer can carry a QAbstractItemModel aroun
same rules of sharing and memory management apply.
The model will be shared between all visualizations and deleted when nobody is connected to the source anymore
2013-12-24 13:51:20 +01:00
Marco Martin
35b43f097e remove some references to graphicsitems 2013-12-24 12:35:24 +01:00
Marco Martin
104e8d9e1f remove unused typedefs 2013-12-24 11:28:49 +01:00
l10n daemon script
2c181c5819 SVN_SILENT made messages (.desktop file) 2013-12-24 03:52:26 +00:00
Marco Martin
21fde267fb activityName available again 2013-12-23 17:00:15 +01:00
Marco Martin
3b24340cc8 manage the case loading is not immediate 2013-12-23 16:00:40 +01:00
Marco Martin
fba45d9360 remove dead code 2013-12-23 14:27:22 +01:00
Aleix Pol
d2992acfa7 Fix QObject::connect() warnings
Adapt to changes in Plasma::Corona
2013-12-19 17:31:28 +01:00
Christophe Giboudeaux
09ccb8712b Forgot to remove the line
GIT_SILENT
2013-12-19 15:39:25 +01:00
Christophe Giboudeaux
26948d0cea Fix includes 2013-12-19 15:23:02 +01:00
Christophe Giboudeaux
d71f581115 Remove unneeded includes 2013-12-19 15:23:02 +01:00
Martin Klapetek
3e659dd29e Simply subtract the width from the edge 2013-12-19 12:53:37 +01:00
Bhushan Shah
c244f181af Fix typo 2013-12-19 17:14:27 +05:30
Àlex Fiestas
094303ee3f [popup] Use QWindow::width instead of item.boundingRect to fix X
Since we are checking if the width() is out of bounds we should also use
width() to correct the position.

Other cases might need change as well, but I think we better go in a case
by case bases to fix all possible issues.
2013-12-19 12:20:22 +01:00
Àlex Fiestas
47fe1f7497 We shouldn't take "lock widgets" from corona, but only from containment
It is up to the Containment to decide if the user is allowed or not
to lock/unluck the widgets, so corona should not add one when there is none
(user is not allow) and it shouldn't add another one when there is already
one.

Fixes duplicated action in toolbox.
2013-12-18 21:58:55 +01:00
Àlex Fiestas
cddee3cbf2 Use KActionCollection::addAction instead of add<T>
I'm not sure for what reason this was changed but it is clearly wrong,
we don't want to create a new action but rather re-add (as the hack says)
the action we took before.

Fixes "Empty action" in toolbox.
2013-12-18 21:36:28 +01:00
Aleix Pol
1e9322500f Define DNSSD as a dependency 2013-12-18 18:30:54 +01:00
Aleix Pol
32868d73d2 Revert "KDNSSD framework was renamed to DNSSD"
This reverts commit 493d19f362.

My bad, sorry guys
2013-12-18 18:26:00 +01:00
Aleix Pol
493d19f362 KDNSSD framework was renamed to DNSSD
Adapt to the change
2013-12-18 18:18:10 +01:00
Sebastian Kügler
1c0f221ac5 One pixel offset needed for Fitt
The panel would be one pixel above the bottom edge, which prevents us
from using the invisible space beyond the panel. This makes the panel
flush with the bottom edge.
2013-12-18 01:38:21 +01:00
Aleix Pol
e5b435f53d Use the availableGeometry to calculate the struts
The virtualGeometry comprises all the screens and it's not what we're aiming
for in this case.
2013-12-18 01:11:30 +01:00
Aleix Pol
653d044292 Consistency
Use the thickness() method to query the thickness instead of querying
KConfig directly
2013-12-18 01:11:30 +01:00
Aleix Pol
d988b6f5da Consistency change
Deal with length like we deal with thickness
2013-12-18 01:11:30 +01:00
Alex Merry
de868b6047 Fix build now DNSSD is KDNSSD 2013-12-18 00:05:04 +00:00
Sebastian Kügler
79b7a3b271 Fix borders in dialog depending on location
- We would only check for the available screen, but not for the location
  when applying borders. Fix that.
- Cache dialog geometry when going fullscreen, so we can restore it when
  we're not fullscreen anymore.
- Remove temporary var l, we have m_location for that.
2013-12-18 00:47:09 +01:00
Sebastian Kügler
c0624d27e7 constness++ 2013-12-17 23:31:49 +01:00
Àlex Fiestas
dfcfad1182 [plasma-shell] Mute all debug output when started from autostart
This enables other developers to use journalctl/~.xsession-errors and
do not drown on warnings.

CCMAIL: plasma-devel@kde.org
2013-12-17 19:44:47 +01:00
Àlex Fiestas
c047dd5f68 [plasma-shell] Add an option to suppress any output (--shut-up)
The amount of warnings that plasma-shell has, makes it super hard to
make use of tools like journalctl or to grep ~/.xsession-errors.

We need these tools to diagnose possible bugs in the session start or
any other software that redirects stderr or those places.

We can remove this option once all the Warnings are fixed, specially
the one in Qt: https://codereview.qt-project.org/#change,73943

CCMAIL: plasma-devel@kde.org
2013-12-17 19:41:16 +01:00
Aleix Pol
8c80c1f96c Make sure we're not quitting when all screens are closed 2013-12-17 17:54:20 +01:00
David Edmundson
8c8bdbdca5 Remove debug 2013-12-17 16:54:27 +01:00
David Edmundson
a36c2787b9 Merge branch 'davidedmundson/containmentcleanup2' 2013-12-17 16:44:54 +01:00
David Edmundson
6fface8cd0 Move panels and containments to the relevant screen on screen add/remove 2013-12-17 16:43:52 +01:00
David Edmundson
68d36e4e8c Don't pernamently block signals if creating applet fails 2013-12-17 16:43:01 +01:00
David Edmundson
37840b1490 Add default screenForContainment implementation 2013-12-17 15:46:57 +01:00
Àlex Fiestas
bdbab34e21 [plasma-shell] Set plasma-shell as a Unique kind of app.
Mostly makes KLauncher not to execute a new instance if one
is already running
2013-12-17 13:00:33 +01:00
Àlex Fiestas
a9adcd8c6f [plasma-shell] Register org.kde.plasma_shell in the bus
This is needed to let KLauncher know that Plasma Shell has been
executed.
We are using plasma_shell because there is a bug in KDBusService
that prevents us from using plasma-shell. Fix is already done
but repositoiries at this very moment are frozen.
2013-12-17 13:00:33 +01:00
Sebastian Kügler
5c96de0c57 Minor cleanups in dialog.cpp 2013-12-17 05:11:50 +01:00
Sebastian Kügler
5ff0605529 Compile-time connection for dialog sizing 2013-12-17 03:54:37 +01:00
Sebastian Kügler
e352eb9157 Remove activeWindow property
This shadows and QWindow.active, so use that.
2013-12-17 03:37:32 +01:00
Sebastian Kügler
462cfdcdc7 Port from activateWindow to requestActivate 2013-12-17 03:05:16 +01:00
Sebastian Kügler
2edebc57c3 Remove windowFlags property
This is a needless duplication of the property, and it causes bugs.

Removing it, and porting all users to the flags property from QWindow
magically makes layering and resizability bugs vanish.

One problem is left: the dialog dismisses too easily, it should not
dismiss when being resized, moved or when a child dialog or QMenu opens
from it.
2013-12-17 02:39:26 +01:00
Sebastian Kügler
4c17887657 Remove hack, it does more harm than good. :/
CCMAIL:mgraesslin@kde.org
2013-12-17 02:39:10 +01:00
Sebastian Kügler
04fd5d719a Use visible property from QQuickWindow
Don't override it anymore, but react to the changed signal to do our
magic.
2013-12-17 01:21:59 +01:00
Sebastian Kügler
714042904f Abuse flags
Interestingly, this hack yields the correct behaviour in my system. We
quickly set the always on top hint once we're supposed to hide, so the
window stays on top for the duration of the animation -- without
apparent side effects on the positioning and resizability.

CCMAIL:mgraesslin@kde.org
2013-12-17 01:10:58 +01:00
David Edmundson
36e4a45377 Set the panel config to the same screen as the panel 2013-12-16 19:17:32 +01:00
David Edmundson
4336262d31 Connect to the right geometrychanged signal 2013-12-16 16:52:46 +01:00
David Edmundson
5baf0c8554 Use convenience method insertContainment in ShellCorona 2013-12-16 16:51:02 +01:00
David Edmundson
547f356edd Return valid screenForContainment on panels 2013-12-16 15:30:13 +01:00
David Edmundson
e5ef979ba1 Simplify assigning panels to screens 2013-12-16 15:30:13 +01:00
David Edmundson
be021453a2 Make it possible to modify PanelView screen property 2013-12-16 15:30:13 +01:00
David Edmundson
906caec817 Expose screen to MouseEventListener events 2013-12-16 15:30:13 +01:00
David Edmundson
a26913ccac Move screen management logic in ShellCorona
Previously shells, activities, shellcorona and corona all tried to
manage
which screen a containment was on.

This version moves all screen management into ShellCorona so we have a
central place for keeping tracking of containments, activities and
screens.
2013-12-16 15:30:13 +01:00
David Edmundson
56b2e75b2b Removed unused variable 2013-12-16 15:30:13 +01:00
David Edmundson
fb4d79e566 Remove unused signalWhenExists argument
It's unused and it's a hack.
2013-12-16 15:30:13 +01:00
David Edmundson
98e8731910 Remove unused "force" argument
force is always false. We don't need an argument
2013-12-16 15:30:12 +01:00
David Edmundson
1b9225491d Remove unused commented code 2013-12-16 15:30:12 +01:00
David Edmundson
51890d1337 Check if shell needs updating when a handler is deregistered 2013-12-16 15:30:03 +01:00
David Edmundson
c95642caec Add documentation on ShellManager 2013-12-16 15:30:02 +01:00
l10n daemon script
acd85836bd SVN_SILENT made messages (.desktop file) 2013-12-13 04:39:08 +00:00
Sebastian Kügler
6b4ca35897 hideOnWindowDeactivate property for plasmoid object
This allows to control whether to automatically close panel popups when
they lose focus. Applets can set this to false in case they want to keep
the popup open (even temporarily).
2013-12-12 00:22:47 +01:00
Aurélien Gâteau
7c74c27a25 Add missing alias 2013-12-11 21:40:54 +01:00
Aurélien Gâteau
02d6b37976 Renames for the KF5 prefix 2013-12-11 21:40:54 +01:00
Aurélien Gâteau
175204c453 KF5 prefix fixes 2013-12-11 21:40:54 +01:00
Antonis Tsiapaliokas
4efb85e5d2 Replace tab with spaces 2013-12-11 21:40:54 +01:00
Martin Klapetek
3214bd8132 Add KF5 prefix to plasma framework
This changes the lib name and package names to follow other frameworks

libFoo -> libKF5Foo
find_package(KFoo) -> find_package(KF5Foo)

REVIEW: 114389
2013-12-11 21:40:54 +01:00
David Edmundson
ef58fdbf6f Remove Applet::Private::isContainment
Instead determine by introspecting if this inherits from Containment

REVIEW: 114405
2013-12-11 15:50:48 +01:00
David Edmundson
1f83fdcc3c Reduce warnings starting the pixmap save timer from other threads
REVIEW: 114382
2013-12-11 14:05:40 +01:00
Martin Gräßlin
86d030efac Add a hideOnWindowDeactivate property to PlasmaCore.Dialog
This property is meant to bring back the functionality provided by
PopupApplet. If the property is set to true the dialog gets hidden
when it loses focus.

REVIEW: 114378
2013-12-11 11:15:07 +01:00
l10n daemon script
358b834455 SVN_SILENT made messages (.desktop file) 2013-12-11 04:00:00 +00:00
Sebastian Kügler
6b56bfcd3e Fix parsing of crashes commandlineoption 2013-12-11 04:03:58 +01:00
Antonis Tsiapaliokas
1ebb352a76 Replace tab with spaces 2013-12-10 18:36:30 +02:00
Martin Gräßlin
718251466a Needs KGlobalAccel 2013-12-10 08:25:23 +01:00
l10n daemon script
0dab746e5c SVN_SILENT made messages (.desktop file) 2013-12-10 04:06:05 +00:00
Aleix Pol
d79162b6d9 Make sure that panels are properly placed upon resize
Recalculate position when screen has changed or when the location changes.
Recalculate position when the thickness changes, otherwise it grows outside
of the window when a bottom panel thickness changes (we change it through
setHeight).
2013-12-09 19:29:11 +01:00
Àlex Fiestas
a18b1ee448 Add a plasma-shell.desktop file to autostart
This basically makes KLauncher execute plasma-shell on startup.
2013-12-09 18:08:27 +01:00
Àlex Fiestas
9afa18b8a6 Use org.kde.kded5 instead of org.kde.kded 2013-12-09 18:08:27 +01:00
Aleix Pol
6c82a1ee86 Reduce compiler warnings
Remove unused and deprecated headers
Port some K_GLOBAL_STATIC to Q_GLOBAL_STATIC
2013-12-09 16:50:18 +01:00
Aleix Pol
51fa49f002 Properly place the panels in a multiscreen environment
Ues QScreen::geometry instead of QScreen::virtualGeometry. The virtual
geometry is, according to the documentation and empirical experience, the
geometry of all the virtualDesktop.

REVIEW: 114362
2013-12-09 16:41:19 +01:00
Sebastian Kügler
011fd24f57 Minor cleanup, add my copyright 2013-12-08 17:02:17 +01:00
Sebastian Kügler
ba1be673e1 Clean up command line options in plasma-shell 2013-12-08 17:02:17 +01:00
David Faure
d944a8f7fe Use GenericConfigLocation instead of ConfigLocation.
They do the same on Unix, but on Windows ConfigLocation is erroneously
pointing to an app-specific directory. Fixed in qtbase 44d48862c0 by
adding GenericConfigLocation for this purpose. Available in Qt 5.2.0 rc1.
2013-12-08 13:30:56 +01:00
Sebastian Kügler
73e3c4a6ed Don't crash
Apparently, q->rootObject() can be invalid here.
2013-12-08 05:50:50 +01:00
Martin Gräßlin
1d28b028b1 Use IconEffect for disabled state in QIconItem
Reason for this change: a QIcon might not contain the disabled pixmaps.
Using the icon effect allows to get also the disabled state for such
icons.

REVIEW: 114334
2013-12-06 16:24:41 +01:00
Aleix Pol
a6ee7bb8fe Remove warning 2013-12-05 19:35:43 +01:00
Aleix Pol
fd3fe7d5f5 Try having code only verbose when there are problems
Random output on random components doesn't really help.
2013-12-05 19:34:12 +01:00
Aleix Pol
23eacffcb3 Add more information about interception warnings
It's good to know who is trying to be naughty
2013-12-05 19:32:14 +01:00
Aleix Pol
6d8d2fbde8 Remove unneeded check
it was already being done in setAlignment anyway
2013-12-05 19:31:46 +01:00
Andrea Scarpino
b8e34cffe2 Revert "Revert "QQmlAbstractUrlInterceptor is now public""
This reverts commit 4d38b136ad.
Sorry for the mess.
2013-12-04 12:38:38 +01:00
Andrea Scarpino
4d38b136ad Revert "QQmlAbstractUrlInterceptor is now public"
This reverts commit 5540fdeaa5.
2013-12-04 08:21:45 +01:00
Sebastian Kügler
ff40813454 Crash recovery for plasma-shell
We restart plasma-shell after crashes. When it crashes subsequently on startup,
and more than two times in a row, we give up in order to not endlessly loop.
Once the shell process stays alive for at least 15 seconds, we reset the crash
counter, so a later crash, at runtime rather than on startup will still be
recovered from.

This logic is very similar as to how kwin handles it.

DIGEST:
2013-12-04 04:15:24 +01:00
Àlex Fiestas
5540fdeaa5 QQmlAbstractUrlInterceptor is now public
https://codereview.qt-project.org/#change,65626
2013-12-02 15:59:47 +01:00
Andrea Scarpino
2495df8b01 Allow builds with Qt 5.2
REVIEW:114239
2013-12-02 12:27:34 +01:00
David Edmundson
9462866755 Set geometry to fill each screen correctly
DesktopView incorrectly filled the geometry of screen()
screen() will be the screen of the parent shell, not the correct
screen.

As we are using QScreen, shellcorona is ported to use that instead
of QDesktopWidget.

REVIEW: 114149
2013-11-28 14:46:18 +01:00
David Edmundson
66094ef733 Remove X-Plasma-DefaultSize from applet service type 2013-11-27 17:04:17 +01:00
Martin Klapetek
13d1f5568f Remove KLocale bindings
KLocale is now kde4support and we have QLocale QML bindings. This patch
removes the KLocale bindings from plasma-framework (they are not used
anywhere anyway).

If we miss something from KLocale in QLocale, we should upstream it.

REVIEW: 114150
2013-11-27 16:28:46 +01:00
Martin Klapetek
c29773656e Make isToday compare actual dates
So we don't have to construct awkward strings everytime.
2013-11-27 00:23:41 +01:00
Martin Klapetek
6eea4da70d Use proper index validity checking 2013-11-27 00:22:57 +01:00
Martin Klapetek
cb4d7e8b4c Emit proper signals everywhere 2013-11-27 00:22:08 +01:00
Martin Klapetek
e80e2960c6 Shuffle the code around a bit
These methods are in the middle of other together-related methods, for
no reason. Looks like corn flakes in the middle of beer. Sure, you can
do that, but why would you. Actually I should try that.
2013-11-27 00:21:22 +01:00
Martin Klapetek
33f2670f07 Remove empty Q_SIGNALS & Q_SLOTS 2013-11-27 00:13:44 +01:00
Martin Klapetek
f9cca29bd1 Make MonthMenu items not hardcoded
That's just wrong.
2013-11-27 00:07:30 +01:00
Martin Klapetek
5c6b1c9251 Rename isTodayMonth() to today()
Whoever named the method like that should be slapped over his fingers.
2013-11-26 17:28:15 +01:00
Martin Klapetek
ab97884c00 Calculate days before current month properly 2013-11-26 16:24:04 +01:00
Martin Klapetek
d1dc311345 Reinstate the month name capitalization
Some CLDR (locale) data used by Qt have standalone month names
starting with lower-case letters. So if we want to provide consistent
look across locales, we need to capitalize it ourselves

See https://bugreports.qt-project.org/browse/QTBUG-35100
2013-11-25 17:00:19 +01:00
Martin Klapetek
580d7d198a Revert capitalizing the month's name
That's a locale thing/bug.
2013-11-25 13:42:54 +01:00
Martin Klapetek
ff47006845 Add some docs to Calendar binginds 2013-11-25 13:24:49 +01:00
Martin Klapetek
224e1a620b Make the calendar applet follow current locale with first day in week
Also rename startDay property to firstDayOfWeek property so it's more
clear what it does. Handling the first day of week is changed a bit too
as QML uses 0 for Sunday while QDate uses 7 for Sunday, so the
getter/setter is accomodated to that fact and converts from 0 to 7 on
setting and vice-versa in the getter.

REVIEW: 114099
2013-11-25 13:24:30 +01:00
l10n daemon script
dca0a1119b SVN_SILENT made messages (.desktop file) 2013-11-25 04:12:18 +00:00
l10n daemon script
7726bc82e9 SVN_SILENT made messages (.desktop file) 2013-11-24 04:10:26 +00:00
Aleix Pol
f187db1e86 Remove KDE4Support dependency from plasma-frameworks (almost)
Stop using classes from kde4support:
- KComponentData is deprecated, it will be using QCoreApplication::
applicationName() and QCoreApplication::applicationVersion(). Of course,
this means that the existing shells will have to be ported. I have no
problem with doing that port myself, if I'm told where to look into.
- Drop usage of KLocale, ported to QLocale
- Drop usage of KStandardDirs, ported to QStandardPaths
- Drop usage of KIcon, ported to QIcon

Furthermore, there's a module in src/declarativeimports/locale that IIUC
exposes KLocale bindings to QML. A specific plan to port it should happen
as well.

REVIEW: 113920
2013-11-22 13:03:29 +01:00
Sebastian Kügler
ccca440859 Default to BottomEdge in Dialog
Also add a little bit of debugging to check sizing.
2013-11-20 04:05:35 +01:00
Ivan Čukić
655769c8a4 Fixed the assertion 2013-11-18 14:23:58 +01:00
Ivan Čukić
3dbb992e61 Killing containments that do not belong to any activity
Removing the legacy migration code which guesses what to do with
containments that are not assigned to an activity.

REVIEW:113919
2013-11-18 12:54:19 +01:00
Ivan Čukić
0fb9549dea Not NotRunning is not the same as Running 2013-11-18 11:08:10 +01:00
Aleix Pol
f97f506acb Remove unused variables from the cmake scripts 2013-11-15 17:00:56 +01:00
Aleix Pol
2cb4ebd6f5 Code cleanup
Remove unused includes
Remove void code logic (KCMUTILS_LIBS was always empty anyway)
2013-11-15 16:56:17 +01:00
Aleix Pol
0fa21b4af5 Iterate over the cmake scripts
Prefer using imported targets rather than cmake variables.
2013-11-15 16:46:59 +01:00
Aleix Pol
7088c9eb0d Deprecate plasma_add_plugin 2013-11-14 17:42:26 +01:00
Aleix Pol
3ef13c53dc Remove predicates on cmake end commands
http://techbase.kde.org/Policies/CMake_Coding_Style#End_commands
2013-11-14 17:25:10 +01:00
Mark Gaiser
d56f690fcf Add license to calendar component classes. 2013-11-13 13:41:41 +01:00
Bhushan Shah
80cb807aaa Make plasma-framework build without tests
REVIEW: 113831
2013-11-13 12:04:22 +05:30
Sebastian Kügler
085e232641 Export MonthMenu, calendar 2013-11-13 06:05:52 +01:00
Sebastian Kügler
4337daa38e Various layout improvements 2013-11-13 05:28:42 +01:00
Sebastian Kügler
95dc36f0ee large spacing is defaultFont.mSize().height 2013-11-13 05:26:18 +01:00