2
* Copyright 2013 Canonical Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License as published by
6
* the Free Software Foundation; version 2.1.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
19
#include "ubuntuprojectmanager.h"
21
#include <qmlprojectmanager/qmlprojectmanager.h>
23
using namespace Ubuntu::Internal;
25
UbuntuProjectManager::UbuntuProjectManager() {
26
ProjectExplorer::SessionManager* sessionManager = ProjectExplorer::ProjectExplorerPlugin::instance()->session();
28
connect(sessionManager,SIGNAL(projectAdded(ProjectExplorer::Project*)),SLOT(onProjectAdded(ProjectExplorer::Project*)));
31
ProjectExplorer::Project* UbuntuProjectManager::openProject(const QString &fileName, QString *errorString) {
32
QFileInfo fileInfo(fileName);
33
ProjectExplorer::ProjectExplorerPlugin *projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
35
foreach (ProjectExplorer::Project *pi, projectExplorer->session()->projects()) {
36
if (fileName == pi->document()->fileName()) {
38
*errorString = tr("Failed opening project '%1': Project already open") .arg(QDir::toNativeSeparators(fileName));
43
if (fileInfo.isFile())
44
return new UbuntuProject(this, fileName);
46
*errorString = tr("Failed opening project '%1': Project file is not a file").arg(QDir::toNativeSeparators(fileName));
50
void UbuntuProjectManager::registerProject(UbuntuProject *project) {
51
m_projects.append(project);
54
void UbuntuProjectManager::unregisterProject(UbuntuProject *project) {
55
m_projects.removeAll(project);
58
QString UbuntuProjectManager::mimeType() const {
59
return QLatin1String(Constants::UBUNTUPROJECT_MIMETYPE);
62
void UbuntuProjectManager::onProjectAdded(ProjectExplorer::Project* addedProject) {
63
qDebug() << "project added" << addedProject->displayName();
64
QString mimeType = addedProject->projectManager()->mimeType();