Commit Graph

190 Commits

Author SHA1 Message Date
Sebastian Kügler
e4976005c6 Fix crasher with 0x0 windows
It can happen that the visualParent has no window attached, so don't
access it. In this case, use the visualParent's geometry.
2013-04-30 02:33:17 +02:00
Marco Martin
31e39640ce correct kdeclarative includes 2013-04-26 17:36:45 +02:00
Stephen Kelly
268f44fc3b Remove use of qt4_automoc.
It is obsolete.
2013-04-12 11:09:43 +02:00
Anant Kamath
f66a3608c0 Fixed exporting flags to QML 2013-04-12 03:12:04 +05:30
Sebastian Kügler
39de2a637c Fix crash in SortFilterModel::mapRowFromSource()
It was not using the correct model to get the source index from the
row.

Patch by Aurélien Gâteau

CCMAIL:agateau@kde.org
REVIEW:109946
2013-04-10 16:19:34 +02:00
Sebastian Kügler
63366d4218 a few more optimizations and better docs for tooltip 2013-04-09 04:38:06 +02:00
Sebastian Kügler
3859dbdd07 Improve API docs 2013-04-09 04:02:19 +02:00
Sebastian Kügler
e7887ee199 more removal of unnecessary stuff 2013-04-09 03:52:59 +02:00
Sebastian Kügler
3bd1d939e8 remove maincomponent and target properties from tooltipproxy 2013-04-09 03:50:43 +02:00
Sebastian Kügler
50a4abac6d ToolTip polishing
- manage mainComponent entirely in ToolTip.qml
- less resizing/setvisible makes it faster and smoother
- fix timer connects in dialog
- Kill dead code
2013-04-09 03:42:54 +02:00
Sebastian Kügler
2cc96aac45 kill tooltipwindow implementation
We use a dialog subclass-singleton now.

I love the smell of dead code in the morning.
2013-04-09 01:27:25 +02:00
Sebastian Kügler
9eda3882ca Make tooltip positioning work 2013-04-09 00:09:07 +02:00
Marco Martin
c3e2a6e671 smaller sectionscroller 2013-04-05 11:08:30 +02:00
Sebastian Kügler
e0c7eaafad dynamic object creation inside tooltip
The mainItem is now a Component, which gets created on demand and passed
to the tooltip dialog.

Positioning is a bit off now, but it basically seems to work as we'd
like it to.
2013-04-05 04:27:55 +02:00
Sebastian Kügler
8eab0f20f2 tooltip now uses a dialog
A bit crude, and only half-working, but shows up
2013-04-05 01:10:53 +02:00
Sebastian Kügler
feda4f5013 make tooltipdialog a singleton 2013-04-05 00:30:17 +02:00
Sebastian Kügler
e48908eb70 add tooltipdialog class
Let's try to share more code with dialog -- especially sizing, frame
painting and positioning with dialog. This means a bit of rewiring, but
should result in more lazy-loaded, shared objects.

The idea is to have at most one window, which is recycled for all
tooltips, making it possible to animate transitions.
2013-04-04 23:50:44 +02:00
Sebastian Kügler
95dddcea35 split tooltip and tooltipwindow 2013-04-04 23:33:05 +02:00
Sebastian Kügler
d207025d8f Blur behind for tooltips
Also clean up flags a bit.
2013-04-04 16:00:57 +02:00
Sebastian Kügler
010f471bc7 Restore API: ToolTip.visualParent becomes target 2013-04-04 05:11:31 +02:00
Sebastian Kügler
e4ee4d6dd0 basic tooltip featureset finished
This implementation deviates a bit from the Plasma 1 tooltips:
- image is now a string
- tooltips align to the parent by default, or the visualParent set
Otherwise, the changes should be fairly transparant.

