Commit Graph

13278 Commits

Author SHA1 Message Date
Vishesh Handa
e0ea93cb7e Dialog: Use the correct screen for repositioning when overflowing 2014-08-28 17:35:05 +02:00
Vishesh Handa
b403343be5 Dialog Test: Add a test for making the dialog fullscreen
We seem to have code in order to toggle between fullscreen/normal in the
dialog. It's good to have a test since it clearly does not work.
2014-08-28 16:29:00 +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
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
Vishesh Handa
a9c5e6d96c Dialog Positioning Test2: Simplify the code 2014-08-28 14:59:10 +02:00
Vishesh Handa
15a993cf67 Dialog: Add another test for testing the positioning
The code has been adapated from the Panel toolbox. This test currently
fails.
2014-08-28 14:47:31 +02:00
Vishesh Handa
30174dd367 Dialog: Mark componentComplete as false on creation 2014-08-28 13:17:17 +02:00
Vishesh Handa
eef71f918e Dialog: Add a test to test visualParent changes 2014-08-27 18:16:24 +02:00
Vishesh Handa
e00b1cab5c Dialog positioning test: Set the correct height 2014-08-27 18:16:24 +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
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
Vishesh Handa
a2978cd4ec Dialog: Add manual test for repositioning on minWidth/Height change 2014-08-26 19:36:32 +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
2b7d633687 Merge branch 'mart/DialogBackgroundHints'
REVIEW:119860
2014-08-22 16:56:08 +02:00
Marco Martin
d7472118c6 remove actions with menus also from corona ones
again, something different will be needed to support submenus here
2014-08-22 16:43:28 +02:00
Marco Martin
0f0006e4a9 remove manus from plasmoid.actions
not really solution-solution, but not really other ways due to QAction api
so will stay this way for a long time
CCBUG:338317
2014-08-21 21:21:19 +02:00
Jonathan Riddell
8596689f2c add version cmake file for PlasmaQuick
add version cmake file for PlasmaQuick
this allows Plasma Desktop to be able to set a required KF5 version

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

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

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

CCMAIL:notmart@gmail.com
2014-08-20 19:05:13 +02:00
Marco Martin
a135c4de7d correctly enable/disable shadow 2014-08-20 18:01:47 +02:00
Marco Martin
c7d16008d7 centralize theme enable/disable 2014-08-20 16:46:46 +02:00
Marco Martin
38bcec95b0 a simple way to enable/disable background 2014-08-20 16:33:38 +02:00
Marco Martin
770121d516 dd focus rectangles 2014-08-20 15:04:39 +02:00
Marco Martin
93052bf263 fill the anchors of tool contents in toolbar 2014-08-20 13:55:08 +02:00
Marco Martin
58f4f3b126 Revert "proper icons in drawers"
This reverts commit 0527185a09.
2014-08-20 12:14:19 +02:00
Marco Martin
0527185a09 proper icons in drawers 2014-08-20 12:11:57 +02:00
Marco Martin
9c485f8427 fix of the radio svg size 2014-08-20 11:34:49 +02:00
Marco Martin
ff775e3ad7 support evil tristates 2014-08-20 10:56:50 +02:00
Marco Martin
df637bf5bb add a radiobutton style
almost identical to checkbox stuff, goes together
2014-08-19 19:14:36 +02:00
Marco Martin
c7ef2a34a9 switch is just a compat class for checkbox
since the guidelines forbid the switch looking switch
2014-08-19 19:14:03 +02:00
Marco Martin
b3c6c294ee style the ckeckbox 2014-08-19 18:07:19 +02:00
Marco Martin
1ab872181b start of a checkbox style 2014-08-19 17:54:49 +02:00
Marco Martin
d2a2ac18f7 Merge branch 'mart/QtControlsTextArea'
Conflicts:
	src/declarativeimports/plasmacomponents/qml/TextArea.qml
REVIEW:119781
2014-08-18 11:34:47 +02:00
Marco Martin
907da69251 properties don't need to be declared anymore 2014-08-18 11:32:49 +02:00