Commit Graph

506 Commits

Author SHA1 Message Date
Aaron J. Seigo
8d1e6cdf85 call a private constraints event on the PopupApplet so that subclasses don't have to think about it
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=862502
2008-09-19 03:26:24 +00:00
Aaron J. Seigo
6e2506d5cc * use d->extender instead of extender() to prevent accidently creating extenders
* make PopupApplet a friend (PopupAppletPrivate already is)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=862089
2008-09-18 02:47:25 +00:00
Aaron J. Seigo
c5fe5cb285 automatically create a new extender if we don't have one and an extender is requested
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=862085
2008-09-18 02:38:27 +00:00
Aaron J. Seigo
8db733b45a * forget the global shorcut on applet destruction; prevents issues with collisions in the future
* be more agressive with claiming global shortcuts
* add some debug output to track global shorcut registration

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=862007
2008-09-17 19:16:36 +00:00
Aaron J. Seigo
874870aaee because KGlobalShorcuts is not exactly what i'd call symmetrical, we need to ensure the object name is constant at all costs. that design really needs to be rethough in KDE5 as it lacks.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=861708
2008-09-16 22:55:21 +00:00
Rob Scheepmaker
ca2a86dc2e Move the calls to destroy() from save() to Applets dtor. This fixes the crashes with the popup
applet patch on reviewboard (r182).
CCMAIL: notmart@gmail.com


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=860301
2008-09-12 15:50:17 +00:00
Petri Damstén
11317e0d7e add configChanged to Applet and AppletScript
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=860299
2008-09-12 15:21:58 +00:00
Sebastian Kügler
7335ef2e00 warnings--
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=860267
2008-09-12 13:19:37 +00:00
Rob Scheepmaker
11a5a957d0 Renamed extender to internal:extender to avoid possible name clashes.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=860083
2008-09-11 22:51:43 +00:00
Rob Scheepmaker
7d9f3e29c1 The in libplasma embedded ExtenderApplet actually works now!
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=860069
2008-09-11 21:21:18 +00:00
Rob Scheepmaker
cb4d610219 Move ExtenderApplet to libplasma. This doesn't work just yet, but aseigo will take a look at
it, so it will soon. ;)


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=860007
2008-09-11 19:26:05 +00:00
Aaron J. Seigo
c633c8ac57 hook up the containment configuration interface to the generic containment configuration mechanism; now it shows in the toolbox too! whee!
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=859593
2008-09-10 18:51:30 +00:00
Aaron J. Seigo
81ff908a3e * for ghost painting, used when dragging, we only need to know true or false .. we don't need to check the view
* cache the current view as this gets called on every mouse move event when dragging something by the handle.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=858901
2008-09-09 00:23:02 +00:00
Aaron J. Seigo
d3280cee63 even simpler, and preserves the old contentsRect as well
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=858253
2008-09-07 16:22:34 +00:00
Aaron J. Seigo
fa32b0f2b6 be a little more forgiving in trying to find the Best View
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=857615
2008-09-05 20:37:15 +00:00
Aaron J. Seigo
d89ad4cba0 context API adjustments
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=857207
2008-09-05 00:22:42 +00:00
Aaron J. Seigo
35bfe20877 why yes, dani_l, i have looked into this issue. ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=856686
2008-09-03 15:06:02 +00:00
Aaron J. Seigo
2963de33e6 just toRect will suffice
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=856498
2008-09-03 04:25:24 +00:00
Aaron J. Seigo
3c7c59d9f8 don't repaint the entire item *every time* if the exposed area is just a small section. this saves huge numbers of whole screen repaints.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=856476
2008-09-02 23:29:54 +00:00
Rob Scheepmaker
56fc76d150 Detaching ExtenderItems from a Plasma::Dialog works now, but resizing the dialog isn't
always done correctly yet. I'm still looking into that.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=852535
2008-08-25 23:16:18 +00:00
Rob Scheepmaker
60a62db177 Make attached ExtenderItems non persistent, since that is more logical default behavior.
Fixed the screwed up positioning of the ExtenderItem toolbox.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=852222
2008-08-25 15:17:54 +00:00
Alex Merry
6f4ccf03c9 Use parenting where appropriate.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=851451
2008-08-23 17:21:55 +00:00
Aaron J. Seigo
2c341a5521 the wallpaper can't be mutually exclusive to the containment's painting, otherwise containments like the folderview don't paint their interface
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=850223
2008-08-21 02:56:41 +00:00
Alex Merry
c8823d1900 Don't call constraintsUpdated() before init(), even if an event loop is created in an applet constructor.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=849656
2008-08-19 21:36:52 +00:00
Marco Martin
abdb0debb5 needsconfigoverlay is way nicer painted to contentsrect when the
standardbackground is on

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=849618
2008-08-19 20:00:40 +00:00
Aaron J. Seigo
03047048bc fixlette
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=849502
2008-08-19 17:37:53 +00:00
Marco Martin
14bb079e79 this size policy seems to behave way better
icons aren't scaled down when taskbar fills up
will backport to 4.1

