Projects/Plasma/Tokamak1: Difference between revisions

From KDE TechBase
(load() -> loadAll())
Line 83: Line 83:
<s>Note:  known*()->list*()</s>
<s>Note:  known*()->list*()</s>


* because of load(), ctors->protected
* <s>because of load(), ctors->protected</s>
* 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 14:26, 26 April 2008

API Reviews

Plasma::Theme

  • self() -> default()  :NOTE: default is a C++ keyword, defaultTheme() perhaps?
  • set application dies, use KGlobal instead
  • implementation note: Theme::Private::config() shouldn't open config everytime
  • image() -> 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 parameters
  • Remove isKioskImmutable() -> protected isImmutable() setIsImmutable() and isKioskImmutable() became immutability() and setImmutability()
  • remove maxSizeHint
  • loadDefaultSetup protected and loadDefaultLayout
  • clearApplets -> 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 ->split
    • addContainment(id, delayedFlag) [private]
    • addContainment() [public]
  • containmentFor screen -> Not slot move to plasmaapp
   Note: it belongs to DesktopCorona instead
  • containments() not a slot
  • launchActivated -> 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 QRectF
  • elementExists -> hasElement
  • matrixForElement -> private
  • size -> group with resize
  • move private slots to a pimpl

Plasma::PanelSvg

  • should inherits of Plasma::Svg
  • drawXborder -> Xborder
  • contentAtOrigin -> separate bool property
  • SvgPanel(path,parent) -> SvgPanel(parent)
  • setFile + file() -> setImagePath + imagePath() NOTE : same modification in svg and theme classes
  • setBorderFlags + borderFlags() -> setEnabledBorders + enabledBorders
  • add resize(x,y)
  • setPrefix ->setElementsPrefix
  • updateSizes() -> Q_PRIVATE_SLOT
  • pos + setPos died -> pos added to paint
  • setLocation() -> setElementPrefix(enum)
  • location() -> died

Plasma::Applet

  • inherits QGraphicsWidget
  • init()->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()->pimpl isImmutable() setIsImmutable() and isKioskImmutable() became immutability() and setImmutability()
  • (set)DrawStandardBackground()->(is|set)StandardBackgroundEnabled()
  • failedtoLaunch()->hasfailedToLaunch()
  • setFailedToLaunch()->protected
  • (set)configNeeded()->(is|set)ConfigurationRequired()+set protected
  • hasCofigurationInterface()-> const
  • setHasConfigurationInterface()->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 dies
  • List, Dict dies
  • CustomContainment = 127
  • setContainmentType() -> protected
  • setIsContainment() -> dies (meat in applet)
  • formfactor() & location() in Applet
  • setFormFactor() & setLocation() in Containment
  • known...() -> list...()
  • addApplet() -> split
    • addApplet(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() -> pimpl
  • emitLaunchActivated() -> see Applet, maybe not public
  • addToolBoxTool() -> addToolBoxAction(action)
  • add removeToolBoxAction(action)
  • containmentConstraingUpdated() -> pimpl
  • add setToolBoxExpanded(bool) slot
  • (show|hide)ToolBox() -> (expand|unexpand)ToolBox()
  • launchActivated() -> see Applet
  • zoomIn() & zoomOut() signals -> zoomRequested(containment, direction enum)
  • showAddWidgets() -> showAddWidgetsInterface(QPointF)
  • screenChanged() -> dies (move to plasma app ScreenManager)
  • toggleDesktopImmutability() -> Q_PRIVATE_SLOT
  • zoomIn() -> 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 -> pollingInterval
  • connectAllSources() -> updateInterval -> pollingInterval
  • ref() & deref() & isUsed() -> private
  • setIcon() -> protected
  • newSource -> 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 private
  • knownEngines()->listAllEngines()
  • get()->engine()
  • (un)load()->(un)loadEngine()

Plasma::DataContainer

  • clearData()->removeAllData()
  • checkForUpdate()->protected
  • int timeSinceLastUpdate()->protected+return uint
  • hasUpdates()->pimpl
  • setNeedsUpdate()->pimpl
  • checkUsage()->pimpl
  • connectVisualization()->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() -> protected
  • updateSceneRect() -> Q_PRIVATE_SLOT
  • initGraphicsView() -> pimpl

Plasma::AbstractRunner (bettio)

  • SlowSpeed before NormalSpeed
  • load() -> loadAll() + load() no = QString() for whitelist
  • ctors -> protected
  • confg() -> 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,ActivateAnimation
  • SlideInMovement,SlideOutMovement,FastSlideInMovement, FastSlideOutMovement
  • AnimId 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 -> setInitialPixmap
  • animationResult() -> currentPixmap

Plasma::Animator

  • FramesPerSeconds -> animationFramesPerSeconds, elementAnimationFramesPerSeconds,movementAnimationFramesPerSeconds
  • same for duration and curve
  • appear -> itemAppear
  • disappear -> itemDisappear
  • activate -> itemActivated
  • slide -> itemSlide
  • elementX -> 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