on xenial help sign in
Rename plugin to ScreenGrabber
commit86331ae94ce634f6427af813835e25dde40883ea authorAlberto Aguirre <alberto.aguirre@canonical.com> dateFri 26 Sep 2014, 21:16 (12 years ago) parent52b29be
11 files changed+48−42
debian/unity8-private.install+1−1 plugins/CMakeLists.txt+1−1 plugins/ScreenGrabber/CMakeLists.txt+13 plugins/Screenshotter/Screenshotter.qmltypes → plugins/ScreenGrabber/ScreenGrabber.qmltypes+4−4 plugins/Screenshotter/plugin.cpp → plugins/ScreenGrabber/plugin.cpp+4−4 plugins/Screenshotter/plugin.h → plugins/ScreenGrabber/plugin.h+4−4 plugins/ScreenGrabber/qmldir+3 plugins/Screenshotter/screenshotter.cpp → plugins/ScreenGrabber/screengrabber.cpp+15−9 plugins/Screenshotter/screenshotter.h → plugins/ScreenGrabber/screengrabber.h+3−3 plugins/Screenshotter/CMakeLists.txt−13 plugins/Screenshotter/qmldir−3
debian/unity8-private.install+1−1
@@ -5,7 +5,7 @@ usr/lib/*/unity8/qml/LightDM
55usr/lib/*/unity8/qml/Lights
66usr/lib/*/unity8/qml/Powerd
77usr/lib/*/unity8/qml/SessionBroadcast
8−usr/lib/*/unity8/qml/Screenshotter
8+usr/lib/*/unity8/qml/ScreenGrabber
99usr/lib/*/unity8/qml/Ubuntu
1010usr/lib/*/unity8/qml/Unity
1111usr/lib/*/unity8/qml/Utils
plugins/CMakeLists.txt+1−1
@@ -18,7 +18,7 @@ add_subdirectory(Lights)
1818add_subdirectory(Dash)
1919add_subdirectory(Powerd)
2020add_subdirectory(SessionBroadcast)
21−add_subdirectory(Screenshotter)
21+add_subdirectory(ScreenGrabber)
2222add_subdirectory(Ubuntu)
2323add_subdirectory(Unity)
2424add_subdirectory(Utils)
plugins/ScreenGrabber/CMakeLists.txtnew file+13
@@ -0,0 +1,13 @@
1+include_directories(
2+ ${CMAKE_CURRENT_BINARY_DIR}
3+)
4+
5+set(SCREENGRABBERSOURCES
6+ screengrabber.cpp
7+ plugin.cpp
8+)
9+
10+add_library(ScreenGrabber-qml MODULE ${SCREENGRABBERSOURCES})
11+qt5_use_modules(ScreenGrabber-qml Qml Gui Quick)
12+
13+add_unity8_plugin(ScreenGrabber 0.1 ScreenGrabber TARGETS ScreenGrabber-qml)
plugins/Screenshotter/Screenshotter.qmltypes → plugins/ScreenGrabber/ScreenGrabber.qmltypesrenamed+4−4
@@ -4,14 +4,14 @@ import QtQuick.tooling 1.1
44// It is used for QML tooling purposes only.
55//
66// This file was auto-generated by:
7−// 'qmlplugindump -nonrelocatable Screenshotter 0.1 plugins'
7+// 'qmlplugindump -nonrelocatable ScreenGrabber 0.1 plugins'
88
99Module {
1010 Component {
11− name: "ScreenShotter"
11+ name: "ScreenGrabber"
1212 prototype: "QObject"
13− exports: ["Screenshotter/Screenshotter 0.1"]
13+ exports: ["ScreenGrabber/ScreenGrabber 0.1"]
1414 exportMetaObjectRevisions: [0]
15− Method { name: "takeScreenshot" }
15+ Method { name: "captureAndSave" }
1616 }
1717}
plugins/Screenshotter/plugin.cpp → plugins/ScreenGrabber/plugin.cpprenamed+4−4
@@ -17,12 +17,12 @@
1717 */
1818
1919#include "plugin.h"
20−#include "screenshotter.h"
20+#include "screengrabber.h"
2121
2222#include <QtQml/qqml.h>
2323
24−void ScreenshotterPlugin::registerTypes(const char *uri)
24+void ScreenGrabberPlugin::registerTypes(const char *uri)
2525{
26− Q_ASSERT(uri == QLatin1String("Screenshotter"));
27− qmlRegisterType<ScreenShotter>(uri, 0, 1, "Screenshotter");
26+ Q_ASSERT(uri == QLatin1String("ScreenGrabber"));
27+ qmlRegisterType<ScreenGrabber>(uri, 0, 1, "ScreenGrabber");
2828}
plugins/Screenshotter/plugin.h → plugins/ScreenGrabber/plugin.hrenamed+4−4
@@ -16,12 +16,12 @@
1616 * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
1717 */
1818
19−#ifndef SCREENSHOTTER_PLUGIN_H
20−#define SCREENSHOTTER_PLUGIN_H
19+#ifndef SCREENGRABBER_PLUGIN_H
20+#define SCREENGRABBER_PLUGIN_H
2121
2222#include <QtQml/QQmlExtensionPlugin>
2323
24−class ScreenshotterPlugin : public QQmlExtensionPlugin
24+class ScreenGrabberPlugin : public QQmlExtensionPlugin
2525{
2626 Q_OBJECT
2727 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
@@ -30,4 +30,4 @@ public:
3030 void registerTypes(const char *uri);
3131};
3232
33−#endif // SCREENSHOTTER_PLUGIN_H
33+#endif // SCREENGRABBER_PLUGIN_H
plugins/ScreenGrabber/qmldirnew file+3
@@ -0,0 +1,3 @@
1+module ScreenGrabber
2+plugin ScreenGrabber-qml
3+typeinfo ScreenGrabber.qmltypes
plugins/Screenshotter/screenshotter.cpp → plugins/ScreenGrabber/screengrabber.cpprenamed+15−9
@@ -16,17 +16,24 @@
1616 * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
1717 */
1818
19−#include "screenshotter.h"
19+#include "screengrabber.h"
2020
2121#include <QDir>
2222#include <QDateTime>
2323#include <QStandardPaths>
24+#include <QtGui/QImage>
2425#include <QtGui/QGuiApplication>
2526#include <QtQuick/QQuickWindow>
2627
2728#include <QDebug>
2829
29−ScreenShotter::ScreenShotter(QObject *parent)
30+void saveScreenshot(QImage screenshot, QString filename, QString format, int quality)
31+{
32+ if (!screenshot.save(filename, format.toLatin1().data(), quality))
33+ qWarning() << "ScreenShotter: failed to save snapshot!";
34+}
35+
36+ScreenGrabber::ScreenGrabber(QObject *parent)
3037 : QObject(parent),
3138 screenshotQuality(90)
3239{
@@ -44,7 +51,7 @@ ScreenShotter::ScreenShotter(QObject *parent)
4451 }
4552}
4653
47−void ScreenShotter::takeScreenshot()
54+void ScreenGrabber::captureAndSave()
4855{
4956 if (fileNamePrefix.isEmpty())
5057 {
@@ -66,12 +73,11 @@ void ScreenShotter::takeScreenshot()
6673 return;
6774 }
6875
69− QImage snapshot = main_window->grabWindow();
70− if (!snapshot.save(makeFileName(), getFormat().toLatin1().data(), screenshotQuality))
71− qWarning() << "ScreenShotter: failed to save snapshot!";
76+ QImage screenshot = main_window->grabWindow();
77+ saveScreenshot(screenshot, makeFileName(), getFormat(), screenshotQuality);
7278}
7379
74−QString ScreenShotter::makeFileName()
80+QString ScreenGrabber::makeFileName()
7581{
7682 QString fileName(fileNamePrefix);
7783 fileName.append(QDateTime::currentDateTime().toString("yyyymmdd_hhmmsszzz"));
@@ -80,8 +86,8 @@ QString ScreenShotter::makeFileName()
8086 return fileName;
8187}
8288
83−QString ScreenShotter::getFormat()
89+QString ScreenGrabber::getFormat()
8490{
85− //TODO: Maybe this could be configurable
91+ //TODO: This should be configurable (perhaps through gsettings?)
8692 return "jpg";
8793}
plugins/Screenshotter/screenshotter.h → plugins/ScreenGrabber/screengrabber.hrenamed+3−3
@@ -22,15 +22,15 @@
2222#include <QObject>
2323#include <QString>
2424
25−class ScreenShotter: public QObject
25+class ScreenGrabber: public QObject
2626{
2727 Q_OBJECT
2828
2929public:
30− explicit ScreenShotter(QObject *parent = 0);
30+ explicit ScreenGrabber(QObject *parent = 0);
3131
3232public Q_SLOTS:
33− void takeScreenshot();
33+ void captureAndSave();
3434
3535private:
3636 QString makeFileName();
plugins/Screenshotter/CMakeLists.txtdeleted−13
@@ -1,13 +0,0 @@
1−include_directories(
2− ${CMAKE_CURRENT_BINARY_DIR}
3−)
4−
5−set(SCREENSHOTTERSOURCES
6− screenshotter.cpp
7− plugin.cpp
8−)
9−
10−add_library(Screenshotter-qml MODULE ${SCREENSHOTTERSOURCES})
11−qt5_use_modules(Screenshotter-qml Qml Gui Quick)
12−
13−add_unity8_plugin(Screenshotter 0.1 Screenshotter TARGETS Screenshotter-qml)
plugins/Screenshotter/qmldirdeleted−3
@@ -1,3 +0,0 @@
1−module Screenshotter
2−plugin Screenshotter-qml
3−typeinfo Screenshotter.qmltypes