diff --git a/share/qtcreator/templates/wizards/files/python/file.py b/share/qtcreator/templates/wizards/files/python/file.py new file mode 100644 index 00000000000..faa18be5bbf --- /dev/null +++ b/share/qtcreator/templates/wizards/files/python/file.py @@ -0,0 +1,2 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- diff --git a/share/qtcreator/templates/wizards/files/python/wizard.json b/share/qtcreator/templates/wizards/files/python/wizard.json new file mode 100644 index 00000000000..aff038318aa --- /dev/null +++ b/share/qtcreator/templates/wizards/files/python/wizard.json @@ -0,0 +1,37 @@ +{ + "version": 1, + "kind": "file", + "id": "P.PySource", + "category": "U.Python", + "trDescription": "Creates an empty Python script file using UTF-8 charset.", + "trDisplayName": "Python File", + "trDisplayCategory": "Python", + "icon": "../../global/genericfilewizard.png", + "featuresRequired": [ "Plugin.PythonEditor" ], + + "pages" : + [ + { + "trDisplayName": "Location", + "trShortTitle": "Location", + "typeId": "File" + }, + { + "trDisplayName": "Project Management", + "trShortTitle": "Summary", + "typeId": "Summary" + } + ], + "generators" : + [ + { + "typeId": "File", + "data": + { + "source": "file.py", + "target": "%{JS: Util.fileName('%{TargetPath}', '%{JS: Util.preferredSuffix('text/x-python')}')}", + "openInEditor": true + } + } + ] +} diff --git a/src/plugins/pythoneditor/pythoneditor.pro b/src/plugins/pythoneditor/pythoneditor.pro index ab9d8df2d85..ed88a36625f 100644 --- a/src/plugins/pythoneditor/pythoneditor.pro +++ b/src/plugins/pythoneditor/pythoneditor.pro @@ -10,7 +10,6 @@ HEADERS += \ pythoneditorplugin.h \ pythoneditor.h \ pythoneditorconstants.h \ - wizard/pythonfilewizard.h \ wizard/pythonclasswizard.h \ wizard/pythonclassnamepage.h \ wizard/pythonclasswizarddialog.h \ @@ -24,7 +23,6 @@ HEADERS += \ SOURCES += \ pythoneditorplugin.cpp \ pythoneditor.cpp \ - wizard/pythonfilewizard.cpp \ wizard/pythonclasswizarddialog.cpp \ wizard/pythonclasswizard.cpp \ wizard/pythonclassnamepage.cpp \ diff --git a/src/plugins/pythoneditor/pythoneditor.qbs b/src/plugins/pythoneditor/pythoneditor.qbs index 617da12842d..d11b299d387 100644 --- a/src/plugins/pythoneditor/pythoneditor.qbs +++ b/src/plugins/pythoneditor/pythoneditor.qbs @@ -42,7 +42,6 @@ QtcPlugin { "pythonclassnamepage.cpp", "pythonclassnamepage.h", "pythonclasswizard.h", "pythonclasswizard.cpp", "pythonclasswizarddialog.h", "pythonclasswizarddialog.cpp", - "pythonfilewizard.h", "pythonfilewizard.cpp", "pythonsourcegenerator.h", "pythonsourcegenerator.cpp" ] } diff --git a/src/plugins/pythoneditor/pythoneditorconstants.h b/src/plugins/pythoneditor/pythoneditorconstants.h index 6dbc178619a..c29fd4cb851 100644 --- a/src/plugins/pythoneditor/pythoneditorconstants.h +++ b/src/plugins/pythoneditor/pythoneditorconstants.h @@ -46,16 +46,6 @@ const char C_PY_WIZARD_CATEGORY[] = "U.Python"; const char C_PY_EXTENSION[] = ".py"; const char C_PY_DISPLAY_CATEGORY[] = "Python"; - // source -const char C_PY_SOURCE_WIZARD_ID[] = "P.PySource"; -const char C_PY_SOURCE_CONTENT[] = - "#!/usr/bin/env python\n" - "# -*- coding: utf-8 -*-\n" - "\n"; -const char EN_PY_SOURCE_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("PythonEditor::FileWizard", "Python source file"); -const char EN_PY_SOURCE_DESCRIPTION[] = - QT_TRANSLATE_NOOP("PythonEditor::FileWizard", "Creates an empty Python script with UTF-8 charset"); - // class const char C_PY_CLASS_WIZARD_ID[] = "P.PyClass"; const char EN_PY_CLASS_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("PythonEditor::ClassWizard", "Python class"); diff --git a/src/plugins/pythoneditor/pythoneditorplugin.cpp b/src/plugins/pythoneditor/pythoneditorplugin.cpp index 751c11c2327..102f5d34196 100644 --- a/src/plugins/pythoneditor/pythoneditorplugin.cpp +++ b/src/plugins/pythoneditor/pythoneditorplugin.cpp @@ -30,7 +30,6 @@ #include "pythoneditorplugin.h" #include "pythoneditor.h" #include "pythoneditorconstants.h" -#include "wizard/pythonfilewizard.h" #include "wizard/pythonclasswizard.h" #include "tools/pythonhighlighter.h" @@ -224,7 +223,6 @@ bool PythonEditorPlugin::initialize(const QStringList &arguments, QString *error Core::FileIconProvider::registerIconOverlayForMimeType(icon, C_PY_MIMETYPE); // Add Python files and classes creation dialogs - addAutoReleasedObject(new FileWizard); addAutoReleasedObject(new ClassWizard); auto hf = new TextEditor::HighlighterFactory; diff --git a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp b/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp deleted file mode 100644 index fad1497c11c..00000000000 --- a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, 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, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -/** - * @brief The FileWizard class - adds wizard for creating new Python source file - */ - -#include "pythonfilewizard.h" -#include "../pythoneditorconstants.h" - -#include - -#include -#include - -#include - -namespace PythonEditor { - -/** - * @brief Initialize wizard and add new option to "New..." dialog. - * @param parent - */ -FileWizard::FileWizard() -{ - setWizardKind(Core::IWizardFactory::FileWizard); - setId(QLatin1String(Constants::C_PY_SOURCE_WIZARD_ID)); - setCategory(QLatin1String(Constants::C_PY_WIZARD_CATEGORY)); - setDisplayCategory(QLatin1String(Constants::C_PY_DISPLAY_CATEGORY)); - setDisplayName(FileWizard::tr(Constants::EN_PY_SOURCE_DISPLAY_NAME)); - setDescription(FileWizard::tr(Constants::EN_PY_SOURCE_DESCRIPTION)); -} - -/** - * @brief FileWizard::createWizardDialog - * @param parent - * @param params - * @return - */ -Core::BaseFileWizard *FileWizard::create(QWidget *parent, const Core::WizardDialogParameters ¶meters) const -{ - Core::BaseFileWizard *wizard = new Core::BaseFileWizard(parent); - wizard->setWindowTitle(tr("New %1").arg(displayName())); - - Utils::FileWizardPage *page = new Utils::FileWizardPage; - page->setPath(parameters.defaultPath()); - wizard->addPage(page); - - foreach (QWizardPage *p, parameters.extensionPages()) - wizard->addPage(p); - - return wizard; -} - -Core::GeneratedFiles FileWizard::generateFiles(const QWizard *dialog, - QString *errorMessage) const -{ - Q_UNUSED(errorMessage) - - const Core::BaseFileWizard *wizard = - qobject_cast(dialog); - - Utils::FileWizardPage *page = wizard->find(); - QTC_ASSERT(page, return Core::GeneratedFiles()); - - QString folder = page->path(); - QString name = page->fileName(); - - name = Core::BaseFileWizardFactory::buildFileName( - folder, name, QLatin1String(Constants::C_PY_EXTENSION)); - Core::GeneratedFile file(name); - file.setContents(QLatin1String(Constants::C_PY_SOURCE_CONTENT)); - file.setAttributes(Core::GeneratedFile::OpenEditorAttribute); - - return (Core::GeneratedFiles() << file); -} - -} // namespace PythonEditor diff --git a/src/plugins/pythoneditor/wizard/pythonfilewizard.h b/src/plugins/pythoneditor/wizard/pythonfilewizard.h deleted file mode 100644 index f33d944879c..00000000000 --- a/src/plugins/pythoneditor/wizard/pythonfilewizard.h +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, 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, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef PYTHONFILEWIZARD_H -#define PYTHONFILEWIZARD_H - -#include - -namespace PythonEditor { - -class FileWizard : public Core::BaseFileWizardFactory -{ - Q_OBJECT - -public: - FileWizard(); - -protected: - Core::BaseFileWizard *create(QWidget *parent, const Core::WizardDialogParameters ¶meters) const; - - Core::GeneratedFiles generateFiles(const QWizard *dialog, QString *errorMessage) const; -}; - -} // namespace PythonEditor - -#endif // PYTHONFILEWIZARD_H