BUG:164857

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=848940
2008-08-18 18:49:04 +00:00
Aaron J. Seigo
46ef63168e allow applets to query for their context, update the context via a constraint (we're running out of them!)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=848820
2008-08-18 14:04:30 +00:00
Petri Damstén
0183db7d30 Base for Plasma::Wallpaper plugins.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=842590
2008-08-05 15:27:48 +00:00
Aaron J. Seigo
684a1b4e4e SVN_SILENT: some ws fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=841831
2008-08-04 08:00:07 +00:00
Rob Scheepmaker
3bfb1bf662 Fixed a type, making destroy() function again. Move the destruction of temporary extender
items to applet, since in extender's dtor, applet's config isn't accessible anymore. Only 
fire itemDetached when an item is really moved, not only when being dragged away.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=841509
2008-08-03 12:16:41 +00:00
Aaron J. Seigo
577a64f563 extender is not a Plasma Widget (it doesn't follow the API pattern, isn't a button/menu/etc, isn't meant to be used as a general widget in a random layout...)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=841164
2008-08-02 17:46:32 +00:00
Rob Scheepmaker
a6293d363f Extenders enter trunk! The implementation still has some rough edges and fixmes, but the api
is in quite nice shape and basides a couple of bugs, it basically works. So what are you 
still doing reading this? Port your favourite applet to extenders today! ;)


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=840978
2008-08-02 11:48:56 +00:00
Chani Armitage
db8bb180e8 let's not have overzealous shorcuts.
(will this need to be changed back when we have proper qgraphicswidget shortcuts?)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=840837
2008-08-01 23:25:24 +00:00
Aaron J. Seigo
63bce9d1b4 move all the prive code into private/; makes it much clearer with the division lines are
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=839792
2008-07-30 20:35:42 +00:00
Aaron J. Seigo
f0c70f7c41 cut some fat; we don't actually use the shadow item, and haven't since before 4.0
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=839264
2008-07-29 16:52:44 +00:00
Marco Martin
aaab3a310a API change:
changed paintPanel(QPainter* painter, const QRectF& rect, const
QPointF& pos = QPointF(0, 0));
into
 void paintPanel(QPainter* painter, const QRectF& target, const QRectF&
source);   
and
 void paintPanel(QPainter* painter, const QPointF& pos = QPointF(0, 0));

to be more similat di QPainter::drawPixmap api

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=838379
2008-07-27 17:20:27 +00:00
Aaron J. Seigo
538272d133 make Theme::currentThemeHasImage check for compressedsvg files
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=836139
2008-07-21 19:36:47 +00:00
Chani Armitage
d7bc9f3898 add security check in showConfigurationInterface too
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=834476
2008-07-19 03:22:41 +00:00
Chani Armitage
bbcc79fc0e only allow configuration while widgets are unlocked
something went wrong, very wrong, when pulling from gitorious. I don't know what or why. but this is a copy of the last commit I made on my laptop...

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=834472
2008-07-19 03:00:36 +00:00
Aaron J. Seigo
bfd552b776 add the word Activity now that we've essentially committed to using it
BUG:166875

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=834030
2008-07-17 20:52:04 +00:00
Pino Toscano
bec3fc7541 fix i18n() usage
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833977
2008-07-17 18:40:11 +00:00
Aaron J. Seigo
9fce6a940f one less string freeze todo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833969
2008-07-17 18:25:50 +00:00
Dirk Mueller
5a2b46c73e - coding style
- more plugins to version

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833560
2008-07-17 01:27:43 +00:00
Dirk Mueller
02a008da35 introduce plugin versioning for plasma and ensure
that only applets with a matching major.minor version
are loaded. needs porting to plugins other than applets.

CCMAIL: aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833550
2008-07-17 01:11:25 +00:00
Aaron J. Seigo
19b3401af9 * get rid of ToolTipManager::getItemItsApplet
* introduce Plasma::viewFor and Plasma::popupPosition

generally nicer code all around.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833534
2008-07-16 23:48:41 +00:00
Alexis Ménard
24d494fd5a Install event filter is better than reimplement sceneEvent.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833521
2008-07-16 23:11:51 +00:00
Alexis Ménard
f4ec3034df Add api doc comments + delete old stuff in applet
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833277
2008-07-16 15:18:08 +00:00
Alexis Ménard
6a9bf59888 lot of API changes for more clarity, fix some bugs
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833276
2008-07-16 15:18:02 +00:00
Alexis Ménard
0628f7dcb3 New ToolTip manager that create tool tips easier than before
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=833272
2008-07-16 15:17:44 +00:00
Aaron J. Seigo
0e5f15dc50 * add Corona::addContainmentDelayed for more control on the Corona subclass side during default layout loading
* accept bad config objectsin Applet::save and Containment::save
* move some initialization code around to be more robust with external use (will make more sense in next commit to workspace/plasma/plasma)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828940
2008-07-07 02:16:08 +00:00
Aaron J. Seigo
9ccc9336a5 * prevent removing active containments (brute force mechanism: just ignore the request totally)
* select the correct containment for removal when zoomed out (will have isses on multi-screen; see FIXME)
* move containment destruction logic out of Corona; it really doesn't belong there
* remove the hack to not set focus on a containment when clicked as that doesn't seem to reliably trigger it for me here and it doesn't address the issue of a new containment still messing things up, so we really ought to have a generic solution instead of a slightly ugly hack

BUG:id=165670

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828906
2008-07-06 22:43:53 +00:00
Aaron J. Seigo
762be363ec rework the toolbox creation, containment type setting and isContainment setting code to make it resilient against when and where those properties are set
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828636
2008-07-06 10:03:10 +00:00
Aaron J. Seigo
a404763830 don't check the view for regular applets; the problem only affect containments
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828205
2008-07-04 21:48:25 +00:00
Marco Martin
f203f0ffff don't setFocus on applets or containments when the view is zoomed out,
that would drive to an automatic scrolling of the view when clicking on
it, hiding other containments

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828193
2008-07-04 21:13:48 +00:00
Aaron J. Seigo
92ee66d578 be extra sure that the applet has an entry in the config on being added so when we config sync we're guaranteed they are in there
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=827479
2008-07-03 05:46:25 +00:00
Marijn Kruisselbrink
21b148b963 change all ClassName::Private classes to ClassNamePrivate, and adjust friends accordingly; this makes plasma compilable with gcc < 4.2
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826893
2008-07-01 18:56:43 +00:00
Marco Martin
878966df21 immutability() doesn't always return d->immutability()
it cause the clock to be moved also in locked mode


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826501
2008-06-30 21:05:16 +00:00
Aaron J. Seigo
07613b5b41 SVN_SILENT: ssh.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826347
2008-06-30 14:39:25 +00:00
Aaron J. Seigo
350bb8c48e AppletScript::shape()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=824153
2008-06-25 00:33:46 +00:00
Aaron J. Seigo
2fc9fca715 make setConfigurationRequired match setFailedToLaunch by adding a reason string. this allows more than just a mysterious "Configure" button. thanks to Chani for spotting the API irregularity.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=823770
2008-06-24 03:17:38 +00:00
Marco Martin
f359a0f551 removes the modifications of the maximum and minimum size hints made in
flushPendingConstraintsEvents, now it changes only the sizepolicy
and the enforcing is done by returning the proper values in sizeHint.
ConstrainedSquare behaves like square with sizes less than
Liconloader::sizeLarge, otherwise the size is not much controllable and
would be hard to have the right (not blurry) icon sizes when the panel
is not so big

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=823640
2008-06-23 18:49:10 +00:00
Richard Dale
eb2b4126ae * Fix typo in warning message, and make the english scan a bit better
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=823161
2008-06-22 17:29:59 +00:00
Marijn Kruisselbrink
b10a0bcbe3 fix qMax calls on platforms where qreal is not double
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=821243
2008-06-16 22:20:49 +00:00
Aaron J. Seigo
659844e273 use the caching (!), don't crash if we get a 0 widget parameter
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=821186
2008-06-16 19:10:38 +00:00
Marco Martin
b5855d7b20 set a minimum size of 0,0 when an applet is moved in the panel, it still
can happen that it exits from top of the screen but at least it won't
totally destroy the panel layout anymore

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=820917
2008-06-15 19:10:50 +00:00
Davide Bettio
d489ddc1ea BUGFIX: Applet::setConfigurationRequired(bool needsConfig) now destroys also the button when needsConfig is false.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=820338
2008-06-13 22:12:23 +00:00
Aaron J. Seigo
681ddb5cdc prepare ourselves for upstream fixes ;-P
CCBUG:163459

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=818610
2008-06-09 00:03:25 +00:00
Jason Stubbs
21367769e7 Fix systray icon positioning on initial layouts and take svg margins
into account. When the size is too small to allow the svg and a single
icon, disable the svg.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=818155
2008-06-07 22:51:51 +00:00
Aaron J. Seigo
d222baf2f2 emit geom changed signal on size changes as well as a SizeConstraint. one should one or the other but not both, i suppose.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=817989
2008-06-07 10:52:34 +00:00
Aaron J. Seigo
f1ce0ee124 safety in removing panels, aka "work around the inane requirement to first remove items from the scene before deleting them if they are a QGraphicsWidget and have a layout"
BUG:163205

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816760
2008-06-04 19:04:34 +00:00
Marco Martin
1cb044332c new aspect ratio mode ConstrainedSquare
it makes applets in panel to not
be wider than tall in horizontal panels and not taller than wider in
vertical panels, but can be for instance less wide than tall in
horizontal panels, as opposed to square applets.
it makes poossible to have icons with a reasonable size in very big
panels as vertical panels usually are for instance

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816757
2008-06-04 18:58:38 +00:00
Aaron J. Seigo
3d45aae7fb more code clean ups
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816745
2008-06-04 18:20:58 +00:00
Marco Martin
5ddceb467b add Theme::currentThemeHasImage() that checks if the current theme has a
certain svg or if it would fallback to the default theme if loaded.
this makes possible an alternative fallback mechanism between images of
the same theme, used now for the TransparentBackground background hint

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816734
2008-06-04 17:44:37 +00:00
Chani Armitage
8e9bd0ff09 revert my last commit; this does work after all, sorry.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815996
2008-06-03 00:24:51 +00:00
Marco Martin
dedc5eac8f deactivate translucent background when the containment becomes the
panel, prevents weird margins

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815657
2008-06-02 13:27:20 +00:00
Chani Armitage
62a32a22a7 don't try to associate with widgets.
it's not needed for global shortcuts, and it wouldn't work that way for local shortcuts anyways.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815532
2008-06-02 05:43:05 +00:00
Aaron J. Seigo
b228fb7c49 save shortcut settings
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815055
2008-06-01 03:03:43 +00:00
Aaron J. Seigo
4878d04cc3 allow setting and getting of global shortcuts
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815050
2008-06-01 02:53:50 +00:00
Aaron J. Seigo
40e4b3e88e * global keyboard shortcuts for applets
* move the contents of setGeometry to itemChange and resizeEvent for greater reliability

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815043
2008-06-01 02:13:53 +00:00
Albert Astals Cid
cc3f0c3a90 Don't show Apply button as it doesn't work correctly, acked by Aaron
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=815001
2008-05-31 21:26:49 +00:00
Aaron J. Seigo
6e71a7adc3 use Plasma::PushButton
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=814353
2008-05-30 06:16:37 +00:00
Aaron J. Seigo
1d5979e532 check that we have children; prevents crash. will continue polishing from the fairgrounds later today.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=814045
2008-05-29 08:49:40 +00:00
Marco Martin
5f3a757bae new BackgroundHint:
TranslucentBackground, now used by folder view.
when an applet has TranslucentBackground set, it loads
"widgets/tranlucentbackground" as its own background
when that svg does not exists in theh them it falls back to
"widgets/background" instead of translucentbackground of the default
theme

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=813283
2008-05-27 10:57:09 +00:00
Marco Martin
83a5c1ee6f corrected a bug that led to 100% cpu usage in some cases (endless
resizing loop) had to use maximum and minimum sizes, layouts seems to be
sooo stoopid :(

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=813266
2008-05-27 10:04:52 +00:00
Aaron J. Seigo
05d6ec6401 remove the args Applet injects to hide that impl detail from subclasses
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=812568
2008-05-25 18:38:07 +00:00
Jason Stubbs
f478ae1ca4 geometry() isn't up to date at the time that an ItemPositionHasChanged
notification is received, so don't use it in calculating the correct
position. Also some other small WoC cleanups.

BUG: 161969

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=812493
2008-05-25 15:40:29 +00:00
Marco Martin
8c285fdee5 don't allow to drag applets registered as drag handle when the
containment is locked
BUG: 162584

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=812459
2008-05-25 14:10:47 +00:00
Kevin Ottens
8edc0b399f Remove the "ghost view" from public API. It's completely internal and
used nowhere.

"ervin, fighting feature creep in APIs since 1980."

(BTW, at this rate I'm less and less convinced that it'd be wise to not
have a second round of API review post 4.1)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=812172
2008-05-24 18:33:40 +00:00
Marco Martin
fb80af2962 update applet margins when the theme changes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=812116
2008-05-24 15:58:40 +00:00
Aaron J. Seigo
bea0906806 finish yet another 4.1 feature gap: allow the user to select what to do on drop. the text is a bit lame for icon, it should be "link to file" or something similar but that string doesn't seem to be handy and we're in a string freeze =/ at least it works =)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811949
2008-05-24 07:47:20 +00:00
Rob Scheepmaker
e9989989c5 Check if containment() actually returns a containment, and if view() actually returns a
view. Should fix a crash reported by chani.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811785
2008-05-23 17:21:14 +00:00
Thiago Macieira
f6e555fdbc Initialise variable.
Valgrind rationale:
==18955== Conditional jump or move depends on uninitialised value(s)
==18955==    at 0x40E2295: Plasma::Applet::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) (applet.cpp:765)
==18955==    by 0x65259FF: _ZL12_q_paintItemP13QGraphicsItemP8QPainterPK24QStyleOptionGraphicsItemP7QWidgetb (qgraphicsscene.cpp:3766)
==18955==    by 0x6525AE3: QGraphicsScenePrivate::drawItemHelper(QGraphicsItem*, QPainter*, QStyleOptionGraphicsItem const*, QWidget*) (qgraphicsscene.cpp:3790)
==18955==    by 0x652B61E: QGraphicsScene::drawItems(QPainter*, int, QGraphicsItem**, QStyleOptionGraphicsItem const*, QWidget*) (qgraphicsscene.cpp:4015)
==18955==    by 0x6541637: QGraphicsView::drawItems(QPainter*, int, QGraphicsItem**, QStyleOptionGraphicsItem const*) (qgraphicsview.cpp:3294)
==18955==    by 0x6546C08: QGraphicsView::paintEvent(QPaintEvent*) (qgraphicsview.cpp:3042)
==18955==    by 0x5EDD149: QWidget::event(QEvent*) (qwidget.cpp:7082)
==18955==    by 0x62D12B1: QFrame::event(QEvent*) (qframe.cpp:627)
==18955==    by 0x63804C8: QAbstractScrollArea::viewportEvent(QEvent*) (qabstractscrollarea.cpp:914)
==18955==    by 0x6544410: QGraphicsView::viewportEvent(QEvent*) (qgraphicsview.cpp:2299)
==18955==    by 0x6383611: QAbstractScrollAreaPrivate::viewportEvent(QEvent*) (qabstractscrollarea_p.h:72)
==18955==    by 0x638363F: QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) (qabstractscrollarea_p.h:83)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811619
2008-05-23 14:41:55 +00:00
Aaron J. Seigo
1ff027988b be more lenient with the requirement for a service
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811335
2008-05-22 18:43:34 +00:00
Aaron J. Seigo
26f7e83a53 give proper control over saving/restoring to the containment
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811211
2008-05-22 15:53:48 +00:00
Marco Martin
73c4847a75 remove an unused variable
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811184
2008-05-22 14:34:30 +00:00
Chani Armitage
30dd547919 SVN_SILENT: really minor style cleanup.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=810602
2008-05-21 04:37:10 +00:00
Chani Armitage
ccde7ded20 replace Panel::remove() with Containment::destroy()
now I can remove some of the ten desktop containments I accumulated :)
oh, and the code is cleaner too, yay!

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=810129
2008-05-20 04:02:36 +00:00
Marco Martin
812d870086 enforce square aspect ratio when aspectRatioMode() is square of applets
in the panel

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=809947
2008-05-19 19:34:13 +00:00
Alexis Ménard
5f6b242127 This magic line seems to fix our crash with embeeded widget
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=809939
2008-05-19 19:19:47 +00:00
Rob Scheepmaker
8b20aab3fb Couple of improvements to applet drag&drop:
* Only move applet to toplevel window when overlapping other plasma views, ignoring other windows and such.
* Drag & drop now works reasonably well when using multiple desktop containments ('activities'), both when
  zoomed in as when zoomed out. Only a couple of issues remaining.
