Commit Graph

181 Commits

Author SHA1 Message Date
Aaron J. Seigo
de2dba69a9 * listen and respond to xrandr changes
* convenience accessor to the corona for containments
* some debug to track down the context menu in the upper left corner problem

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734486
2007-11-09 00:44:35 +00:00
Aaron J. Seigo
709136813b ensure even the "null" containment gets a layout
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732190
2007-11-03 01:36:53 +00:00
Aaron J. Seigo
045ca46537 i suppose we do want the bottom most left screen ....
is it possible to have a 2x2 grid where screen at (0,0) has an x() > 0?

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731847
2007-11-02 02:31:58 +00:00
Aaron J. Seigo
f330f504d7 try to figure out what the top left screen is for the default panel
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731846
2007-11-02 02:21:13 +00:00
Aaron J. Seigo
43ea2d708f workspace -> kworkspace to mirror the library name and install path
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731519
2007-10-31 22:06:41 +00:00
Aaron J. Seigo
d71b8d5a5a some useful debug output, which helped me realize just how badly we need PanelLayout ... and perhaps just how broken BoxLayout is? hm.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=730535
2007-10-29 05:01:35 +00:00
Aaron J. Seigo
d5dc647850 allow creating a plain Containment object by passing in "null" for the plugin name. this still allows us to protect better against broken configurations where the plugin value is no longer readable while getting us back the ability to request a plain Containment on purpose.
CCMAIL:frerich@hex.athame.co.uk

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=730445
2007-10-28 20:04:38 +00:00
Aaron J. Seigo
0a73264688 * take advantage of constraint flushing
* return the _desktop_ constraint from constraintForScreen
* don't use the arg list to set the location of the panel, use the setLocation method as per usual

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729445
2007-10-26 01:08:19 +00:00
Aaron J. Seigo
576798dd52 set panels properly in setScreen. this will need to be augmented with screen edge stuff eventually as well, but for now this might work better on multiple screens.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729421
2007-10-25 23:09:02 +00:00
Aaron J. Seigo
b93fb635a2 comment out lots of debug that i don't need right now (and hopefully anymore =) so other output is easier to find
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729227
2007-10-25 11:18:04 +00:00
Aaron J. Seigo
96712a50a8 --warnings; --deprecations;
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=728720
2007-10-24 02:04:02 +00:00
Aaron J. Seigo
4f23175112 * remove a now-unused variable
* add the kickoff menu

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=727585
2007-10-21 05:17:31 +00:00
Alexander Wiedenbruch
ea4a368a42 The integration of SuperKaramba into Plasma is now done
by the SuperKaramba Plasma Applet alone that comes with SuperKaramba itself.

- Remove all previous functions to load SuperKaramba themes
- Add special code into applet browser to handle the theme loading

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724563
2007-10-12 17:30:30 +00:00
Aaron J. Seigo
599f014cff add the containment after init, inc on delayed init
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724312
2007-10-11 23:18:33 +00:00
Aaron J. Seigo
6747103c38 now that we do this in Containment, we don't need to do it here as well
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724226
2007-10-11 19:17:26 +00:00
Aaron J. Seigo
22de66fdc0 * fix order of constraints init so that geometry is done before screen affinity
* only adjust the size of the containment to the screen size if it is a DesktopContainMent

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724225
2007-10-11 19:16:01 +00:00
Chani Armitage
7d2771e8f3 move applet->setDrawStandardBackground(false) to within Containment::addApplet()
this appears to fix all the bugs with applets not showing up on the panel :)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724060
2007-10-11 08:41:10 +00:00
Aaron J. Seigo
3e90dfe02b move all the init to loadDefaultSetup if we are loading a default setup; as an extra bonus this prevents Containment::init() being called twice
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723422
2007-10-09 16:32:34 +00:00
Chani Armitage
fe0c9c5272 renamed a potentially confusing var and added some debug output
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=722749
2007-10-08 02:22:29 +00:00
Aaron J. Seigo
42b02fbfa5 let's try defaulting to the desktop containment if we end up without one (e.g. a config file mess up)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=722678
2007-10-07 21:53:47 +00:00
Andreas Pakulat
70f0a9f9be Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.

