Tasks: Allow for removal of tasks from task list

Change-Id: I97c241baf323621a3fde5f60523df8c9dd9e4e97
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Tobias Hunger
2012-10-05 12:27:27 +02:00
committed by Eike Ziller
parent 3be695e1bc
commit a28f48366c
5 changed files with 116 additions and 0 deletions

View File

@@ -35,6 +35,7 @@
#include "gcctoolchainfactories.h" #include "gcctoolchainfactories.h"
#include "project.h" #include "project.h"
#include "projectexplorersettings.h" #include "projectexplorersettings.h"
#include "removetaskhandler.h"
#include "kitmanager.h" #include "kitmanager.h"
#include "kitoptionspage.h" #include "kitoptionspage.h"
#include "target.h" #include "target.h"
@@ -393,6 +394,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
addAutoReleasedObject(new CopyTaskHandler); addAutoReleasedObject(new CopyTaskHandler);
addAutoReleasedObject(new ShowInEditorTaskHandler); addAutoReleasedObject(new ShowInEditorTaskHandler);
addAutoReleasedObject(new VcsAnnotateTaskHandler); addAutoReleasedObject(new VcsAnnotateTaskHandler);
addAutoReleasedObject(new RemoveTaskHandler);
addAutoReleasedObject(new CoreListener); addAutoReleasedObject(new CoreListener);
d->m_outputPane = new AppOutputPane; d->m_outputPane = new AppOutputPane;

View File

@@ -15,6 +15,7 @@ HEADERS += projectexplorer.h \
gcctoolchain.h \ gcctoolchain.h \
projectexplorer_export.h \ projectexplorer_export.h \
projectwindow.h \ projectwindow.h \
removetaskhandler.h \
kit.h \ kit.h \
kitchooser.h \ kitchooser.h \
kitconfigwidget.h \ kitconfigwidget.h \
@@ -134,6 +135,7 @@ SOURCES += projectexplorer.cpp \
clangparser.cpp \ clangparser.cpp \
gcctoolchain.cpp \ gcctoolchain.cpp \
projectwindow.cpp \ projectwindow.cpp \
removetaskhandler.cpp \
kit.cpp \ kit.cpp \
kitchooser.cpp \ kitchooser.cpp \
kitinformation.cpp \ kitinformation.cpp \

View File

@@ -178,6 +178,8 @@ QtcPlugin {
"projectwizardpage.cpp", "projectwizardpage.cpp",
"projectwizardpage.h", "projectwizardpage.h",
"projectwizardpage.ui", "projectwizardpage.ui",
"removetaskhandler.cpp",
"removetaskhandler.h",
"runconfiguration.cpp", "runconfiguration.cpp",
"runconfiguration.h", "runconfiguration.h",
"runconfigurationmodel.cpp", "runconfigurationmodel.cpp",

View File

@@ -0,0 +1,56 @@
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: http://www.qt-project.org/
**
**
** GNU Lesser General Public License Usage
**
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this file.
** Please review the following information to ensure the GNU Lesser General
** Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** Other Usage
**
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**************************************************************************/
#include "removetaskhandler.h"
#include "projectexplorer.h"
#include "task.h"
#include "taskhub.h"
#include <coreplugin/coreconstants.h>
#include <QDir>
#include <QAction>
#include <QApplication>
#include <QClipboard>
using namespace ProjectExplorer::Internal;
void RemoveTaskHandler::handle(const ProjectExplorer::Task &task)
{
ProjectExplorerPlugin::instance()->taskHub()->removeTask(task);
}
QAction *RemoveTaskHandler::createAction(QObject *parent) const
{
QAction *removeAction = new QAction(tr("Remove", "Name of the action triggering the removetaskhandler"), parent);
removeAction->setToolTip(tr("Remove task from the task list"));
return removeAction;
}

View File

@@ -0,0 +1,54 @@
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: http://www.qt-project.org/
**
**
** GNU Lesser General Public License Usage
**
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this file.
** Please review the following information to ensure the GNU Lesser General
** Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** Other Usage
**
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**************************************************************************/
#ifndef PROJECTEXPLORER_REMOVETASKHANDLER_H
#define PROJECTEXPLORER_REMOVETASKHANDLER_H
#include "itaskhandler.h"
namespace ProjectExplorer {
namespace Internal {
class RemoveTaskHandler : public ITaskHandler
{
Q_OBJECT
public:
RemoveTaskHandler() {}
bool canHandle(const Task &) const { return true; }
void handle(const Task &task);
QAction *createAction(QObject *parent) const;
};
} // namespace Internal
} // namespace ProjectExplorer
#endif // PROJECTEXPLORER_REMOVETASKHANDLER_H