* Containment's addApplet function now cleans up the pointer to the applethandle in the preview containment,
  Avoiding some nasty crashes when moving applets between containments.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=809841
2008-05-19 16:20:27 +00:00
Aaron J. Seigo
d242cde2cf use Plasma::Label
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=809570
2008-05-19 05:25:16 +00:00
Aaron J. Seigo
f561b7f861 set the text color for the label.
another bug in QGraphicsProxyWidget? labels appear as innactive until you click on them!

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=808983
2008-05-18 01:26:29 +00:00
Chani Armitage
1d8eb91e89 keyboard shortcuts.
the defaults are kinda lame right now, but I'm planning to do a lot more with this.
applet focus and the shorcut hooks work properly, however.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=808610
2008-05-17 03:39:24 +00:00
Dan Meltzer
26dc704a5a remove the FOCUS! FOCUS! FOCUS! debugspam
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=808417
2008-05-16 15:03:39 +00:00
Rob Scheepmaker
9f6d033578 Couple of improvements to applet drag & drop:
* when dropping on another containment, the center of the applet is used to determine where 
to drop the applet, instead of the position of the mousepointer.
* movement now works correctly if multiple drag&drops are performed while not removing the 
mouse away from the applet handle.
* now works correctly on rotated applets.
* various code style fixes.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=808379
2008-05-16 13:28:33 +00:00
Aaron J. Seigo
caa2fdc688 isValid
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=807410
2008-05-13 19:42:17 +00:00
Alexis Ménard
ff9832433d fix restaure of applet geometry
aaron can you check?

