Projects/Plasma/Tokamak1: Difference between revisions

From KDE TechBase
No edit summary
No edit summary
Line 60: Line 60:


=== Plasma::Applet ===
=== Plasma::Applet ===
* inherits QGraphicsWidget
* init()->protecgted+Corona::loadLayout() is friend
* config() methods->protected
* 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()+setAspectRaioMode()->merge using our own aspect ratio mode enun
* knownApplets()->listAppletInfo()
-------------forMimetype()->listAppletInfoForMimetype()
* knownCategories()->listCategories()
Note:  known*()->list*()
* because of load(), ctors->protected
* category()+name()+pluginName() dies->replaced by pluginInfo()
  <!> plugInfo() should return a hand-made kPlungInfo if id->appletDescription isValid()
* color() die! die! die!
* isKioskmmutable()->pimpl
* (set)DrawStandardBackground()->(is|set)StandardBackgroundEnabled()
* failedtoLaunch()->hasfailedToLaunch()
* setFailedToLaunch()->protected
* (set)configNeeded()->(is|set)ConfigurationRequired()+set  protected
* hasCofigurationIntergace()-comst
* setHasConfigurationInterface()->protected
* contextActions()->comst+comtextualActions()
* 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 ===
=== Plasma::Containments ===


=== Plasma::DataEngine ===
=== Plasma::DataEngine ===
* SourceDict->ContainerDict
* engineName()->name()+add protected setName()
* connectSource()->update Interval->polling Interval
* connectAllSources()->update Interval->polling Interval
* ref()/deref()/isUsed()->private
* setIcon()->protected
* newSource()->soruceAdded()
* sourceRequested()->sourceReqeustEvent()
* updateSource()->updatedSourceEvent()
* setData() SHALL NOT remove source (fix APIDOX)
* clearData()->removeAllData()
* setSoruceLimit()-> DIE DIE DIE!
* ClearSoruces()->removeAllSources()
* sourceDict()->containerDict()
* checkForUpdates()->scheduleSourcesUpdated()
* internalUpdateSource()->Q_PRIVATE_SLOT


=== Plasma::DataEngineManager ===
=== Plasma::DataEngineManager ===
* ctor+dtor private
* knownEngines()->listAllEngines()
* get()->engine()
* (un)load()->(un)loadEngine()


=== Plasma::DataContainer ===
=== Plasma::DataContainer ===
Line 147: Line 74:


=== Plasma::SearchContext ===
=== Plasma::SearchContext ===
=== 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 ===
=== Plasma::GlApplet ===
Line 162: Line 112:


=== Plasma::AppletBrowserWidget ===
=== Plasma::AppletBrowserWidget ===
* remove containment from constructor
* protected slots -> Q_PRIVATE_SLOTS
* private methods -> pimpl


=== Plasma::AppletBrowser ===
=== Plasma::AppletBrowser ===
* remove containment from constructor
NOTE : AppletBrowser and AppletBrowserWidget should be in different .h


=== Plasma::PackageMetadata ===
=== Plasma::PackageMetadata ===

Revision as of 18:59, 15 April 2008

API Reviews

Plasma::Theme

  • self() -> default()
  • 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
  • isKisoskImmultabel -> protected
  • 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 up with id + delayedFlag (private) without(private)??
  • 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 done
  • Create a tooltip manager

Plasma::Svg

  • ContentType -> kill change methods using it to take bool and change their names to containsMultiplesImages
  • elementRect -> return a QRectF
  • elementExists -> hasElement
  • matrixForElement -> private
  • size -> group with resize
  • move private slots to a pimple

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

Plasma::Containments

Plasma::DataEngine

Plasma::DataEngineManager

Plasma::DataContainer

Plasma::View

Plasma::AbstractRunner

Plasma::SearchContext

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::Dialog

  • 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