diff --git a/CMakeLists.txt b/CMakeLists.txt index 294d0e7f4..c5230dcbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,7 +199,6 @@ set(plasma_LIB_SRCS #TODO: all those files will have to be deleted # set (plasmaqgv_LIB_SRCS -# abstracttoolbox.cpp # dialog.cpp # view.cpp # private/themedwidgetinterface.cpp @@ -265,7 +264,6 @@ generate_export_header(plasma) set(plasma_LIB_INCLUDES abstractdialogmanager.h abstractrunner.h - abstracttoolbox.h applet.h configloader.h containment.h @@ -329,7 +327,6 @@ install(FILES data/servicetypes/plasma-runner.desktop data/servicetypes/plasma-scriptengine.desktop data/servicetypes/plasma-service.desktop - data/servicetypes/plasma-toolbox.desktop data/servicetypes/plasma-wallpaper.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR}) diff --git a/abstracttoolbox.cpp b/abstracttoolbox.cpp deleted file mode 100644 index a51b81417..000000000 --- a/abstracttoolbox.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 2008 by Marco Martin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#include "abstracttoolbox.h" - -#include - -#include "containment.h" - -#include - -namespace Plasma -{ - -class AbstractToolBoxPrivate -{ -public: - AbstractToolBoxPrivate(Containment *c) - : containment(c) - {} - - Containment *containment; -}; - -AbstractToolBox::AbstractToolBox(Containment *parent) - : QGraphicsWidget(parent), - d(new AbstractToolBoxPrivate(parent)) -{ -} - -AbstractToolBox::AbstractToolBox(QObject *parent, const QVariantList & /*args*/) - : QGraphicsWidget(dynamic_cast(parent)), - d(new AbstractToolBoxPrivate(qobject_cast(parent))) -{ - if (!parentItem()) { - setParent(parent); - } -} - -AbstractToolBox::~AbstractToolBox() -{ - delete d; -} - -AbstractToolBox *AbstractToolBox::load(const QString &name, const QVariantList &args, Plasma::Containment *containment) -{ - const QString constraint = name.isEmpty() ? QString() : QString("[X-KDE-PluginInfo-Name] == '%1'").arg(name); - KService::List offers = KServiceTypeTrader::self()->query("Plasma/ToolBox", constraint); - - if (!offers.isEmpty()) { - KService::Ptr offer = offers.first(); - - KPluginLoader plugin(*offer); - if (Plasma::isPluginVersionCompatible(plugin.pluginVersion())) { - return offer->createInstance(containment, args); - } - } - - return 0; -} - -KPluginInfo::List AbstractToolBox::listToolBoxInfo(const QString - &parentApp) -{ - KPluginInfo::List list; - - if (parentApp.isEmpty() || parentApp == QCoreApplication::instance()->applicationName()) { - list = KPluginInfo::List(); - } - - QString constraint; - if (parentApp.isEmpty()) { - constraint.append("not exist [X-KDE-ParentApp]"); - } else { - constraint.append("[X-KDE-ParentApp] == '").append(parentApp).append("'"); - } - - KService::List offers = KServiceTypeTrader::self()->query("Plasma/ToolBox", constraint); - return list + KPluginInfo::fromServices(offers); -} - -Containment *AbstractToolBox::containment() const -{ - return d->containment; -} - -void AbstractToolBox::restore(const KConfigGroup &group) -{ - Q_UNUSED(group) -} - -void AbstractToolBox::save(const KConfigGroup &group) -{ - Q_UNUSED(group) -} - -void AbstractToolBox::reposition() -{} - -} // plasma namespace - - - -#include "moc_abstracttoolbox.cpp" diff --git a/abstracttoolbox.h b/abstracttoolbox.h deleted file mode 100644 index 277c17a64..000000000 --- a/abstracttoolbox.h +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright 2008 by Marco Martin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifndef PLASMA_ABSTRACTTOOLBOX_H -#define PLASMA_ABSTRACTTOOLBOX_H - -#include -#include - -#include - -#include "plasma/plasma_export.h" - -class QAction; - -class KConfigGroup; - -namespace Plasma -{ - -class AbstractToolBoxPrivate; -class Containment; - -class PLASMA_EXPORT AbstractToolBox : public QGraphicsWidget -{ - Q_OBJECT - Q_INTERFACES(QGraphicsItem) - Q_PROPERTY(bool showing READ isShowing WRITE setShowing) - -public: - enum ToolType { - AddTool = 0, - ConfigureTool = 100, - ControlTool = 200, - MiscTool = 300, - DestructiveTool = 400, - UserToolType = DestructiveTool + 1000 - }; - Q_ENUMS(ToolType) - - explicit AbstractToolBox(Containment *parent); - explicit AbstractToolBox(QObject *parent = 0, - const QVariantList &args = QVariantList()); - ~AbstractToolBox(); - - /** - * Create a new AbstractToolBox, loading the proper plugin - * @param name the plugin name - * @param args the plugin arguments - * @param containment the containment parent of the toolbox - * @since 4.6 - */ - static AbstractToolBox *load(const QString &name, const QVariantList &args=QVariantList(), Plasma::Containment *containment=0); - - /** - * Returns a list of all installed ToolBox plugins - * - * @param parentApp the application to filter applets on. Uses the - * X-KDE-ParentApp entry (if any) in the plugin info. - * The default value of QString() will result in a - * list containing only applets not specifically - * registered to an application. - * - * @since 4.6 - */ - static KPluginInfo::List listToolBoxInfo(const QString &parentApp = QString()); - - /** - * create a toolbox tool from the given action - * @p action the action to associate the tool with - */ - virtual void addTool(QAction *action) = 0; - - /** - * remove the tool associated with this action - */ - virtual void removeTool(QAction *action) = 0; - - /** - * @return true if the ToolBox is open and shown the actions list - */ - virtual bool isShowing() const = 0; - - /** - * Opens or closes the ToolBox - */ - virtual void setShowing(const bool show) = 0; - - /** - * Restore the ToolBox settings - * It has to be reimplemented in toolboxes that need it - * @since 4.6 - */ - virtual void restore(const KConfigGroup &group); - - /** - * Save the ToolBox settings - * It has to be reimplemented in toolboxes that need it - * @since 4.6 - */ - virtual void save(const KConfigGroup &group); - - /** - * Inform the ToolBox it has to reposition itlself - * It has to be reimplemented in toolboxes that need it - * @since 4.6 - */ - virtual void reposition(); - -Q_SIGNALS: - /** - * Toolbox opened or closed - */ - void toggled(); - - /** - * Toolbox opened or closed - * @param open tells if the toolbox opened or closed - */ - void visibilityChanged(bool open); - -protected: - Containment *containment() const; - -private: - AbstractToolBoxPrivate * const d; - -}; - -} // Plasma namespace - -/** - * Register an applet when it is contained in a loadable module - */ -#define K_EXPORT_PLASMA_TOOLBOX(libname, classname) \ -K_PLUGIN_FACTORY(factory, registerPlugin();) \ -K_EXPORT_PLUGIN(factory("plasma_toolbox_" #libname)) \ -K_EXPORT_PLUGIN_VERSION(PLASMA_VERSION) - -#endif // multiple inclusion guard -