Commit Graph

343 Commits

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