@@ -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}