diff options
| author | Danilo M. <danix@danix.xyz> | 2026-03-30 23:59:37 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-03-30 23:59:37 +0200 |
| commit | 6162beaf36a3ce60e69d95fd63db99f7be88ea19 (patch) | |
| tree | d4a663ae637c09c61b0c7b954eb94098a833e20c /qarma/images-preview.patch.old | |
| parent | 691abf1c1e7f18b1607b7a2ec26537abfd666cf8 (diff) | |
| download | my-slackbuilds-6162beaf36a3ce60e69d95fd63db99f7be88ea19.tar.gz my-slackbuilds-6162beaf36a3ce60e69d95fd63db99f7be88ea19.zip | |
qarma: add version 1.0.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'qarma/images-preview.patch.old')
| -rw-r--r-- | qarma/images-preview.patch.old | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/qarma/images-preview.patch.old b/qarma/images-preview.patch.old new file mode 100644 index 0000000..00e9187 --- /dev/null +++ b/qarma/images-preview.patch.old @@ -0,0 +1,59 @@ +diff --git a/Qarma.cpp b/Qarma.cpp +index 3708360..d1599c5 100644 +--- a/Qarma.cpp ++++ b/Qarma.cpp +@@ -34,6 +34,7 @@ + #include <QFontDialog> + #include <QFormLayout> + #include <QIcon> ++#include <QImageReader> + #include <QInputDialog> + #include <QLabel> + #include <QLocale> +@@ -48,6 +49,7 @@ + #include <QSettings> + #include <QSlider> + #include <QSocketNotifier> ++#include <QSplitter> + #include <QStringBuilder> + #include <QStringList> + #include <QTextBrowser> +@@ -785,6 +787,21 @@ char Qarma::showMessage(const QStringList &args, char type) + return 0; + } + ++QPixmap thumbnail(const QString &path, uint size) ++{ ++ QImageReader thumbReader; ++ thumbReader.setFileName(path); ++ thumbReader.setQuality(50); ++ QSize sz = thumbReader.size(); ++ sz.scale(QSize(size,size), Qt::KeepAspectRatio); ++ thumbReader.setScaledSize(sz); ++ QImage thumb; ++ if (thumbReader.read(&thumb)) ++ return QPixmap::fromImage(thumb); ++ else ++ return QPixmap(); ++} ++ + char Qarma::showFileSelection(const QStringList &args) + { + QFileDialog *dlg = new QFileDialog; +@@ -827,6 +844,16 @@ char Qarma::showFileSelection(const QStringList &args) + if (idx > -1) + mimeFilter = mimeFilter.left(idx).trimmed() + " (" + mimeFilter.mid(idx+1).trimmed() + ")"; + mimeFilters << mimeFilter; ++ } else if (args.at(i) == "--preview-images") { ++ READ_INT(size, UInt, "--preview-images must be followed by a positive number for the thumbnail size"); ++ dlg->setOption(QFileDialog::DontUseNativeDialog); ++ if (QSplitter *splitter = dlg->findChild<QSplitter*>()) { ++ QLabel *preview = new QLabel(splitter); ++ splitter->addWidget(preview); ++ connect(dlg, &QFileDialog::currentChanged, [=](const QString &path) { ++ preview->setPixmap(thumbnail(path, size)); ++ }); ++ } + } + else { WARN_UNKNOWN_ARG("--file-selection") } + } |
