forked from qt-creator/qt-creator
		
	
		
			
	
	
		
			90 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			90 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
|   | /***************************************************************************
 | ||
|  | ** | ||
|  | ** This file is part of Qt Creator | ||
|  | ** | ||
|  | ** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). | ||
|  | ** | ||
|  | ** Contact:  Qt Software Information (qt-info@nokia.com) | ||
|  | ** | ||
|  | **  | ||
|  | ** Non-Open Source Usage   | ||
|  | **  | ||
|  | ** Licensees may use this file in accordance with the Qt Beta Version | ||
|  | ** License Agreement, Agreement version 2.2 provided with the Software or, | ||
|  | ** alternatively, in accordance with the terms contained in a written | ||
|  | ** agreement between you and Nokia.   | ||
|  | **  | ||
|  | ** GNU General Public License Usage  | ||
|  | **  | ||
|  | ** Alternatively, this file may be used under the terms of the GNU General | ||
|  | ** Public License versions 2.0 or 3.0 as published by the Free Software | ||
|  | ** Foundation and appearing in the file LICENSE.GPL included in the packaging | ||
|  | ** of this file.  Please review the following information to ensure GNU | ||
|  | ** General Public Licensing requirements will be met: | ||
|  | ** | ||
|  | ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
 | ||
|  | ** http://www.gnu.org/copyleft/gpl.html.
 | ||
|  | ** | ||
|  | ** In addition, as a special exception, Nokia gives you certain additional | ||
|  | ** rights. These rights are described in the Nokia Qt GPL Exception version | ||
|  | ** 1.2, included in the file GPL_EXCEPTION.txt in this package.   | ||
|  | **  | ||
|  | ***************************************************************************/ | ||
|  | #include "basevcssubmiteditorfactory.h"
 | ||
|  | #include "vcsbasesubmiteditor.h"
 | ||
|  | 
 | ||
|  | #include <coreplugin/icore.h>
 | ||
|  | #include <coreplugin/editormanager/editormanager.h>
 | ||
|  | 
 | ||
|  | namespace VCSBase { | ||
|  | 
 | ||
|  | struct BaseVCSSubmitEditorFactoryPrivate { | ||
|  |     BaseVCSSubmitEditorFactoryPrivate(const VCSBaseSubmitEditorParameters *parameters); | ||
|  | 
 | ||
|  |     const VCSBaseSubmitEditorParameters *m_parameters; | ||
|  |     const QString m_kind; | ||
|  |     const QStringList m_mimeTypes; | ||
|  | }; | ||
|  | 
 | ||
|  | BaseVCSSubmitEditorFactoryPrivate::BaseVCSSubmitEditorFactoryPrivate(const VCSBaseSubmitEditorParameters *parameters) : | ||
|  |     m_parameters(parameters), | ||
|  |     m_kind(QLatin1String(parameters->kind)), | ||
|  |     m_mimeTypes(QLatin1String(parameters->mimeType)) | ||
|  | { | ||
|  | } | ||
|  | 
 | ||
|  | BaseVCSSubmitEditorFactory::BaseVCSSubmitEditorFactory(const VCSBaseSubmitEditorParameters *parameters) : | ||
|  |     m_d(new BaseVCSSubmitEditorFactoryPrivate(parameters)) | ||
|  | { | ||
|  | } | ||
|  | 
 | ||
|  | BaseVCSSubmitEditorFactory::~BaseVCSSubmitEditorFactory() | ||
|  | { | ||
|  |     delete m_d; | ||
|  | } | ||
|  | 
 | ||
|  | Core::IEditor *BaseVCSSubmitEditorFactory::createEditor(QWidget *parent) | ||
|  | { | ||
|  |     return createBaseSubmitEditor(m_d->m_parameters, parent); | ||
|  | } | ||
|  | 
 | ||
|  | QString BaseVCSSubmitEditorFactory::kind() const | ||
|  | { | ||
|  |     return m_d->m_kind; | ||
|  | } | ||
|  | 
 | ||
|  | QStringList BaseVCSSubmitEditorFactory::mimeTypes() const | ||
|  | { | ||
|  |     return m_d->m_mimeTypes; | ||
|  | } | ||
|  | 
 | ||
|  | Core::IFile *BaseVCSSubmitEditorFactory::open(const QString &fileName) | ||
|  | { | ||
|  |     Core::ICore *core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>(); | ||
|  |     if (Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind())) | ||
|  |         return iface->file(); | ||
|  |     return 0; | ||
|  | } | ||
|  | 
 | ||
|  | } |