Projects/Plasma/Tokamak1: Difference between revisions
< Projects
Line 84: | Line 84: | ||
* <s>because of load(), ctors->protected</s> | * <s>because of load(), ctors->protected</s> | ||
Note: containment wants to construct an Applet directly when creates | |||
the one with the failed to launch error message, but even if it's | |||
friend of applet it does that in the dptr, and this somewhere compiles | |||
somewhere not, generally not good. | |||
* category()+name()+pluginName() dies->replaced by pluginInfo() | * category()+name()+pluginName() dies->replaced by pluginInfo() | ||
<!> pluginInfo() should return a hand-made KPluginInfo if id->appletDescription isValid() | <!> pluginInfo() should return a hand-made KPluginInfo if id->appletDescription isValid() |
Revision as of 20:55, 26 April 2008
API Reviews
Plasma::Theme
self() -> default() :NOTE: default is a C++ keyword, defaultTheme() perhaps?set application dies, use KGlobal insteadimplementation note: Theme::Private::config() shouldn't open config everytimeimage() -> imagePath()colors() -> KColorScheme colorScheme()color methods -> color(ColorRole) (enum)font methods -> font(RontRole) (enum)compositingActive -> windowTranslucencyEnabled (out of place?)changed() -> themeChanged()slots -> Q_PRIVATE_SLOT
Plasma::Corona (Marco Martin)
Remove constructor with size parametersRemove isKioskImmutable() -> protectedisImmutable() setIsImmutable() and isKioskImmutable() became immutability() and setImmutability()remove maxSizeHintloadDefaultSetup protected and loadDefaultLayoutclearApplets -> clearContainments- config -> private Note : config protected in containments and applets
Note: remaining public for now applet needs it for Applet::globalConfig()
load/save applets -> load/save Layouts- scheduleConfigSync -> private
addContainment not a slot ->splitaddContainment(id, delayedFlag) [private]addContainment() [public]
- containmentFor screen -> Not slot move to plasmaapp
Note: it belongs to DesktopCorona instead
containments() not a slotlaunchActivated -> to plasmaapp- screenOwnerChanged -> to plasmaapp
Note: it's not really desktop specific, so will stay here
protected slots -> private
Terminology : layouts = Applets + containments organization
Plasma::Widget
deletion- Create a tooltip manager
Plasma::Svg
ContentType -> kill change methods using it to take bool and change their names to containsMultiplesImages (hmm actually not understood what this means :D)elementRect -> return a QRectFelementExists -> hasElementmatrixForElement -> privatesize -> group with resizemove private slots to a pimpl
Plasma::PanelSvg
should inherits of Plasma::SvgdrawXborder -> XbordercontentAtOrigin -> separate bool propertySvgPanel(path,parent) -> SvgPanel(parent)setFile + file() -> setImagePath + imagePath() NOTE : same modification in svg and theme classessetBorderFlags + borderFlags() -> setEnabledBorders + enabledBordersadd resize(x,y)setPrefix ->setElementsPrefixupdateSizes() -> Q_PRIVATE_SLOTpos + setPos died -> pos added to paintsetLocation() -> setElementPrefix(enum)location() -> died
Plasma::Applet
inherits QGraphicsWidgetinit()->protecgted+Corona::loadLayout() is friend- (NOTE: config will remain public)
config() methods->protected. - (NOTE: globalConfig will remain public)
globalConfig()->protected
Note: It has been decided the above two functions will remain public because if an applet uses an external QWidget it will have to access the configuration of the applet
- configXml()->KConfigSkeletonconfigScheme()
- constraintUpdated()->constraintEvent()+protected
Note: check again corona for events like methods
- formFactors()->non virtual + get the containment impl there
==>Plasma::Containment::Private inherits Plasma::Applet::Private
- location-> Plasma::Containment::Private
- remainSquare()+setAspectRatioMode()->merge using our own aspect ratio mode enun
knownApplets()->listAppletInfo()knownAppletsForMimetype()->listAppletInfoForMimeType()knownCategories()->listCategories()
Note: known*()->list*()
because of load(), ctors->protected
Note: containment wants to construct an Applet directly when creates the one with the failed to launch error message, but even if it's friend of applet it does that in the dptr, and this somewhere compiles somewhere not, generally not good.
- category()+name()+pluginName() dies->replaced by pluginInfo()
<!> pluginInfo() should return a hand-made KPluginInfo if id->appletDescription isValid()
- color() die! die! die!
isKioskmmutable()->pimplisImmutable() setIsImmutable() and isKioskImmutable() became immutability() and setImmutability()- (set)DrawStandardBackground()->(is|set)StandardBackgroundEnabled()
failedtoLaunch()->hasfailedToLaunch()setFailedToLaunch()->protected- (set)configNeeded()->(is|set)ConfigurationRequired()+set protected
hasCofigurationInterface()-> constsetHasConfigurationInterface()->protected- contextActions()->const+contextualActions()
Note: some things e.g. desktopcontainment caches the contextual actions in their class params, so can't be const, 3 options:
- leaving non const
- not use caching
- pimpl-ify
kill *StandardBackground()+*ShadowShown()
->enum BackgroundHint {NoBackground=0, StandardBackground, ShadowedBackground} +QFlag
protected setBackgroundHints() + public backgroundHings() const
Note: being protected AppletScript can't change it anymore: AppletScript friend of Applet?
set(is)containment()->set(ActsAs)Containment()+setter is protectedraise()->slot+addlower()- shape() dies
- resetConfigurationObject()->pimpl
- *Opacity() dies
- requestFocus() dies
- showConfigurationInterface()->nonvirtual
- createconfigurationInterface()->virtual protected, not slot
Flush UpdatedConstraints()->Flush PendingCostraintEvents()
Note: constraintEvents or constraintsEvents? whiteboard it's not very readable
- launchActivated()->protected, releaseVisualFocus()
- ThemeChanged()->Q_PRIVATE_SLOT
- globalName(), instanceName()->pimpl
- watchForFocus()->dies
- watchForMouseMove()->registerDragHandles()
- needFocus()->dies
- topLeft()->dies
- checkImmutability()->Q_PRIVATE_SLOT
Plasma::Containments(aseigo)
StyleOption::desktop diesList, Dict diesCustomContainment = 127setContainmentType() -> protectedsetIsContainment() -> dies (meat in applet)- formfactor() & location() in Applet
- setFormFactor() & setLocation() in Containment
known...() -> list...()addApplet() -> splitaddApplet(name, args, point, size) [public]addApplet(name, args, point, size, id, delayedinit) [private]
indexAt() dies, add QPointF to appletAdded()- setScreen() & screen() & effectiveScreenPos() -> die
(save|load)Constraints() -> pimplemitLaunchActivated() -> see Applet, maybe not public- addToolBoxTool() -> addToolBoxAction(action)
- add removeToolBoxAction(action)
containmentConstraingUpdated() -> pimpladd setToolBoxExpanded(bool) slot(show|hide)ToolBox() -> (expand|unexpand)ToolBox()launchActivated() -> see AppletzoomIn() & zoomOut() signals -> zoomRequested(containment, direction enum)showAddWidgets() -> showAddWidgetsInterface(QPointF)screenChanged() -> dies (move to plasma app ScreenManager)toggleDesktopImmutability() -> Q_PRIVATE_SLOTzoomIn() -> Q_PRIVATE_SLOT- createLayout() -> dies
protected slots (except dropEvent()) & private slots & methods ->pimpl & Q_PRIVATE_SLOT
Plasma::DataEngine
sourceDict() -> containerDict()engineName() -> name() + add protected setName()connectSource() -> updateInterval -> pollingIntervalconnectAllSources() -> updateInterval -> pollingIntervalref() & deref() & isUsed() -> privatesetIcon() -> protectednewSource -> sourceAdded()sourceRequested -> sourceRequestEvent()updateSource() -> updateSourceEvent()- setData() -> SHALL NOT remove source (fix APIDOX)
clearData() -> removeAllData()setSourceLimit() -> DIE! DIE! DIE!clearSources() -> removeAllSources()checkForUpdates() -> scheduleSourcesUpdated()- internalUpdateSource() -> Q_PRIVATE_SLOT
Plasma::DataEngineManager
ctor+dtor privateknownEngines()->listAllEngines()get()->engine()(un)load()->(un)loadEngine()
Plasma::DataContainer
clearData()->removeAllData()checkForUpdate()->protectedint timeSinceLastUpdate()->protected+return uinthasUpdates()->pimplsetNeedsUpdate()->pimplcheckUsage()->pimplconnectVisualization()->not slot- unused()->becameUnused() DONE but move to pimpl?
- requestUpdate()->updateRequested() DONE but move to pimpl?
Plasma::View
(Rob Scheepmaker (pinda))
(set)DrawWallpaper() -> (set|is)WallpaperEnabled()- (set)Screen() -> plasma app
- (set)Desktop() -> plasma app
- effectiveDesktop -> plasma app
config() -> protectedupdateSceneRect() -> Q_PRIVATE_SLOTinitGraphicsView() -> pimpl
Plasma::AbstractRunner (bettio)
SlowSpeed before NormalSpeedload() -> loadAll()+ load() no = QString() for whitelistctors -> protectedconfg() -> protected- match() -> protected
(set)hasMatchOptions() -> (set)hasRunOptions()-> (set)hasExecOptions()? (proposed by bettio)createMatchOptions() -> createRunOptions()-> createExecOptions()? (proposed by bettio)runnerName() -> name()- init() -> Q_PRIVATE_SLOT
Plasma::SearchContext
- switch to value based for matches too
- matchesChanged() emitted from performMatch()
resetSearchTerm(QString) -> reset()mimetype() -> mimeType()addMatchesTo() -> copyMatchesTo() (copy -> move)- determineType() -> pimpl
clearMatches() -> removeAllMatches()
Plasma::Phase -> Plasma::AnimationController
Animation merges with ElementAnimation -> AppearAnimation,DisappearAnimation,ActivateAnimationSlideInMovement,SlideOutMovement,FastSlideInMovement, FastSlideOutMovementAnimId dies -> use int- constructor + destructor private
- animateItem, moveItem return int
- add stopItemAnimation(int)
animationCompleted() -> animationFinished()same for others signal- protected slots -> Q_PRIVATE_SLOT
- init -> pimpl
setAnimationPixmap -> setInitialPixmapanimationResult() -> currentPixmap
Plasma::Animator
FramesPerSeconds -> animationFramesPerSeconds, elementAnimationFramesPerSeconds,movementAnimationFramesPerSecondssame for duration and curveappear -> itemAppeardisappear -> itemDisappearactivate -> itemActivatedslide -> itemSlideelementX -> should use progress, not frame
Plasma::GlApplet
- makeCurrent -> pimpl
Plasma::Delegate
(Marco Martin)
- *columnType* -> device notifier
ctor should have parent param- constants + protected non virtual -> pimpl
The protected methods are needed only by subclasses to know where to paint so they are still needed
setRole()->setRoleMapping(QMap) + add roleMapping() getter- fixme: copy rhs of whiteboard (missing)
Plasma::Dialog
(Ménard Alexis)
themeUpdated -> Q_PRIVATE_SLOT
Plasma::AppletBrowserWidget
- remove containment from constructor
- protected slots -> Q_PRIVATE_SLOTS
- private methods -> pimpl
Plasma::AppletBrowser
- remove containment from constructor
NOTE : AppletBrowser and AppletBrowserWidget should be in different .h
Plasma::PackageMetadata(josebur)
isComplete -> isValidwrite() -> remove icon parameter
Plasma::PackageStructure(josebur)
- must not inherits of QObject
- QList<char *> -> QStringList
- const char * -> QString
required -> isRequired()- (set)(Default)Mimetypes -> (set)(Default)Mimetypes ??
- uninstallPackage -> packageName instead of param package
- pathChanged -> died
- Xtypes() -> XFormat()
Plasma::Package(josebur)
- const char * -> QString
- knownPackages -> listInstalled
- installPackage -> install
- registerPackage -> register
- createPackage -> create
- Missing uninstall
Plasma::ScriptEngine
- contructor -> protected
- protected slots -> not slots
- knowLanguages -> getScriptApis() ??
- loadScriptEngine() -> language param become a scriptAPI
- add version number to loading
Plasma::AppletScript
contentSizeHint -> died- constraintsUpdated -> constraintsEvent
contextActions -> contextualActions- change the K_EXPORT stuff to support several plugins by lib
Plasma::RunnerScript
- change to new runner API
- protected slots -> not slots
Plasma::DataEngineScript
Change to new API
Introduction Hotpoint List
- Get QScript script bindings loading
- QScript Runners
- Cool scripting demo
- Webkit
- Default set of components for 4.1
- Clock applet library (and how to do that for other categories of applets)
- Improve existing applets
- Write new applets and engines
- Panel and panel config saner/pretification
- Kickoff UI
- Applet handles
- WoC
- Video in plasma
- Extenders
- System tray applet
- Keyboard shortcuts
- Plasma::Service
- Usability review
- Documentation
- Runtime
- Dev
- User
- Top level window physics
- Plasmoid grouping
- Plasma configuration UI
- Devices
- API review
- Generic webservice support
- Theming
- KIcon issues
- tooltip love (flickering, hiding..)
- krunner looks
- lock desktop work properly
- use createConfigurationInterface
- panel toolbox
- panel hiding
- twitter improvements
- Phase::Animator
- theme installation from files