svn path=/trunk/KDE/kdelibs/; revision=721704
2007-10-05 22:21:25 +00:00
Aaron J. Seigo
0cfd584408 the Containment plugin for the default desktop will be simply called "desktop"
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=720730
2007-10-03 15:45:31 +00:00
Alex Merry
42e49a2b06 Bring back the panel. It's not perfect, but it gives basic functionality.
You may need to delete ~/.kde4/share/config/plasma-appletrc to get the panel

Reloading from the config file is a bit dodgy - waiting on a commit from aseigo
which changes background painting of applets depending on their form factor.

CCMAIL: aseigo@kde.org


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=719254
2007-09-30 18:06:08 +00:00
Alex Merry
d29805caef Make drag-n-drop applets work again.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=716003
2007-09-23 18:03:37 +00:00
Aaron J. Seigo
f0cb7e662c - add Contaiment to the build
- put applets in the center of the screen not the top left (i really wish people wouldn't commit obvious regressions like that? the code was ifdef 0'd out!)
- create a Containment per-screen (in the xinerama sense)
- new loading/saving code; not overly comfortable with it yet but it works and maintains the single-pass semantics as well as the option for us to delay calling init() if we decide to do so in the future
- misc fixes here and there

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714175
2007-09-18 21:25:15 +00:00
Aaron J. Seigo
e0f831373c SVN_SILENT: add "or later" clause. cleared with copyright holders, except for rich moore's ui loader which i need to ask him for permission for first.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712549
2007-09-14 19:06:18 +00:00
Aaron J. Seigo
0fc83b6e76 prevent crashing on exit; layout must not be deleted before the applets which are managed by it.
this is a brittleness in the layout system that really needs to be addressed (and i added a comment and some debug output about this in LayoutItem)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712164
2007-09-13 19:47:14 +00:00
Aaron J. Seigo
45fe956407 --warnings
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712135
2007-09-13 18:50:15 +00:00
Aaron J. Seigo
fc4b474f5c call init() on the applets after they are added to the scene ... do it all at once in the case of loading applets en mass
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712120
2007-09-13 17:03:13 +00:00
Robert Knight
26d4a28aad Use FreeLayout as the Corona's layout in the Planar form factor (vs. BoxLayout in the Horizontal or Vertical form factors)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712086
2007-09-13 14:59:29 +00:00
Robert Knight
a29ae57a7d This breaks the existing Plasma applet API, see the contentSize()
comments below.

* New Flow Layout.  This provides simple icon view-esque layout of items.
  Useful for icons for documents , applications or other tasks on the desktop
  for example.  Supports non-equally sized items.

  Works well when used with the LayoutAnimator class to animate insertions
  and removals.

* Re-wrote BoxLayout and removed old HBoxLayout,VBoxLayout classes which had
  a lot of code duplication.  BoxLayout class now takes a direction argument
  in the constructor, ala. QBoxLayout.  New BoxLayout class actually takes
  minimumSize() , maximumSize() of items into account.  The Qt layout code
  for box and grid layouts is surprisingly sophisticated, so the results
  from BoxLayout probably will not be as good in certain situations but
  it should do for the panel.  New BoxLayout also has support for LayoutAnimator

* Fix Plasma::HBoxLayout and Plasma::VBoxLayout to use margin() 
  rather than spacing() for the distance from the top and left
  margins respectively.

* Fix Plasma::Applet::contentSize() to return the actual content size
  rather than a size hint.  Added a new method contentSizeHint() which
  applets use to provide a hint about suitable content size.  

  Existing implementations of contentSize() in applets need to be renamed
  to contentSizeHint().  The arguments and return type are the same as before.

* Install the LayoutAnimator header so that applets can use it

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707275
2007-09-01 12:34:22 +00:00
Aaron J. Seigo
243f835253 a micropatch i had sitting on the laptop
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706359
2007-08-30 04:33:12 +00:00
Aaron J. Seigo
559647f5cc make Applet use the newer plugin loading mechanisms
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705972
2007-08-29 02:33:22 +00:00
Friedrich W. H. Kossebau
cee77d79d9 help plasmoids getting all their events
* until dragLeaveEvent gets special treatment do the default
* drop events over items should(?) only be handled by those



svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=700652
2007-08-16 05:32:54 +00:00
Leo Franchi
c89bd8f0bf add clearApplets() method to Corona, as discussed on panel-devel.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=698001
2007-08-08 17:32:32 +00:00
Aaron J. Seigo
db4a7ebe61 copyright cleanups:
* Copyright (C) -> Copyright
* add "or later" clause to files that i have the sole copyright on
* add current year (2007) to my copyrights where it was missing

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696946
2007-08-06 11:20:02 +00:00
Aaron J. Seigo
61b1dccc3d don't load from plasma-appletsrc by default, provide a convenience
method for that however (e.g. mirror the saveApplets methods)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696806
2007-08-05 22:44:07 +00:00
Aaron J. Seigo
05d103abfa * position applets due to drops properly
* if we get a matching mimetype, create that applet (not that applet + a
  button too ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696783
2007-08-05 22:04:26 +00:00
Aaron J. Seigo
b41bd5f532 * loading and saving of applets; allows one to define which config file,
which keeps us on the path to being able to snapshot and share layouts
* extend addApplet with optional params for applet id and starting geometry

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696631
2007-08-05 13:03:54 +00:00
Aaron J. Seigo
21c804908e * add an updateConstraints to be used to do things globally that need to
prefix or suffix constraintsUpdated, e.g. manage the shadow
* add experimental support for dynamic shadow, based on a patch by
  zrusin; still issues to be addressed but it gives us the start of a
  layer-based means to do effects

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696561
2007-08-05 08:41:55 +00:00
Laurent Montel
e6988faf49 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695877
2007-08-03 06:59:24 +00:00
Robert Knight
8c9f82bd4a Reduce debugging noise when performing drag-and-drop.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695805
2007-08-03 00:13:33 +00:00
Aaron J. Seigo
ac918ad4bf kdebug fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695587
2007-08-02 13:12:59 +00:00
Robert Knight
398d39948e Call base implementations of dragMoveEvent() and dropEvent() so that individual QGraphicsItems within the scene can use drag and drop.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695014
2007-08-01 07:09:27 +00:00
Riccardo Iaconelli
5aaccf0489 The applets now can associate with (one or more) certain mimetypes, and be called when that mime is dragged onto the desktop. Very rudimental for the moment, we should pass the name of the file to the applet. Added some copyrights I missed in the past.
Aaron: your turn now to discover the 'Mimetypes' key problem.
CCMAIL: aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694676
2007-07-31 10:52:05 +00:00
Alex Merry
b2058da41f fix the drag-and-drop positioning
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692602
2007-07-25 23:58:03 +00:00
Aaron J. Seigo
0491b8b112 immutable -> isImmutable.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691135
2007-07-23 00:24:36 +00:00
Aaron Eisenberg
f4d7105ebf Center new applets in the middle of the screen
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689381
2007-07-18 06:18:47 +00:00
Leo Franchi
f4ca9c1aca add mimetype flexibility, by storing it in a variable with getters/setters, as discussed with asiego on panel-devel
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689194
2007-07-17 21:13:41 +00:00
Aaron J. Seigo
acbfadae12 move the desktop context menu out of corona. this reflects the design better where different views may want different menus; the dekstop menu only being appropriate for, well, the desktop; other apps may be using Corona for which "desktop" is completely irrelevant.
this also moves the desktop related items out of libplasma, making it a bit more light.

functionality has moved into CoronaView, which will soon be renamed

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689123
2007-07-17 17:55:05 +00:00
Aaron J. Seigo
5151879373 add run command to the desktop context menu
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689104
2007-07-17 16:55:27 +00:00
Aaron J. Seigo
843ab6a69f * addPlasmoid -> addApplet
* pop up a failure applet when that happens...

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=687030
2007-07-12 18:37:13 +00:00
Aaron J. Seigo
5496acb8e9 configureDialog -> showConfigurationInterface
more explicit as to what it does and falls in line with
setHasConfigurationInterface

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=682296
2007-07-02 10:58:03 +00:00
Aaron J. Seigo
8e6578bf18 allow applets to note whether or not they provide a configure interface
and pay attention to that when creating the context menu

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=682287
2007-07-02 10:47:34 +00:00
Robert Knight
6558b376af Simpler menu text. The exact choice of word for the options dialog is something that can be discussed at Akademy. Remove untranslated menu title.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=681121
2007-06-27 23:48:09 +00:00
Aaron J. Seigo
49f9cd42f8 adapt to new Phase API
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679872
2007-06-25 06:02:33 +00:00
Aaron J. Seigo
12a1706eb0 i don't like const
and const don't like me
so i offer you
    this apology:

i promise to try
    to remember the friend
who prevents us from mucking
    things up in the end

all hail const!
my poetry sucks!
the end. <3

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679514
2007-06-24 06:35:49 +00:00
Aaron J. Seigo
3fd8500159 isImmutable -> immutable
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679063
2007-06-22 22:07:13 +00:00
Aaron J. Seigo
bac0859be5 ok, now any right click on an applet gets the applet right click menu.
obviously this is fairly broken as now applets can't provide right click menus for anything. i have some thoughts on how to fix this but need to consider it more.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=678566
2007-06-21 18:25:09 +00:00
Aaron J. Seigo
fb8d5d353f * take an optional list of arguments to passs into applets
* create button applets not icon widgets on drop

honestly, not sure i like the qstringlist of argument approach, but that's what klibloader gives me

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=677941
2007-06-20 08:11:59 +00:00
Aaron J. Seigo
fab8953ccb * provide a Phase singleton
* use it in Corona

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=676831
2007-06-17 20:05:43 +00:00
Riccardo Iaconelli
7a70eac7fe Much nicer icons.
Implemented the concept for icons from David Vignoni (screencast coming...).
Context menu now shows "Plasma".

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=676455
2007-06-16 22:35:31 +00:00
Aaron J. Seigo
bbea8b07a0 also check to see if kurl knows about this stuff
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=675295
2007-06-13 22:11:49 +00:00
Aaron J. Seigo
3b8fc737e4 * add a Phase object to the corona; start using it.
TODO:
* use all the Phase transitions properly; this implies reworking the remove applet mechanism completely
* consider sharing Phase amongst all Coronas? should it be a singleton?

svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=673395
2007-06-10 06:24:42 +00:00
Aaron J. Seigo
10c7d681e9 i stand upon the shoulders of davids
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672772
2007-06-08 05:25:49 +00:00
Aaron J. Seigo
58277a7608 plug a bunch of memory leaks
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672687
2007-06-07 20:57:18 +00:00
Aaron J. Seigo
80866f4a99 do the locking a bit more intelligently; soon we'll need to have id's for the coronas so we can save/restore settings
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672656
2007-06-07 19:40:16 +00:00
Siraj Razick
cd701724cb icon apears on the droped pos not topleft coner
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672121
2007-06-06 06:09:42 +00:00
Aaron J. Seigo
83eed9ccd4 * build
* use KUrl::List

svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672119
2007-06-06 05:12:51 +00:00
Siraj Razick
de1a88b056 drop icons to desktop support : experimental
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=672031
2007-06-06 03:25:04 +00:00
Riccardo Iaconelli
fddaf2dcf2 * Show the plasmoid name on the contextual menu.
* Applet => Plasmoid, still in the contextual menu

svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=671913
2007-06-05 19:31:48 +00:00
Aaron Eisenberg
8674306992 Added the ability to lock all Applets and the Desktop.
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=671176
2007-06-04 00:25:44 +00:00
Aaron J. Seigo
80fae8f7a3 use krun instead of qprocess and make sure that we don't block our own process. you can see this happen in the second screencast, actually, and it's really lame ;)
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=671108
2007-06-03 19:59:24 +00:00
Aaron J. Seigo
3471f8e078 remove the applet from the applets list in the corona on destruction
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670628
2007-06-02 07:51:11 +00:00
Aaron Eisenberg
59641c640e Added the ability to close widgets though the right mouse button menu.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670621
2007-06-02 07:30:16 +00:00
Aaron J. Seigo
df56575ef4 add the ability to get at the max size hint constraint
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670578
2007-06-02 04:47:09 +00:00
Aaron J. Seigo
5cd8761ab2 form factor changing
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670545
2007-06-01 22:59:58 +00:00
Aaron J. Seigo
3ccb56568f move the icon demo to RootWidget so we have all our demos there =)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670534
2007-06-01 22:10:12 +00:00
Alexander Wiedenbruch
0de27801c9 Add KarambaManager for easier loading of SuperKaramba themes
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670527
2007-06-01 21:32:03 +00:00
Aaron J. Seigo
7212ae5b5f applets are no aware of their constraints. the simple solution is often the best one.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670285
2007-05-31 22:40:38 +00:00
Aaron J. Seigo
2c5f8a75bf move Corona to libplasma where others can enjoy it and where we can use it from Applet
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=670279
2007-05-31 22:27:33 +00:00