@@ -16,17 +16,24 @@
16 * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
16 * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
19−#include "screenshotter.h"
19+#include "screengrabber.h"
21#include <QDir>
21#include <QDir>
22#include <QDateTime>
22#include <QDateTime>
23#include <QStandardPaths>
23#include <QStandardPaths>
24+#include <QtGui/QImage>
24#include <QtGui/QGuiApplication>
25#include <QtGui/QGuiApplication>
25#include <QtQuick/QQuickWindow>
26#include <QtQuick/QQuickWindow>
27#include <QDebug>
28#include <QDebug>
29−ScreenShotter::ScreenShotter(QObject *parent)
30+void saveScreenshot(QImage screenshot, QString filename, QString format, int quality)
32+ if (!screenshot.save(filename, format.toLatin1().data(), quality))
33+ qWarning() << "ScreenShotter: failed to save snapshot!";
36+ScreenGrabber::ScreenGrabber(QObject *parent)
30 : QObject(parent),
37 : QObject(parent),
31 screenshotQuality(90)
38 screenshotQuality(90)
@@ -44,7 +51,7 @@ ScreenShotter::ScreenShotter(QObject *parent)
47−void ScreenShotter::takeScreenshot()
54+void ScreenGrabber::captureAndSave()
49 if (fileNamePrefix.isEmpty())
56 if (fileNamePrefix.isEmpty())
@@ -66,12 +73,11 @@ void ScreenShotter::takeScreenshot()
69− QImage snapshot = main_window->grabWindow();
76+ QImage screenshot = main_window->grabWindow();
70− if (!snapshot.save(makeFileName(), getFormat().toLatin1().data(), screenshotQuality))
77+ saveScreenshot(screenshot, makeFileName(), getFormat(), screenshotQuality);
71− qWarning() << "ScreenShotter: failed to save snapshot!";
74−QString ScreenShotter::makeFileName()
80+QString ScreenGrabber::makeFileName()
76 QString fileName(fileNamePrefix);
82 QString fileName(fileNamePrefix);
77 fileName.append(QDateTime::currentDateTime().toString("yyyymmdd_hhmmsszzz"));
83 fileName.append(QDateTime::currentDateTime().toString("yyyymmdd_hhmmsszzz"));
@@ -80,8 +86,8 @@ QString ScreenShotter::makeFileName()
80 return fileName;
86 return fileName;
83−QString ScreenShotter::getFormat()
89+QString ScreenGrabber::getFormat()
85− //TODO: Maybe this could be configurable
91+ //TODO: This should be configurable (perhaps through gsettings?)
86 return "jpg";
92 return "jpg";