A crude basic featureset works.
2013-04-04 05:02:51 +02:00
Sebastian Kügler
c739f3ae58 Increase margins a bit, wm hints 2013-04-04 02:02:10 +02:00
Sebastian Kügler
7e6d750f2a Window size synching with tooltip content 2013-04-04 01:46:02 +02:00
Sebastian Kügler
efd12a5ec1 Add components to default tooltip, fix layout 2013-04-04 01:27:14 +02:00
Sebastian Kügler
20a4e6ca43 add ToolTip.qml 2013-04-03 20:23:51 +02:00
Sebastian Kügler
a6526d7bbe Start rewrite of tooltip
ToolTipProxy is now a QQuickWindow and renamed to ToolTipWindow.
This is done in C++.
ToolTip itself is a QML file, which internally uses tooltipwindow to
display the attached item.

Basic showing / hiding and embedding an Item works, positioning,
margins, etc are not implemented yet. Neither are special windowmanager
hints and flags.
2013-04-03 02:23:22 +02:00
Sebastian Kügler
1c5faf9271 add fixme 2013-04-03 02:22:56 +02:00
Sebastian Kügler
0bac65e374 Strip down tooltip so it builds 2013-04-03 00:50:00 +02:00
Sebastian Kügler
76ced6ff80 Remove fixed FIXME 2013-04-03 00:49:36 +02:00
Sebastian Kügler
cbe0d39b99 add spacing in buttonrow and column 2013-03-27 22:27:22 +01:00
Sebastian Kügler
ad1311ddd3 Attach an image to the drag
it now works with delegate, color and image, urls in the form of icons
tbd.
2013-03-27 02:50:45 +01:00
Sebastian Kügler
a0fb4356dc Positioning of Menu on screen
Actually quite a bit more lightweight than its QGV predecessor.
2013-03-26 22:34:35 +01:00
Sebastian Kügler
0ef4080e4f positioning for context menu 2013-03-26 22:17:25 +01:00
Sebastian Kügler
335e0b6d9d Port Menu and MenuItem to QtQuick2
In MenuItem, we can't inherit QAction anymore (our MenuItem has to be a
QQuickItem), so we need to aggregate, which means adding glue API.

Positioning code is disabled, icons broken, but a QMenu with our items
inside shows up and is works.
2013-03-26 20:15:56 +01:00
Sebastian Kügler
9c6b7539bc fix namespacing in ContextMenu 2013-03-26 01:12:04 +01:00
Marco Martin
ed36b6aab4 bigger clear button 2013-03-20 21:14:04 +01:00
Sebastian Kügler
f972925392 these signals have gone 2013-03-19 03:34:28 +01:00
David Faure
c82ff42e76 remove old include 2013-03-13 12:16:35 +01:00
Marco Martin
99bab1825e get rid of PaintUtils
the only one using it was PlasmaCore.IconItem, move the transition() function there
2013-03-13 12:05:06 +01:00
Marco Martin
620478614a remove unused QGraphics* includes 2013-03-13 11:45:34 +01:00
Marco Martin
3bfbc31381 remove some not used includes 2013-03-13 11:32:00 +01:00
Sebastian Kügler
a3b39a8321 All imports are now 2.0
This patch changes the version numbers of the plugins to 2.0. This
includes the previously 0.1 plasmacomponents, extras and
qtextracomponents. DragandDrop, which was at 1.0 is now also at 2.0.

Also, all the QML code has been changed to import the 2.0 plugins.

