[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kicker (silent)
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2004-10-25 19:58:05
Message-ID: 20041025195805.0D87616BF2 () office ! kde ! org
[Download RAW message or body]
CVS commit by aseigo:
CVS_SILENT more updates as things evolve here
M +52 -4 DESIGN 1.3
M +13 -0 TODO 1.17
--- kdebase/kicker/DESIGN #1.2:1.3
@@ -1,6 +1,54 @@
This is the start of documentation for the design of Kicker. Add as motivated.
-Files Important To Kicker That Aren't In kdebase/kicker
--------------------------------------------------------
+Contents
+--------
+1. Kicker Startup
+2. The Extension Manager
+3. The Plugin Manager
+4. Files Important To Kicker That Aren't In kdebase/kicker
+5. Top Level Directories
+
+
+
+1. Kicker Startup
+ --------------
+NOTE: This is the design which we are working towards, not the design as it
+currently is, but there's no point in documenting yesterday.
+
+The class Kicker is a subclass of KUniqueApplication and is where all the
+fun begins. It is always available via the static Kicker::kicker() method.
+Upon creation, Kicker::kicker() ensures that its resources are added to the
+standard dirs for the process. This includes tile, background and various
+plugin directories.
+
+It then creates the KMenu, which is shared by all items that provide
+access to it to keep performance up and memory usage down.
+
+ Note: The usage of this shared KMenu could use some attention
+
+Next the ExtensionManager (EM), another singleton, is created. The EM loads
+and manages all the KPanelExtension subclasses, or "panels", for Kicker. If
+on load there are no extensions loaded by the EM, then Kicker creates a
+default panel with a default setup. This default setup is based off of the
+template file <TODO: decide where to store this file and what it is called>.
+
+Kicker then checks to see if the menubar panel has been selected and if so
+sets up a panel at the top of the screen. It uses the kickermenubarrc
+file for this panel, creating it if it does not exist.
+
+The individual extensions may end up loading various applets and even other
+extensions, which they use the PluginManager (PM) and EM to do.
+
+
+3. The Extension Manager
+ ---------------------
+
+
+4. The Plugin Manager
+ ------------------
+
+
+5. Files Important To Kicker That Aren't In kdebase/kicker
+ -------------------------------------------------------
There are two important sets of kicker-related files that aren't in this
source tree. The first is the kicker configuration panels, the second are
@@ -25,6 +73,6 @@
extensively.
-Top Level Directories
----------------------
+3. Top Level Directories
+ ---------------------
applets/
The basic set of applets. Everything here subclasses from KPanelApplet found
--- kdebase/kicker/TODO #1.16:1.17
@@ -45,4 +45,17 @@
This includes not just kickerrc but the taskbarrc as well.
+
+++++ Special casing the menubar
+*** The menubar applet needs to be special cased so that it can replace
+ the legacy "MacOS-style menubar". In particular it needs to be
+ autocreated on a panel if the menubar option is set (this is in
+ kdebase/konq/desktopbehaviour*), it needs to be hidden from the
+ Add -> Applets menu and it needs to have the applet handle removed
+ from it in all cases.
+
+++++ Text labels for buttons
+** Either on mouse over or always-displayed labels. Tooltips are ugly
+ and just don't cut it.
+
++++ Refactoring manager classes
*** There are several classes that perform similar or complementary
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic