Projects/Plasma/Tokamak1
< Projects
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- 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 protected
- raise()->slot+addlower()
- shape() dies
- resetConfigurationObject()->pimpl
- *Opacity() dies
- requestFocus() dies
- showConfigurationInterface()->nonvirtual
- createconfigurationInterface()->virtual protected, not slot
- Flush UpdatedConstraints()->Flush PendingCostraintEvents()
- 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 -> isValid- write() -> 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