As a side-effect, we now share a version number with QtQuick 2.0 now.
2013-03-13 02:34:53 +01:00
Sebastian Kügler
4cfc6863af change all 0.1 imports to 2.0 in qml files 2013-03-13 01:56:19 +01:00
Marco Martin
dd0cc2464d ThmemeProxy is a subclass of Theme 2013-03-12 16:49:33 +01:00
Marco Martin
fd97160327 remove the singleton usage from everywhere 2013-03-12 16:29:04 +01:00
Marco Martin
b7a079f87d replace homepage() with pluginInfo()
a KPluginInfo will have the homepage from the desktop file but also the other data as well such as author and description
2013-03-11 18:01:22 +01:00
Marco Martin
62c8a7b500 don't expose windowTranslucencyEnabled 2013-03-11 17:39:42 +01:00
Marco Martin
2894eef3c4 add notify signal for font properties 2013-03-11 17:26:01 +01:00
Marco Martin
83baa3691e theme.defaultFont.mSize api changed
QML2 has QFont directly binded, but doesn't have mSize, so move it to Theme
theme.defaultFont.mSize to theme.mSize(theme.defaultFont)
2013-03-11 17:06:05 +01:00
Marco Martin
74d1a62bdd remove fonts from Plasma::Thmeme
replace FontProxy with default QFont QML2 bindings
2013-03-11 16:59:39 +01:00
Marco Martin
a4b22cc7d4 warnings-- 2013-03-07 12:01:29 +01:00
Marco Martin
e6eae78f06 propagate size hints 2013-03-07 12:01:29 +01:00
Marco Martin
7d79041e2a propagate size hints 2013-03-07 12:01:29 +01:00
Sebastian Kügler
1a31c22e57 debug-- 2013-03-07 02:42:13 +01:00
Sebastian Kügler
5a30426e07 test mimedata attachment and transport from drag to drop area
Works for me.
2013-03-07 01:08:55 +01:00
Sebastian Kügler
37e3ef99f0 Make mouse interaction work
- events need to be accepted, otherwise they don't have effect on the
  drag, and it doesn't get released
- slightly more intelligent starting of drag, saves quite some cycles
  and is way more correct this way

The "attach pixmap of dragged item" is still disabled. This probably
needs to be rethought entirely. One option would be to ditch this class
in favour of QtQuick 2's Drag, DragEvent and DropArea. Food for API
discussion.
2013-03-07 00:26:39 +01:00
Marco Martin
f4de55af67 use KAction from kde4support
it should buld again, usingkaction as type for kactioncollection
2013-03-04 15:46:47 +01:00
Marco Martin
be06b06015 support for panel icon sizes 2013-03-01 16:11:08 +01:00
Sebastian Kügler
8a386d065c add a bit of debugging info
which shows that we're getting wrong events right now. :/
2013-02-27 22:13:14 +01:00
Sebastian Kügler
3ee1474c17 draganddrop: all classes build and are enabled 2013-02-27 19:24:44 +01:00
Sebastian Kügler
b60983ca1f Port DeclarativeDragDropEvent 2013-02-27 18:55:53 +01:00
Sebastian Kügler
4fc1dbef00 draganddrop: more porting, build some bits already 2013-02-27 17:59:03 +01:00
Sebastian Kügler
2168bdec75 no i18n right now 2013-02-27 14:54:55 +01:00
Sebastian Kügler
112fb3f78a Fix API 2013-02-27 14:54:55 +01:00
Sebastian Kügler
f79c3833bd Start port of drag and drop import 2013-02-27 14:54:55 +01:00
Marco Martin
6777a7dc56 call superclass event handlers 2013-02-27 14:51:12 +01:00
Marco Martin
854ecdcf5b make sure the dialog is resized before showing
crash--
probably there is a bug in scenegraph when one calls show() of a 0,0 size wondow
2013-02-27 14:35:34 +01:00
Aaron Seigo
4cb892dd04 only create a new svg item if we don't already have one 2013-02-26 14:50:41 +01:00
Sebastian Kügler
45147081e7 Fix comment 2013-02-26 05:47:12 +01:00
Sebastian Kügler
2032816118 Disable borders when we're hitting the screen's edge 2013-02-26 05:39:49 +01:00
Sebastian Kügler
d6b66ecb96 Switch enabledBorders based on popupPosition 2013-02-26 04:50:00 +01:00
Sebastian Kügler
6a73133da4 positioning for popups
- default top TopEdge
- Swap edges if specified
- shift on non-specified edges
- all borders, edge-cases (ha!) are confirmed working
- cleaned up some cruft

