Projects/Plasma/Tokamak1

    From KDE TechBase
    The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

    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

    • 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
    • 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
    • containments() not a slot
    • launch activated -> to plasmaapp
    • screenOwnerChanged -> to plasmaapp
    • 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
    • config() methods->protected. Kickoff uses the applet config to save/write the config from the kickoff window that is not the applet, an evil function for instance is QSize Launcher::sizeHint() const, how should it change?
    • globalConfig()->protected
    • 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()
    • kill *StandardBackground()+*ShadowShown()
     ->enum BackgroundHint {NoBackground=0, StandardBackground, ShadowedBackground}
      +QFlag
    

    protected setBackgroundHints() + public backgroundHings() const

    • 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
    • proected 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

    • SlowSpeed before NormalSpeed
    • load() -> loadAll() + load() no = QString() for whitelist
    • ctors -> protected
    • confg() -> protected
    • match() -> protected
    • (set)hasMatchOptions() -> (set)hasRunOptions()
    • createMatchOptions() -> createRunOptions()
    • 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
    • Dialog
      • themeUpdated()-> Q_PRIVATE_SLOT
    • Delegate
      • *columnType* -> device notifier
      • ctor should have parent param
      • constants + protected non virtual -> pimpl
      • setRole()->setRoleMapping(QMap) + add roleMapping() getter
      • fixme: copy rhs of whiteboard (missing)

    Plasma::Dialog

    (Ménard Alexis)

    • themeUpdated -> Q_PRIVATE_SLOT

    Plasma::Delegate

    • *columType* -> go to device Notifier
    • constructor should have a parent parameter
    • constants + protected non virtual -> pimpl
    • setRole -> setRoleMapping(QMap)
    • roleMapping getter

    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

    • isComplete -> isValid
    • write() -> remove icon parameter

    Plasma::PackageStructure

    • 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

    • 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