Commit Graph

2519 Commits

Author SHA1 Message Date
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