Not taken care of yet:
- framesvg border disabling
- sliding effect w/ kwin
- smarter resolution of visualParent
2013-02-26 03:58:55 +01:00
Sebastian Kügler
9b4db5a7b4 Basic edge locations working inside PlasmaCore.Dialog 2013-02-26 02:17:21 +01:00
Sebastian Kügler
8131ad0abc Add PlasmaNamespace as PlasmaCore.Plasma
This is not beautiful, so we'll change it later on, for now, this allows
us to test enum settings.
2013-02-26 01:10:28 +01:00
Sebastian Kügler
e2a2a9f6d2 revert int -> Qt::AlignmentFlag for location 2013-02-25 17:55:06 +01:00
Sebastian Kügler
9e8f112be0 a few lingering bits of dialog layout code, not enabled 2013-02-25 16:48:04 +01:00
Sebastian Kügler
0faa120641 Convert alignment to Qt::AlignmentFlag
Also start a bit on the logic of setting location. Does nothing yet, but
build.
2013-02-22 16:45:08 +01:00
Sebastian Kügler
7c9d0abc23 Use Qt::AligntmentFlag instead of int for popupPosition 2013-02-22 03:54:14 +01:00
Sebastian Kügler
00c93c186d Test code for placement 2013-02-22 03:43:09 +01:00
Sebastian Kügler
8f71cf9de7 Center in visualParent by default
If we have no visual parent, use the workArea's center. This is mostly
in line with Plasma1's behavior (modulo visualParent vs. parent).
2013-02-22 03:41:56 +01:00
Sebastian Kügler
006eb99b55 Make dialog-in-separate-window kind of work
inlining is still broken, disabled right now. popupPosition has moved
into PlasmaCore.Dialog internally, so don't handle it in QML.
2013-02-22 02:18:16 +01:00
Sebastian Kügler
e96671be05 Add debugsels for popupPosition 2013-02-22 02:18:16 +01:00
Marco Martin
73ab93e009 use the margins of the framesvg instead of own 2013-02-21 16:04:08 +01:00
Marco Martin
799a5989d9 enable blur behind 2013-02-21 14:58:09 +01:00
Marco Martin
31838228d4 add missing declaration 2013-02-21 14:49:28 +01:00
Marco Martin
efc725acec use a framesvgitem as background 2013-02-21 14:32:48 +01:00
Marco Martin
de81cdada3 implement popupPosition
call it only by setting a visualParent, don't expose it to qml for now
2013-02-20 20:39:15 +01:00
Marco Martin
a1507092a0 restore isactivewindow 2013-02-20 19:39:03 +01:00
Marco Martin
7ce2d0f7d6 sync sizes also on the other way 2013-02-20 19:31:06 +01:00
Marco Martin
f7e3a72d14 iremove unused properties
x,y,width,height are already in qquickwindow
2013-02-20 18:03:28 +01:00
Marco Martin
8ba734f05b correct item resize
comment out more old api

will be reenable one by one only when needed
2013-02-20 15:51:28 +01:00
Marco Martin
059682af85 less dead code 2013-02-20 15:25:13 +01:00
Marco Martin
1928ecce74 make sure a transparent window 2013-02-20 15:18:58 +01:00
Sebastian Kügler
6461683f58 Some work on PlasmaComponents.Dialog
Still broken in all kinds of ways, buttons, geometry, etc.
2013-02-20 06:56:48 +01:00
Sebastian Kügler
0fe94f0dac try to make dialog transparent 2013-02-20 06:56:38 +01:00
Sebastian Kügler
ea508733d6 Rejig Dialog - starts working
It now inherits from QQuickWindow.

setting the mainItem is not reparenting it right now, this will probably
break, so needs fixing. For now, it works though as long as the mainItem
has the Dialog as parent already. WindowFlags and sizing seems to work.
2013-02-20 05:30:22 +01:00
Sebastian Kügler
305e711c8c Fix namespace of RangeModel in Slider and ProgressBar
Now those components work as well.
2013-02-20 05:27:11 +01:00
Sebastian Kügler
71e2114541 Fix RangeModel namespace 2013-02-20 05:24:03 +01:00
Sebastian Kügler
2566309c9a Start porting PlasmaCore.Dialog
This commit enables the build of PlasmaCore.Dialog. Most of the code is
disabled, as it's quite wired up with QGraphicsWidgets. The remaining
pieces are actually able to bring up a window, but don't display
anything.
2013-02-20 04:25:29 +01:00
Sebastian Kügler
226e61c432 module directive for runnermodel 2013-02-20 02:31:33 +01:00