/src/plugins/coreplugin/editormanager/systemeditor.cpp

https://github.com/KDAB/KDAB-Creator · C++ · 75 lines · 36 code · 8 blank · 31 comment · 2 complexity · 3b74bcc1c12aeb36e1700642a6a65180 MD5 · raw file

  1. /**************************************************************************
  2. **
  3. ** This file is part of Qt Creator
  4. **
  5. ** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
  6. **
  7. ** Contact: Nokia Corporation (qt-info@nokia.com)
  8. **
  9. **
  10. ** GNU Lesser General Public License Usage
  11. **
  12. ** This file may be used under the terms of the GNU Lesser General Public
  13. ** License version 2.1 as published by the Free Software Foundation and
  14. ** appearing in the file LICENSE.LGPL included in the packaging of this file.
  15. ** Please review the following information to ensure the GNU Lesser General
  16. ** Public License version 2.1 requirements will be met:
  17. ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
  18. **
  19. ** In addition, as a special exception, Nokia gives you certain additional
  20. ** rights. These rights are described in the Nokia Qt LGPL Exception
  21. ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
  22. **
  23. ** Other Usage
  24. **
  25. ** Alternatively, this file may be used in accordance with the terms and
  26. ** conditions contained in a signed written agreement between you and Nokia.
  27. **
  28. ** If you have questions regarding the use of this file, please contact
  29. ** Nokia at qt-info@nokia.com.
  30. **
  31. **************************************************************************/
  32. #include "systemeditor.h"
  33. #include "id.h"
  34. #include <QStringList>
  35. #include <QUrl>
  36. #include <QDesktopServices>
  37. using namespace Core;
  38. using namespace Core::Internal;
  39. SystemEditor::SystemEditor(QObject *parent) :
  40. IExternalEditor(parent)
  41. {
  42. }
  43. QStringList SystemEditor::mimeTypes() const
  44. {
  45. return QStringList() << QLatin1String("application/octet-stream");
  46. }
  47. Id SystemEditor::id() const
  48. {
  49. return Id("CorePlugin.OpenWithSystemEditor");
  50. }
  51. QString SystemEditor::displayName() const
  52. {
  53. return QLatin1String("System Editor");
  54. }
  55. bool SystemEditor::startEditor(const QString &fileName, QString *errorMessage)
  56. {
  57. Q_UNUSED(errorMessage)
  58. QUrl url;
  59. url.setPath(fileName);
  60. url.setScheme(QLatin1String("file"));
  61. if (!QDesktopServices::openUrl(url)) {
  62. if (errorMessage)
  63. *errorMessage = tr("Could not open url %1.").arg(url.toString());
  64. return false;
  65. }
  66. return true;
  67. }