CCMAIL:aseigo@kde.org


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=807088
2008-05-12 21:49:55 +00:00
Rob Scheepmaker
df22556806 Improved drag&drop: now the toplevel window appears correctly when zoomed out.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=806544
2008-05-11 17:21:55 +00:00
Rob Scheepmaker
1172ef79e9 Start of improved applet drag & drop. What works now is:
* dragging an applet creates a top level window so the applet won't appear behind the panel 
when dragging, as is the case now.
* dragging leaves a semi transparent version of the applet at the original location, so it's
clear to the user where the applet came from and where it will go when the drag is cancelled.

There are still some open issues, I'm working on those...


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=806484
2008-05-11 13:56:35 +00:00
Chani Armitage
61ae3df3fc *Applet::destroy() now handles everything needed for removing an applet prettily and safely.
*removed Containment::Private::destroyApplet in favour of just calling Applet::destroy() directly.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805666
2008-05-09 04:43:21 +00:00
Aaron J. Seigo
5de8aff8ce don't need this timer to keep running indefinitely
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805650
2008-05-09 02:35:29 +00:00
Aaron J. Seigo
1b437f7954 * make the layout removal general to all layout types, not just linear layouts
* call the ScriptEngine's config method if we fail on the automatic generation
* use an internal timer id to trigger flush updated constraints calls so that if it gets called manually we prevent a future unecessary signal from happening

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805631
2008-05-08 23:30:29 +00:00
Alexis Ménard
987ca211c7 put the remove of the layout if the applet is removed in destroy function, then if we call
it from other place we will be sure the applet will be remove from the layout

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805590
2008-05-08 20:26:56 +00:00
Richard Dale
61d69ba939 * Oops, the scripting method 'showConfigurationInterface()' was correctly named after all, so
revert the commit to change it

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805532
2008-05-08 17:46:28 +00:00
Richard Dale
580df25f72 * Rename the applet scripting method showConfigurationInterface() as createConfigurationInterface()
to match the name of the equivalent C++ api method

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805387
2008-05-08 12:12:31 +00:00
Chani Armitage
2a6a5fa6db :%s/NotImmutable/Mutable/g
because double negatives hurt my brain.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805296
2008-05-08 04:26:52 +00:00
Marco Martin
e8ebd60879 SVN_SILENT: make it compile with DYNAMIC_SHADOWS on
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803838
2008-05-04 10:17:03 +00:00
Sebastian Kügler
f3cf6a2167 Make the digiclock paint into contentsRect, not into geometry()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803608
2008-05-03 13:21:16 +00:00
Aaron J. Seigo
a329771ad5 symmetry
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803323
2008-05-02 15:12:52 +00:00
Fredrik Höglund
4b05a1b05f Subtract the margins from the contents rect passed to paintInterface().
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803098
2008-05-01 22:39:18 +00:00
Marco Martin
703b6c2ffa * adds a new convenience method getMargins(&qreal,&qreal,&qreal,&qreal)
to fetch all the four margins at a time
* now applet uses it

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802928
2008-05-01 09:49:30 +00:00
Aaron J. Seigo
207968b217 resetConfigurationObject()->pimpl
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802892
2008-05-01 03:24:20 +00:00
Aaron J. Seigo
43e6bac986 Plasma::AspectRatioMode, just like Qt::AspectRatioMode. the setter/getter in Applet even used Mode.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802866
2008-04-30 22:13:27 +00:00
Aaron J. Seigo
b81b6ad8de split out the private applet classes into a _p.h
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802860
2008-04-30 21:50:43 +00:00
Davide Bettio
0916889c58 API REVIEW:
* watchForMouseMove() -> registerAsDragHandle() / unregisterDragHandle()
* Added isRegisteredAsDragHandle() (I'm not really sure If it's a good idea to add this method).

ping me if you find better names for registerAsDragHandle() / unregisterDragHandle().

CCMAIL: panel-devel@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802774
2008-04-30 15:04:49 +00:00
Alexis Ménard
1eee210264 fix default layout and label when a label fail to load
FIXME : get the correct color for the label with the theme

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802598
2008-04-29 22:57:08 +00:00
Marco Martin
43066e49ce API review:
remainSquare(), aspectRatioMode() and their setters are merged in
aspectRatioMode() + setAspectRatioMode(Plasma::AspectRatio)
Plasma::AspectRatio has IgnoreAspectRatio, KeepAspectRatio and Square

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802561
2008-04-29 20:31:18 +00:00
Aaron J. Seigo
9165b11235 at tokamak i said i regretted using the term "Language" to describe what is really "API". i meant it.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802486
2008-04-29 16:24:14 +00:00
Aaron J. Seigo
daf3d7a4a2 API REVIEW: needsConfiguring() => configurationRequired
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802288
2008-04-29 02:34:21 +00:00
Aaron J. Seigo
0402391d17 we don't need our own shape() here anymore; it really hardly worked at the best of times and was we move to window decos it'll become irrelevant anyhow
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802287
2008-04-29 02:30:23 +00:00
Aaron J. Seigo
1847d60a1d API REVIEW: launchActivated -> releaseVisualFocus; more generic and a bit more obvious as to its purpose
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802286
2008-04-29 02:28:35 +00:00
Aaron J. Seigo
2dd5891029 with some intriguing grotesqueness internal to the library, we can simplify the API and remove location/formFactor from Containment and just use the ones in Applet; externally this is probably rather safer
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802277
2008-04-29 00:49:10 +00:00
Aaron J. Seigo
fa166c72ef SVN_SILENT: small ws fix that was laying around on disk here
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802253
2008-04-28 22:56:02 +00:00
Marco Martin
f06d25a00c API reviews:
globalName(), instanceName()->pimpl

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802135
2008-04-28 16:22:01 +00:00
Marco Martin
9bee311b96 API reviews:
ThemeChanged()->Q_PRIVATE_SLOT

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802130
2008-04-28 15:55:13 +00:00
Marco Martin
48be92bdab API reviews:
checkImmutability()->Q_PRIVATE_SLOT
added a q-pointer into Applet needed for this and themeChanged the other
Q_PRIVATE_SLOT that will be added

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802124
2008-04-28 15:41:18 +00:00
Marco Martin
dfa4623a68 don't try to set StandardBackground if FormFactor is Horizontal or
Vertical
this fixes the panel layout on the first load when there is no
plasma-appletsrc

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802089
2008-04-28 14:18:19 +00:00
Aaron J. Seigo
85f7ded2b4 SVN_SILENT: get rid of some dead code; with all the api changing happening, no point in keeping stuff around that isn't compiled
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801808
2008-04-27 20:09:20 +00:00
Aaron J. Seigo
df1ba079e8 go back is isContainment. ActAs is just ugly ugly. i don't think anyone really gets confused over isContainment (e.g. confusing it with IsA ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801792
2008-04-27 19:05:06 +00:00
Davide Bettio
1474ed7cbc API REVIEW: color() --> die
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801697
2008-04-27 13:37:53 +00:00
Davide Bettio
7672b1620c constraintsUpdated() -> constraintsEvent()
Probably it should be protected and we need also updateConstraints() like in applet.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801661
2008-04-27 11:23:09 +00:00
Davide Bettio
8cd95e4ae7 API REVIEW: updated containment to the new API (constraintsUpdated() -> constraintsEvent() + protected)
CCMAIL: aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801659
2008-04-27 11:13:43 +00:00
Davide Bettio
ff16201431 API REVIEW: constraintsUpdated() -> constraintsEvent()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801656
2008-04-27 11:04:43 +00:00
Davide Bettio
5bc429daa9 API REVIEW: topLeft() -> dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801647
2008-04-27 10:26:42 +00:00
Davide Bettio
41d2aa43e4 watchForFocus() dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801641
2008-04-27 09:53:49 +00:00
Davide Bettio
624f8d0fb3 API REVIEW: needsFocus()->dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801640
2008-04-27 09:29:25 +00:00
Davide Bettio
55881aa054 API REVIEW: requestFocus() dies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801637
2008-04-27 09:18:44 +00:00
Marco Martin
694c822bb0 API reviews:
flushUpdatedConstraints()->flushPendingCostraintEvents()

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801443
2008-04-26 17:13:59 +00:00
Albert Astals Cid
4068f45cf9 const & in foreach
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801430
2008-04-26 16:19:00 +00:00