Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion inc/liquid.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Liquid
static QDir getConfigDir(void);
static QString getDefaultUserAgentString(void);
static QStringList getLiquidAppsList(void);
static QString getReadableDateTimeString(void);
static QString getUniqueFilePath(const QString dirPath, const QString baseName, const QString extension);
static void removeDesktopFile(const QString liquidAppName);
static void runLiquidApp(const QString liquidAppName);
static void sleep(const int ms);
Expand Down
6 changes: 6 additions & 0 deletions inc/liquidappwindow.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <QAction>
#include <QCloseEvent>
#include <QCoreApplication>
#include <QImage>
#include <QMenu>
#include <QNetworkProxy>
#include <QSettings>
Expand Down Expand Up @@ -54,6 +55,10 @@ public slots:

private:
void takeSnapshot(const bool fullPage);
QImage captureFullPage(void);
static bool isUserInputEvent(const QEvent::Type eventType);
QVariant runJavaScriptSync(const QString& js, const int timeoutMs = 5000);
void waitForNextFrame(void);
const QString colorToRgba(const QColor color);

QString* liquidAppName;
Expand All @@ -73,6 +78,7 @@ public slots:
bool pageHasError = false;
bool pageIsLoading = false;
bool windowGeometryIsLocked = false;
bool isCapturingFullPage = false;

QNetworkProxy* proxy = Q_NULLPTR;

Expand Down
1 change: 1 addition & 0 deletions inc/lqd.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#define LQD_APP_WIN_MIN_SIZE_W 160
#define LQD_APP_WIN_MIN_SIZE_H 120
#define LQD_UI_MARGIN 24
#define LQD_SNAPSHOT_MAX_PIXELS 134217728 // Full-page snapshot size limit, in logical pixels (128 megapixels, 512 MB of RAM)
#define LQD_ZOOM_LVL_MIN 0.25
#define LQD_ZOOM_LVL_MAX 5.0 // Limited to 5.0 by Chromium
#define LQD_ZOOM_LVL_STEP 0.04
Expand Down
19 changes: 16 additions & 3 deletions src/liquid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include <QApplication>
#include <QCoreApplication>
#include <QDateTime>
#include <QDebug>
#include <QFileInfo>
#include <QProcess>
#include <QSettings>
#include <QSysInfo>
Expand Down Expand Up @@ -165,9 +165,22 @@ QStringList Liquid::getLiquidAppsList(void)
return liquidAppsNames;
}

QString Liquid::getReadableDateTimeString(void)
QString Liquid::getUniqueFilePath(const QString dirPath, const QString baseName, const QString extension)
{
return QDateTime::currentDateTimeUtc().toString(QLocale().dateTimeFormat());
// Produces "<baseName> (N).<extension>", where N is the lowest number not yet taken
// (deliberately avoids timestamps, both for privacy and for filesystem compatibility)
const QDir dir(dirPath);
QString filePath;

for (int n = 1; ; n++) {
filePath = dir.filePath(QString("%1 (%2).%3").arg(baseName).arg(n).arg(extension));

if (!QFileInfo::exists(filePath)) {
break;
}
}

return filePath;
}

void Liquid::removeDesktopFile(const QString liquidAppName)
Expand Down
Loading
Loading