diff -Nru lximage-qt-0.14.1/CHANGELOG lximage-qt-0.16.0/CHANGELOG --- lximage-qt-0.14.1/CHANGELOG 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/CHANGELOG 2020-11-02 22:25:19.000000000 +0000 @@ -1,3 +1,37 @@ +lximage-qt-0.16.0 / 2020-11-01 +============================== + * Added image size and path to statusbar. + * Added copy Path action. + * Fixed memory leaks in annotations. + * Show error message if saving with a format is not supported. + * Added resize image feature. + * Use QFlags default constructor. + * Prevent users from defining ambiguous shortcuts. + * Consult Qt for supported mimetypes. + * Start app on screen with mouse cursor when opening image. + * Added depreciation notice to screenshot command line options. + +lximage-qt-0.15.0 / 2020-04-21 +============================== + * Hide annotations toolbar by default (it's buggy) but add an option to show/hide it on startup. + * No auto-selection in thumbnail view. + * Fixed showing the first image on loading a directory. + * String optimizations. + * Optionally show image outline. + * More complete transformation based on EXIF. + * Prevent blurry images with HDPI. + * Jump forward when the image is deleted/renamed. + * Added command-line option `-d` to take a screenshot and save it to the directory without showing the GUI. + * Remove X11 screenshot under Wayland. + * Made maximum number of recent files configurable. + * Support uploading of unsaved images. + * No multiple Preferences dialogs. + * Keep zooming state on switching image. + * Removed deprecated `QDesktopWidget`. + * Added "Open With.." to File menu. + * Added shortcut editor to Preferences. + * Fixed maximization at startup with SVG and GIF images. + lximage-qt-0.14.1 / 2019-02-25 ============================== diff -Nru lximage-qt-0.14.1/CMakeLists.txt lximage-qt-0.16.0/CMakeLists.txt --- lximage-qt-0.14.1/CMakeLists.txt 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/CMakeLists.txt 2020-11-02 22:25:19.000000000 +0000 @@ -9,13 +9,13 @@ include(GNUInstallDirs) set(MAJOR_VERSION 0) -set(MINOR_VERSION 14) -set(PATCH_VERSION 1) +set(MINOR_VERSION 16) +set(PATCH_VERSION 0) set(LXIMAGE_VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}) -set(LXQTBT_MINIMUM_VERSION "0.6.0") -set(LIBFMQT_MINIMUM_VERSION "0.14.1") -set(QT_MINIMUM_VERSION "5.7.1") +set(LXQTBT_MINIMUM_VERSION "0.8.0") +set(LIBFMQT_MINIMUM_VERSION "0.16.0") +set(QT_MINIMUM_VERSION "5.12.0") set(CMAKE_AUTOMOC ON) diff -Nru lximage-qt-0.14.1/debian/changelog lximage-qt-0.16.0/debian/changelog --- lximage-qt-0.14.1/debian/changelog 2020-03-22 15:48:36.000000000 +0000 +++ lximage-qt-0.16.0/debian/changelog 2021-01-10 16:50:47.000000000 +0000 @@ -1,14 +1,19 @@ -lximage-qt (0.14.1-1ubuntu2) focal; urgency=medium +lximage-qt (0.16.0-0~ppa1) focal; urgency=medium - * No-change rebuild for libgcc-s1 package name change. + * Sync with Debian. - -- Matthias Klose Sun, 22 Mar 2020 16:48:36 +0100 + -- Julien Lavergne Sun, 10 Jan 2021 17:50:47 +0100 -lximage-qt (0.14.1-1ubuntu1) disco; urgency=medium +lximage-qt (0.16.0-1) unstable; urgency=medium - * Lubuntuify the packaging. + [ Alf Gaida ] + * Switched to gbp + * Bumped Standards-Version to 4.4.0, no changes needed - -- Simon Quigley Fri, 08 Mar 2019 10:59:35 -0600 + [ Andrew Lee (李健秋) ] + * New upstream release. (Closes: #978178) + + -- Andrew Lee (李健秋) Thu, 07 Jan 2021 18:12:17 +0800 lximage-qt (0.14.1-1) unstable; urgency=medium diff -Nru lximage-qt-0.14.1/debian/control lximage-qt-0.16.0/debian/control --- lximage-qt-0.14.1/debian/control 2019-03-08 16:58:42.000000000 +0000 +++ lximage-qt-0.16.0/debian/control 2021-01-10 16:48:36.000000000 +0000 @@ -1,29 +1,30 @@ Source: lximage-qt -Maintainer: Lubuntu Developers -XSBC-Original-Maintainer: LXQt Packaging Team -Uploaders: Simon Quigley +Maintainer: LXQt Packaging Team +Uploaders: Alf Gaida , + ChangZhuo Chen (陳昌倬) , + Andrew Lee (李健秋) Section: x11 Priority: optional Build-Depends: debhelper-compat (= 12), libexif-dev, - libfm-qt-dev (>= 0.14.1~), + libfm-qt-dev (>= 0.16.0~), libkf5windowsystem-dev, libqt5svg5-dev, libqt5x11extras5-dev, libx11-dev, libxfixes-dev, - lxqt-build-tools (>= 0.6.0~) -Standards-Version: 4.3.0 -Vcs-Browser: https://phab.lubuntu.me/source/lxqt-panel/ -Vcs-Git: https://phab.lubuntu.me/source/lxqt-panel.git -XS-Debian-Vcs-Browser: https://salsa.debian.org/lxqt-team/lximage-qt -XS-Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/lximage-qt.git + lxqt-build-tools (>= 0.8.0~), +Standards-Version: 4.4.0 +Vcs-Browser: https://salsa.debian.org/lxqt-team/lximage-qt +Vcs-Git: https://salsa.debian.org/lxqt-team/lximage-qt.git Homepage: https://github.com/lxqt/lximage-qt Package: lximage-qt Architecture: any -Depends: ${misc:Depends}, ${shlibs:Depends} -Recommends: lximage-qt-l10n, qt5-image-formats-plugins +Depends: ${misc:Depends}, + ${shlibs:Depends} +Recommends: lximage-qt-l10n, + qt5-image-formats-plugins Description: Image viewer for LXQt A simple image viewer for LXQt. Additional file formats can be processed if one install qt5-image-formats-plugins. @@ -34,7 +35,8 @@ Architecture: all Multi-Arch: foreign Section: localization -Depends: qttranslations5-l10n, ${misc:Depends} +Depends: ${misc:Depends}, + qttranslations5-l10n Breaks: lximage-qt (<< 0.5.0) Replaces: lximage-qt (<< 0.5.0) Description: Language-package for lximage-qt diff -Nru lximage-qt-0.14.1/debian/gbp.conf lximage-qt-0.16.0/debian/gbp.conf --- lximage-qt-0.14.1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/debian/gbp.conf 2021-01-10 16:48:36.000000000 +0000 @@ -0,0 +1,6 @@ +[DEFAULT] +debian-branch = debian/sid +upstream-branch = upstream/latest +pristine-tar = True +compression = xz + diff -Nru lximage-qt-0.14.1/debian/lximage-qt.install lximage-qt-0.16.0/debian/lximage-qt.install --- lximage-qt-0.14.1/debian/lximage-qt.install 2019-03-08 16:58:42.000000000 +0000 +++ lximage-qt-0.16.0/debian/lximage-qt.install 2021-01-10 16:48:36.000000000 +0000 @@ -1,3 +1,4 @@ -usr/bin/lximage-qt usr/share/applications usr/share/icons/hicolor + +usr/bin/lximage-qt diff -Nru lximage-qt-0.14.1/README.md lximage-qt-0.16.0/README.md --- lximage-qt-0.14.1/README.md 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/README.md 2020-11-02 22:25:19.000000000 +0000 @@ -34,8 +34,10 @@ package manager to search for string 'lximage'. -### Translation (Weblate) +### Translation - -Translation status +Translations can be done in [LXQt-Weblate](https://translate.lxqt-project.org/projects/lxqt-desktop/lximage-qt/). + + +Stato traduzione diff -Nru lximage-qt-0.14.1/src/application.cpp lximage-qt-0.16.0/src/application.cpp --- lximage-qt-0.14.1/src/application.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/application.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -23,9 +23,9 @@ #include #include #include +#include #include "applicationadaptor.h" #include "screenshotdialog.h" -#include "preferencesdialog.h" #include "mainwindow.h" using namespace LxImage; @@ -37,7 +37,7 @@ QApplication(argc, argv), libFm(), windowCount_(0) { - setApplicationVersion(LXIMAGE_VERSION); + setApplicationVersion(QStringLiteral(LXIMAGE_VERSION)); } bool Application::init(int argc, char** argv) { @@ -47,26 +47,26 @@ setAttribute(Qt::AA_UseHighDpiPixmaps, true); // install the translations built-into Qt itself - qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); + qtTranslator.load(QStringLiteral("qt_") + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); installTranslator(&qtTranslator); // install libfm-qt translator installTranslator(libFm.translator()); // install our own tranlations - translator.load("lximage-qt_" + QLocale::system().name(), LXIMAGE_DATA_DIR "/translations"); + translator.load(QStringLiteral("lximage-qt_") + QLocale::system().name(), QStringLiteral(LXIMAGE_DATA_DIR) + QStringLiteral("/translations")); installTranslator(&translator); // initialize dbus QDBusConnection dbus = QDBusConnection::sessionBus(); - if(dbus.registerService(serviceName)) { + if(dbus.registerService(QLatin1String(serviceName))) { settings_.load(); // load settings // we successfully registered the service isPrimaryInstance = true; setQuitOnLastWindowClosed(false); // do not quit even when there're no windows new ApplicationAdaptor(this); - dbus.registerObject("/Application", this); + dbus.registerObject(QStringLiteral("/Application"), this); connect(this, &Application::aboutToQuit, this, &Application::onAboutToQuit); @@ -89,19 +89,34 @@ parser.addHelpOption(); parser.addVersionOption(); + const bool isX11 = QX11Info::isPlatformX11(); + QCommandLineOption screenshotOption( - QStringList() << "s" << "screenshot", - tr("Take a screenshot") + QStringList() << QStringLiteral("s") << QStringLiteral("screenshot"), + tr("Take a screenshot (deprecated, please use screengrab instead)") + ); + if(isX11) { + parser.addOption(screenshotOption); + } + + + QCommandLineOption screenshotOptionDir( + QStringList() << QStringLiteral("d") << QStringLiteral("dirscreenshot"), + tr("Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead)"), tr("DIR") ); - parser.addOption(screenshotOption); + if(isX11) { + parser.addOption(screenshotOptionDir); + } const QString files = tr("[FILE1, FILE2,...]"); - parser.addPositionalArgument("files", files, files); + parser.addPositionalArgument(QStringLiteral("files"), files, files); parser.process(*this); const QStringList args = parser.positionalArguments(); - const bool screenshotTool = parser.isSet(screenshotOption); + bool screenshotTool = false; + if(isX11) + screenshotTool = parser.isSet(screenshotOption); QStringList paths; for(const QString& arg : args) { @@ -109,6 +124,15 @@ paths.push_back(info.absoluteFilePath()); } + + //silent no-gui screenshot + if(isX11) { + if (parser.isSet(screenshotOptionDir)) { + ScreenshotDialog::cmdTopShotToDir(parser.value(screenshotOptionDir)); + return false; + } + } + bool keepRunning = false; if(isPrimaryInstance) { settings_.load(); @@ -116,19 +140,18 @@ if(screenshotTool) { screenshot(); } - else { - newWindow(paths); - } + else + newWindow(paths); } else { // we're not the primary instance. // call the primary instance via dbus to do operations QDBusConnection dbus = QDBusConnection::sessionBus(); - QDBusInterface iface(serviceName, "/Application", ifaceName, dbus, this); + QDBusInterface iface(QLatin1String(serviceName), QStringLiteral("/Application"), QLatin1String(ifaceName), dbus, this); if(screenshotTool) - iface.call("screenshot"); + iface.call(QStringLiteral("screenshot")); else - iface.call("newWindow", paths); + iface.call(QStringLiteral("newWindow"), paths); } return keepRunning; } @@ -136,6 +159,37 @@ MainWindow* Application::createWindow() { LxImage::MainWindow* window; window = new LxImage::MainWindow(); + + // get default shortcuts from the first window + if(defaultShortcuts_.isEmpty()) { + const auto actions = window->findChildren(); + for(const auto& action : actions) { + if(action->objectName().isEmpty() || action->text().isEmpty()) { + continue; + } + QKeySequence seq = action->shortcut(); + ShortcutDescription s; + s.displayText = action->text().remove(QLatin1Char('&')); // without mnemonics + s.shortcut = seq; + defaultShortcuts_.insert(action->objectName(), s); + } + } + + // apply custom shortcuts to this window + QHash ca = settings_.customShortcutActions(); + const auto actions = window->findChildren(); + for(const auto& action : actions) { + const QString objectName = action->objectName(); + if(ca.contains(objectName)) { + auto shortcut = ca.take(objectName); + // custom shortcuts are saved in the PortableText format. + action->setShortcut(QKeySequence(shortcut, QKeySequence::PortableText)); + } + if(ca.isEmpty()) { + break; + } + } + return window; } @@ -169,8 +223,9 @@ void Application::applySettings() { const auto windows = topLevelWidgets(); for(QWidget* window : windows) { - if(window->inherits("LxImage::MainWindow")) + if(window->inherits("LxImage::MainWindow")) { static_cast(window)->applySettings(); + } } } @@ -180,8 +235,16 @@ } void Application::editPreferences() { - PreferencesDialog* dlg = new PreferencesDialog(); - dlg->show(); + // open Preferences dialog only if default shortcuts are known + if(defaultShortcuts_.isEmpty()) { + return; + } + if(preferencesDialog_ == nullptr) { + preferencesDialog_ = new PreferencesDialog(); + } + preferencesDialog_.data()->show(); + preferencesDialog_.data()->raise(); + preferencesDialog_.data()->activateWindow(); } void Application::onAboutToQuit() { diff -Nru lximage-qt-0.14.1/src/application.h lximage-qt-0.16.0/src/application.h --- lximage-qt-0.14.1/src/application.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/application.h 2020-11-02 22:25:19.000000000 +0000 @@ -25,6 +25,7 @@ #include #include "mainwindow.h" #include "settings.h" +#include "preferencesdialog.h" namespace LxImage { @@ -32,6 +33,12 @@ Q_OBJECT public: + // an Action-Shortcut pair that can be displayed in Preferences + struct ShortcutDescription { + QString displayText; + QKeySequence shortcut; + }; + Application(int& argc, char** argv); bool init(int argc, char** argv); bool parseCommandLineArgs(); @@ -55,6 +62,10 @@ void applySettings(); + QHash defaultShortcuts() const { + return defaultShortcuts_; + } + public Q_SLOTS: void editPreferences(); void screenshot(); @@ -69,6 +80,8 @@ QTranslator qtTranslator; Settings settings_; int windowCount_; + QPointer preferencesDialog_; + QHash defaultShortcuts_; // needed for restoring shortcuts }; } diff -Nru lximage-qt-0.14.1/src/CMakeLists.txt lximage-qt-0.16.0/src/CMakeLists.txt --- lximage-qt-0.14.1/src/CMakeLists.txt 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/CMakeLists.txt 2020-11-02 22:25:19.000000000 +0000 @@ -18,12 +18,14 @@ modelfilter.cpp loadimagejob.cpp saveimagejob.cpp + resizeimagedialog.cpp screenshotdialog.cpp screenshotselectarea.cpp screenshotselectareagraphicsview.cpp settings.cpp graphicsscene.cpp mrumenu.cpp + statusbar.cpp upload/imageshackprovider.cpp upload/imageshackupload.cpp @@ -51,6 +53,7 @@ set(lximage-qt_UIS mainwindow.ui preferencesdialog.ui + resizeimagedialog.ui screenshotdialog.ui upload/uploaddialog.ui diff -Nru lximage-qt-0.14.1/src/graphicsscene.h lximage-qt-0.16.0/src/graphicsscene.h --- lximage-qt-0.14.1/src/graphicsscene.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/graphicsscene.h 2020-11-02 22:25:19.000000000 +0000 @@ -31,7 +31,7 @@ Q_OBJECT public: - GraphicsScene(QObject *parent = 0); + GraphicsScene(QObject *parent = nullptr); protected: virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event); diff -Nru lximage-qt-0.14.1/src/imageview.cpp lximage-qt-0.16.0/src/imageview.cpp --- lximage-qt-0.14.1/src/imageview.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/imageview.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -30,9 +30,11 @@ #include #include #include +#include #include #define CURSOR_HIDE_DELY 3000 +#define GRAY 127 namespace LxImage { @@ -40,13 +42,15 @@ QGraphicsView(parent), scene_(new GraphicsScene(this)), imageItem_(new QGraphicsRectItem()), + outlineItem_(new QGraphicsRectItem()), gifMovie_(nullptr), cacheTimer_(nullptr), cursorTimer_(nullptr), scaleFactor_(1.0), autoZoomFit_(false), isSVG(false), - currentTool(ToolNone) { + currentTool(ToolNone), + showOutline_(false) { setViewportMargins(0, 0, 0, 0); setContentsMargins(0, 0, 0, 0); @@ -57,6 +61,10 @@ imageItem_->hide(); imageItem_->setPen(QPen(Qt::NoPen)); // remove the border scene_->addItem(imageItem_); + + outlineItem_->hide(); + outlineItem_->setPen(QPen(Qt::NoPen)); + scene_->addItem(outlineItem_); } ImageView::~ImageView() { @@ -73,6 +81,18 @@ } } +QGraphicsItem* ImageView::imageGraphicsItem() const { + if(!items().isEmpty()) { + return (items().constLast()); // the lowermost item + } + return nullptr; +} + +QGraphicsItem* ImageView::outlineGraphicsItem() const { + return outlineItem_; +} + + void ImageView::onFileDropped(const QString file) { Q_EMIT fileDropped(file); } @@ -105,19 +125,25 @@ } void ImageView::mousePressEvent(QMouseEvent * event) { - if (currentTool == ToolNone) { + if(currentTool == ToolNone) { QGraphicsView::mousePressEvent(event); - if(cursorTimer_) cursorTimer_->stop(); - } else { + if(cursorTimer_) { + cursorTimer_->stop(); + } + } + else { startPoint = mapToScene(event->pos()).toPoint(); } } void ImageView::mouseReleaseEvent(QMouseEvent* event) { - if (currentTool == ToolNone) { + if(currentTool == ToolNone) { QGraphicsView::mouseReleaseEvent(event); - if(cursorTimer_) cursorTimer_->start(CURSOR_HIDE_DELY); - } else if (!image_.isNull()) { + if(cursorTimer_) { + cursorTimer_->start(CURSOR_HIDE_DELY); + } + } + else if(!image_.isNull()) { QPoint endPoint = mapToScene(event->pos()).toPoint(); QPainter painter(&image_); @@ -129,10 +155,14 @@ drawArrow(painter, startPoint, endPoint, M_PI / 8, 25); break; case ToolRectangle: + // Draw the rectangle in the image and scene at the same time painter.drawRect(QRect(startPoint, endPoint)); + annotations.append(scene_->addRect(QRect(startPoint, endPoint), painter.pen())); break; case ToolCircle: + // Draw the circle in the image and scene at the same time painter.drawEllipse(QRect(startPoint, endPoint)); + annotations.append(scene_->addEllipse(QRect(startPoint, endPoint), painter.pen())); break; case ToolNumber: { @@ -142,7 +172,7 @@ painter.setFont(font); // Calculate the dimensions of the text - QString text = QString("%1").arg(nextNumber++); + QString text = QStringLiteral("%1").arg(nextNumber++); QRectF textRect = painter.boundingRect(image_.rect(), 0, text); textRect.moveTo(endPoint); @@ -153,15 +183,24 @@ textRect.top() + (textRect.height() / 2 - radius), radius * 2, radius * 2); - // Draw the path + // Draw the path in the image QPainterPath path; path.addEllipse(circleRect); painter.fillPath(path, Qt::red); painter.drawPath(path); + // Draw the path in the sence + annotations.append(scene_->addPath(path, painter.pen(), QBrush(Qt::red))); - // Draw the text + // Draw the text in the image painter.setPen(Qt::white); painter.drawText(textRect, Qt::AlignCenter, text); + // Draw the text in the sence + QGraphicsSimpleTextItem* textItem = new QGraphicsSimpleTextItem(text); + textItem->setFont(font); + textItem->setBrush(Qt::white); + textItem->setPos(textRect.topLeft()); + scene_->addItem(textItem); + annotations.append(textItem); break; } @@ -201,7 +240,8 @@ if(!image_.isNull()) { // if the image is smaller than our view, use its original size // instead of scaling it up. - if(image_.width() <= width() && image_.height() <= height()) { + if(static_cast(image_.width() / qApp->devicePixelRatio()) <= width() + && static_cast(image_.height() / qApp->devicePixelRatio()) <= height()) { zoomOriginal(); return; } @@ -218,6 +258,7 @@ scaleFactor_ *= 1.1; scale(scaleFactor_, scaleFactor_); queueGenerateCache(); + Q_EMIT zooming(); } } @@ -228,6 +269,7 @@ scaleFactor_ /= 1.1; scale(scaleFactor_, scaleFactor_); queueGenerateCache(); + Q_EMIT zooming(); } } @@ -238,7 +280,21 @@ queueGenerateCache(); } +void ImageView::drawOutline() { + QColor col = QColor(Qt::black); + if(qGray(backgroundBrush().color().rgb()) < GRAY) { + col = QColor(Qt::white); + } + QPen outline(col, 1, Qt::DashLine); + outline.setCosmetic(true); + outlineItem_->setPen(outline); + outlineItem_->setBrush(Qt::NoBrush); + outlineItem_->setVisible(showOutline_); + outlineItem_->setZValue(1); // to be drawn on top of all other items +} + void ImageView::setImage(const QImage& image, bool show) { + removeAnnotations(); if(show && (gifMovie_ || isSVG)) { // a gif animation or SVG file was shown before scene_->clear(); isSVG = false; @@ -251,21 +307,33 @@ imageItem_->hide(); imageItem_->setPen(QPen(Qt::NoPen)); scene_->addItem(imageItem_); + // outline + outlineItem_ = new QGraphicsRectItem(); + outlineItem_->hide(); + outlineItem_->setPen(QPen(Qt::NoPen)); + scene_->addItem(outlineItem_); } image_ = image; + QRectF r(QPointF(0, 0), image_.size() / qApp->devicePixelRatio()); if(image.isNull()) { imageItem_->hide(); imageItem_->setBrush(QBrush()); + outlineItem_->hide(); + outlineItem_->setBrush(QBrush()); scene_->setSceneRect(0, 0, 0, 0); } else { if(show) { - imageItem_->setRect(0, 0, image_.width(), image_.height()); + image_.setDevicePixelRatio(qApp->devicePixelRatio()); + imageItem_->setRect(r); imageItem_->setBrush(image_); imageItem_->show(); + // outline + outlineItem_->setRect(r); + drawOutline(); } - scene_->setSceneRect(0, 0, image_.width(), image_.height()); + scene_->setSceneRect(r); } if(autoZoomFit_) @@ -277,6 +345,7 @@ } void ImageView::setGifAnimation(const QString& fileName) { + removeAnnotations(); /* the built-in gif reader gives the first frame, which won't be shown but is used for tracking position and dimensions */ image_ = QImage(fileName); @@ -285,6 +354,10 @@ imageItem_->hide(); imageItem_->setBrush(QBrush()); } + if(outlineItem_) { + outlineItem_->hide(); + outlineItem_->setBrush(QBrush()); + } scene_->setSceneRect(0, 0, 0, 0); } else { @@ -295,9 +368,11 @@ gifMovie_ = nullptr; } QPixmap pix(image_.size()); + pix.setDevicePixelRatio(qApp->devicePixelRatio()); pix.fill(Qt::transparent); QGraphicsItem *gifItem = new QGraphicsPixmapItem(pix); QLabel *gifLabel = new QLabel(); + gifLabel->setMaximumSize(pix.size() / qApp->devicePixelRatio()); // show gif with its real size gifMovie_ = new QMovie(fileName); QGraphicsProxyWidget* gifWidget = new QGraphicsProxyWidget(gifItem); gifLabel->setAttribute(Qt::WA_NoSystemBackground); @@ -306,6 +381,12 @@ gifMovie_->start(); scene_->addItem(gifItem); scene_->setSceneRect(gifItem->boundingRect()); + + // outline + outlineItem_ = new QGraphicsRectItem(); // deleted by clear() + outlineItem_->setRect(gifItem->boundingRect()); + drawOutline(); + scene_->addItem(outlineItem_); } if(autoZoomFit_) @@ -314,12 +395,17 @@ } void ImageView::setSVG(const QString& fileName) { + removeAnnotations(); image_ = QImage(fileName); // for tracking position and dimensions if(image_.isNull()) { if(imageItem_) { imageItem_->hide(); imageItem_->setBrush(QBrush()); } + if(outlineItem_) { + outlineItem_->hide(); + outlineItem_->setBrush(QBrush()); + } scene_->setSceneRect(0, 0, 0, 0); } else { @@ -327,8 +413,18 @@ imageItem_ = nullptr; isSVG = true; QGraphicsSvgItem *svgItem = new QGraphicsSvgItem(fileName); + svgItem->setScale(1 / qApp->devicePixelRatio()); // show svg with its real size scene_->addItem(svgItem); - scene_->setSceneRect(svgItem->boundingRect()); + QRectF r(svgItem->boundingRect()); + r.setBottomRight(r.bottomRight() / qApp->devicePixelRatio()); + r.setTopLeft(r.topLeft() / qApp->devicePixelRatio()); + scene_->setSceneRect(r); + + // outline + outlineItem_ = new QGraphicsRectItem(); // deleted by clear() + outlineItem_->setRect(r); + drawOutline(); + scene_->addItem(outlineItem_); } if(autoZoomFit_) @@ -345,6 +441,28 @@ } } +void ImageView::showOutline(bool show) { + if(outlineItem_) { + outlineItem_->setVisible(show); + // the viewport may not be updated automatically + viewport()->update(); + } + showOutline_ = show; +} + +void ImageView::updateOutline() { + if(outlineItem_) { + QColor col = QColor(Qt::black); + if(qGray(backgroundBrush().color().rgb()) < GRAY) { + col = QColor(Qt::white); + } + QPen outline = outlineItem_->pen(); + outline.setColor(col); + outlineItem_->setPen(outline); + viewport()->update(); + } +} + void ImageView::paintEvent(QPaintEvent* event) { // if the image is scaled and we have a high quality cached image if(imageItem_ && scaleFactor_ != 1.0 && !cachedPixmap_.isNull()) { @@ -361,6 +479,16 @@ QPainter painter(viewport()); painter.fillRect(event->rect(), backgroundBrush()); painter.drawPixmap(repaintImageRect, cachedPixmap_); + // outline + if(showOutline_) { + QColor col = QColor(Qt::black); + if(qGray(backgroundBrush().color().rgb()) < GRAY) { + col = QColor(Qt::white); + } + QPen outline(col, 1, Qt::DashLine); + painter.setPen(outline); + painter.drawRect(viewportImageRect); + } return; } } @@ -420,11 +548,12 @@ // If the original image has a color table, also use it for the subImage QVector colorTable = image_.colorTable(); - if (!colorTable.empty()) + if(!colorTable.empty()) { subImage.setColorTable(colorTable); + } // QImage scaled = subImage.scaled(subRect.width() * scaleFactor_, subRect.height() * scaleFactor_, Qt::KeepAspectRatio, Qt::SmoothTransformation); - QImage scaled = subImage.scaled(cachedRect_.width(), cachedRect_.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + QImage scaled = subImage.scaled(cachedRect_.size() * qApp->devicePixelRatio(), Qt::KeepAspectRatio, Qt::SmoothTransformation); // convert the cached scaled image to pixmap cachedPixmap_ = QPixmap::fromImage(scaled); @@ -434,8 +563,10 @@ // convert viewport coordinate to the original image (not scaled). QRect ImageView::viewportToScene(const QRect& rect) { // QPolygon poly = mapToScene(imageItem_->rect()); - QPoint topLeft = mapToScene(rect.topLeft()).toPoint(); - QPoint bottomRight = mapToScene(rect.bottomRight()).toPoint(); + /* NOTE: The scene rectangle is shrunken by qApp->devicePixelRatio() + but we want the coordinates with respect to the original image. */ + QPoint topLeft = (mapToScene(rect.topLeft()) * qApp->devicePixelRatio()).toPoint(); + QPoint bottomRight = (mapToScene(rect.bottomRight()) * qApp->devicePixelRatio()).toPoint(); return QRect(topLeft, bottomRight); } @@ -455,15 +586,17 @@ cursorTimer_ = new QTimer(this); cursorTimer_->setSingleShot(true); connect(cursorTimer_, &QTimer::timeout, this, &ImageView::blankCursor); - if(viewport()->cursor().shape() == Qt::OpenHandCursor) - cursorTimer_->start(CURSOR_HIDE_DELY); + if(viewport()->cursor().shape() == Qt::OpenHandCursor) { + cursorTimer_->start(CURSOR_HIDE_DELY); + } } - else if (cursorTimer_) { + else if(cursorTimer_) { cursorTimer_->stop(); delete cursorTimer_; cursorTimer_ = nullptr; - if(viewport()->cursor().shape() == Qt::BlankCursor) - viewport()->setCursor(Qt::OpenHandCursor); + if(viewport()->cursor().shape() == Qt::BlankCursor) { + viewport()->setCursor(Qt::OpenHandCursor); + } } } @@ -478,10 +611,12 @@ const QPoint &start, const QPoint &end, qreal tipAngle, - int tipLen) const + int tipLen) { - // Draw the line + // Draw the line in the inmage painter.drawLine(start, end); + // Draw the line in the scene + annotations.append(scene_->addLine(QLine(start, end), painter.pen())); // Calculate the angle of the line QPoint delta = end - start; @@ -497,9 +632,24 @@ static_cast(qCos(angle - tipAngle) * tipLen) ); - // Draw the two lines + // Draw the two lines in the image painter.drawLine(end, end + tip1); painter.drawLine(end, end + tip2); + // Draw the two lines in the scene + annotations.append(scene_->addLine(QLine(end, end+tip1), painter.pen())); + annotations.append(scene_->addLine(QLine(end, end+tip2), painter.pen())); +} + +void ImageView::removeAnnotations() { + if(!annotations.isEmpty()) { + if(!scene_->items().isEmpty()) { // WARNING: This is not enough to guard against dangling pointers. + for(const auto& annotation : qAsConst(annotations)) { + scene_->removeItem(annotation); + } + qDeleteAll(annotations.begin(), annotations.end()); + } + annotations.clear(); + } } } // namespace LxImage diff -Nru lximage-qt-0.14.1/src/imageview.h lximage-qt-0.16.0/src/imageview.h --- lximage-qt-0.14.1/src/imageview.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/imageview.h 2020-11-02 22:25:19.000000000 +0000 @@ -38,20 +38,23 @@ Q_OBJECT public: - ImageView(QWidget* parent = 0); + ImageView(QWidget* parent = nullptr); virtual ~ImageView(); + QGraphicsItem* imageGraphicsItem() const; + QGraphicsItem* outlineGraphicsItem() const; + void setImage(const QImage& image, bool show = true); void setGifAnimation(const QString& fileName); void setSVG(const QString& fileName); - QImage image() { + QImage image() const { return image_; } void setScaleFactor(double scale); - double scaleFactor() { + double scaleFactor() const { return scaleFactor_; } @@ -60,7 +63,7 @@ void zoomFit(); void zoomOriginal(); - bool autoZoomFit() { + bool autoZoomFit() const { return autoZoomFit_; } @@ -81,9 +84,12 @@ ToolNumber }; void activateTool(Tool tool); + void showOutline(bool show); + void updateOutline(); Q_SIGNALS: void fileDropped(const QString file); + void zooming(); protected: virtual void wheelEvent(QWheelEvent* event); @@ -100,11 +106,15 @@ QRect viewportToScene(const QRect& rect); QRect sceneToViewport(const QRectF& rect); + void drawOutline(); + void drawArrow(QPainter &painter, const QPoint &start, const QPoint &end, qreal tipAngle, - int tipLen) const; + int tipLen); + + void removeAnnotations(); private Q_SLOTS: void onFileDropped(const QString file); @@ -114,6 +124,7 @@ private: GraphicsScene* scene_; // the topmost container of all graphic items QGraphicsRectItem* imageItem_; // the rect item used to draw the image + QGraphicsRectItem* outlineItem_; // the rect to draw the image outline QImage image_; // image to show QMovie *gifMovie_; // gif animation to show (should be deleted explicitly) QPixmap cachedPixmap_; // caching of current viewport content (high quality scaled image) @@ -126,7 +137,9 @@ bool isSVG; // is the image an SVG file? Tool currentTool; // currently selected tool QPoint startPoint; // starting point for the tool + QList annotations; //annotation items which have been drawn in the scene int nextNumber; + bool showOutline_; }; } diff -Nru lximage-qt-0.14.1/src/loadimagejob.cpp lximage-qt-0.16.0/src/loadimagejob.cpp --- lximage-qt-0.14.1/src/loadimagejob.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/loadimagejob.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -38,8 +38,8 @@ QMap& exifData = *reinterpret_cast*>(user_data); char c[100]; auto ifd = exif_entry_get_ifd(ee); - QString key = exif_tag_get_title_in_ifd(ee->tag, ifd); - QString value = exif_entry_get_value(ee, c, 100); + QString key = QString::fromUtf8(exif_tag_get_title_in_ifd(ee->tag, ifd)); + QString value = QString::fromUtf8(exif_entry_get_value(ee, c, 100)); exifData.insert(key, value); } @@ -109,25 +109,41 @@ ExifByteOrder bo = exif_data_get_byte_order(exif_data.get()); /* bo == EXIF_BYTE_ORDER_INTEL ; */ orient = exif_get_short (orient_ent->data, bo); - qreal rotate_degrees = 0.0; + QMatrix m; switch(orient) { case 1: /* no rotation */ break; - case 8: - rotate_degrees = 270.0; + case 2: + // mirror horizontally + m.scale(-1, 1); break; case 3: - rotate_degrees = 180.0; + m.rotate(180); + break; + case 4: + // mirror vertically + m.scale(1, -1); + break; + case 5: + // transpose + m.rotate(-90); + m.scale(1, -1); break; case 6: - rotate_degrees = 90.0; + m.rotate(90); + break; + case 7: + // transverse + m.rotate(90); + m.scale(1, -1); + break; + case 8: + m.rotate(270); break; } // rotate the image according to EXIF orientation tag - if(rotate_degrees != 0.0) { - QTransform transform; - transform.rotate(rotate_degrees); - image_ = image_.transformed(transform, Qt::SmoothTransformation); + if(!m.isIdentity()) { + image_ = image_.transformed(m); } } diff -Nru lximage-qt-0.14.1/src/mainwindow.cpp lximage-qt-0.16.0/src/mainwindow.cpp --- lximage-qt-0.14.1/src/mainwindow.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/mainwindow.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -34,12 +34,15 @@ #include #include #include +#include #include #include #include -#include #include #include +#include +#include +#include #include "application.h" #include @@ -48,6 +51,7 @@ #include #include "mrumenu.h" +#include "resizeimagedialog.h" #include "upload/uploaddialog.h" using namespace LxImage; @@ -59,6 +63,7 @@ image_(), // currentFileInfo_(nullptr), imageModified_(false), + startMaximized_(false), folder_(nullptr), folderModel_(new Fm::FolderModel()), proxyModel_(new Fm::ProxyFolderModel()), @@ -66,7 +71,8 @@ thumbnailsDock_(nullptr), thumbnailsView_(nullptr), loadJob_(nullptr), - saveJob_(nullptr) { + saveJob_(nullptr), + fileMenu_(nullptr) { setAttribute(Qt::WA_DeleteOnClose); // FIXME: check if current image is saved before close @@ -76,7 +82,12 @@ Settings& settings = app->settings(); ui.setupUi(this); - connect(ui.actionScreenshot, &QAction::triggered, app, &Application::screenshot); + if(QX11Info::isPlatformX11()) { + connect(ui.actionScreenshot, &QAction::triggered, app, &Application::screenshot); + } + else { + ui.actionScreenshot->setVisible(false); + } connect(ui.actionPreferences, &QAction::triggered, app , &Application::editPreferences); proxyModel_->addFilter(modelFilter_); @@ -89,13 +100,37 @@ connect(ui.view, &ImageView::fileDropped, this, &MainWindow::onFileDropped); + connect(ui.view, &ImageView::zooming, this, &MainWindow::onZooming); + // install an event filter on the image view ui.view->installEventFilter(this); ui.view->setBackgroundBrush(QBrush(settings.bgColor())); + ui.view->updateOutline(); + ui.view->showOutline(settings.isOutlineShown()); + ui.actionShowOutline->setChecked(settings.isOutlineShown()); if(settings.showThumbnails()) setShowThumbnails(true); + ui.annotationsToolBar->setVisible(settings.isAnnotationsToolbarShown()); + ui.actionAnnotations->setChecked(settings.isAnnotationsToolbarShown()); + connect(ui.actionAnnotations, &QAction::triggered, [this](int checked) { + if(!isFullScreen()) { // annotations toolbar is hidden in fullscreen + ui.annotationsToolBar->setVisible(checked); + } + }); + // annotations toolbar visibility can change in its context menu + connect(ui.annotationsToolBar, &QToolBar::visibilityChanged, [this](int visible) { + if(!isFullScreen()) { // annotations toolbar is hidden in fullscreen + ui.actionAnnotations->setChecked(visible); + } + }); + + auto aGroup = new QActionGroup(this); + ui.actionZoomFit->setActionGroup(aGroup); + ui.actionOriginalSize->setActionGroup(aGroup); + ui.actionZoomFit->setChecked(true); + contextMenu_->addAction(ui.actionPrevious); contextMenu_->addAction(ui.actionNext); contextMenu_->addSeparator(); @@ -106,6 +141,8 @@ contextMenu_->addSeparator(); contextMenu_->addAction(ui.actionSlideShow); contextMenu_->addAction(ui.actionFullScreen); + contextMenu_->addAction(ui.actionShowOutline); + contextMenu_->addAction(ui.actionAnnotations); contextMenu_->addSeparator(); contextMenu_->addAction(ui.actionRotateClockwise); contextMenu_->addAction(ui.actionRotateCounterclockwise); @@ -114,6 +151,7 @@ contextMenu_->addAction(ui.actionFlipVertical); // Open images when MRU items are clicked + ui.menuRecently_Opened_Files->setMaxItems(settings.maxRecentFiles()); connect(ui.menuRecently_Opened_Files, &MruMenu::itemClicked, this, &MainWindow::onFileDropped); // Create an action group for the annotation tools @@ -125,6 +163,11 @@ annotationGroup->addAction(ui.actionDrawNumber); ui.actionDrawNone->setChecked(true); + // the "Open With..." menu + connect(ui.menu_File, &QMenu::aboutToShow, this, &MainWindow::fileMenuAboutToShow); + connect(ui.openWithMenu, &QMenu::aboutToShow, this, &MainWindow::createOpenWithMenu); + connect(ui.openWithMenu, &QMenu::aboutToHide, this, &MainWindow::deleteOpenWithMenu); + // create keyboard shortcuts QShortcut* shortcut = new QShortcut(Qt::Key_Left, this); connect(shortcut, &QShortcut::activated, this, &MainWindow::on_actionPrevious_triggered); @@ -167,23 +210,36 @@ } void MainWindow::on_actionOriginalSize_triggered() { - ui.view->setAutoZoomFit(false); - ui.view->zoomOriginal(); + if(ui.actionOriginalSize->isChecked()) { + ui.view->setAutoZoomFit(false); + ui.view->zoomOriginal(); + } } void MainWindow::on_actionZoomFit_triggered() { - ui.view->setAutoZoomFit(true); - ui.view->zoomFit(); + if(ui.actionZoomFit->isChecked()) { + ui.view->setAutoZoomFit(true); + ui.view->zoomFit(); + } } void MainWindow::on_actionZoomIn_triggered() { - ui.view->setAutoZoomFit(false); - ui.view->zoomIn(); + if(!ui.view->image().isNull()) { + ui.view->setAutoZoomFit(false); + ui.view->zoomIn(); + } } void MainWindow::on_actionZoomOut_triggered() { - ui.view->setAutoZoomFit(false); - ui.view->zoomOut(); + if(!ui.view->image().isNull()) { + ui.view->setAutoZoomFit(false); + ui.view->zoomOut(); + } +} + +void MainWindow::onZooming() { + ui.actionZoomFit->setChecked(false); + ui.actionOriginalSize->setChecked(false); } void MainWindow::on_actionDrawNone_triggered() { @@ -219,8 +275,9 @@ } } // this is used to open the first image of a folder - else if (!currentFile_) + else if (!currentFile_) { on_actionFirst_triggered(); + } } void MainWindow::openImageFile(const QString& fileName) { @@ -233,10 +290,10 @@ if(path == folderPath_) return; - QList formats = QImageReader::supportedImageFormats(); + const QList formats = QImageReader::supportedImageFormats(); QStringList formatsFilters; for (const QByteArray& format: formats) - formatsFilters << QString("*.") + format; + formatsFilters << QStringLiteral("*.") + QString::fromUtf8(format); QDir dir(fileName); dir.setNameFilters(formatsFilters); dir.setFilter(QDir::Files | QDir::NoDotAndDotDot); @@ -245,7 +302,8 @@ currentFile_ = Fm::FilePath{}; loadFolder(path); - } else { + } + else { // load the image file asynchronously loadImage(path); loadFolder(path.parent()); @@ -268,7 +326,10 @@ image_ = newImage; ui.view->setImage(image_); - ui.view->zoomOriginal(); + // always fit the image on pasting + ui.actionZoomFit->setChecked(true); + ui.view->setAutoZoomFit(true); + ui.view->zoomFit(); updateUI(); } @@ -279,24 +340,38 @@ QList formats = QImageReader::supportedImageFormats(); QList::iterator it = formats.begin(); for(;;) { - filterStr += "*."; - filterStr += (*it).toLower(); + filterStr += QLatin1String("*."); + filterStr += QString::fromUtf8((*it).toLower()); ++it; if(it != formats.end()) - filterStr += ' '; + filterStr += QLatin1Char(' '); else break; } + QString curFileName; + if(currentFile_) { + curFileName = QString::fromUtf8(currentFile_.displayName().get()); + } + else { + curFileName = QString::fromUtf8(Fm::FilePath::homeDir().toString().get()); + } QString fileName = QFileDialog::getOpenFileName( - this, tr("Open File"), QString(), + this, tr("Open File"), curFileName, tr("Image files (%1)").arg(filterStr)); return fileName; } QString MainWindow::openDirectory() { + QString curDirName; + if(currentFile_ && currentFile_.parent()) { + curDirName = QString::fromUtf8(currentFile_.parent().displayName().get()); + } + else { + curDirName = QString::fromUtf8(Fm::FilePath::homeDir().toString().get()); + } QString directory = QFileDialog::getExistingDirectory(this, - tr("Open directory"), QString()); + tr("Open directory"), curDirName); return directory; } @@ -306,11 +381,11 @@ QList formats = QImageWriter::supportedImageFormats(); QList::iterator it = formats.begin(); for(;;) { - filterStr += "*."; - filterStr += (*it).toLower(); + filterStr += QLatin1String("*."); + filterStr += QString::fromUtf8((*it).toLower()); ++it; if(it != formats.end()) - filterStr += ' '; + filterStr += QLatin1Char(' '); else break; } @@ -321,7 +396,7 @@ tr("Image files (%1)").arg(filterStr)); diag.setAcceptMode(QFileDialog::AcceptMode::AcceptSave); diag.setFileMode(QFileDialog::FileMode::AnyFile); - diag.setDefaultSuffix("png"); + diag.setDefaultSuffix(QStringLiteral("png")); if (diag.exec()) { fileName = diag.selectedFiles().at(0); @@ -376,17 +451,18 @@ void MainWindow::on_actionSaveAs_triggered() { if(saveJob_) // if we're currently saving another file return; - QString baseName; - if(currentFile_) - baseName = QString::fromUtf8(currentFile_.displayName().get()); + QString curFileName; + if(currentFile_) { + curFileName = QString::fromUtf8(currentFile_.displayName().get()); + } - QString fileName = saveFileName(baseName); + QString fileName = saveFileName(curFileName); if(!fileName.isEmpty()) { const Fm::FilePath path = Fm::FilePath::fromPathStr(qPrintable(fileName)); // save the image file asynchronously saveImage(path); - if(!currentFile_) { // if we haven't load any file yet + if(!currentFile_) { // if we haven't loaded any file yet currentFile_ = path; loadFolder(path.parent()); } @@ -464,17 +540,21 @@ void MainWindow::loadFolder(const Fm::FilePath & newFolderPath) { if(folder_) { // an folder is already loaded - if(newFolderPath == folderPath_) // same folder, ignore + if(newFolderPath == folderPath_) { // same folder, ignore return; + } disconnect(folder_.get(), nullptr, this, nullptr); // disconnect from all signals } folderPath_ = newFolderPath; folder_ = Fm::Folder::fromPath(folderPath_); - connect(folder_.get(), &Fm::Folder::finishLoading, this, &MainWindow::onFolderLoaded); - - folderModel_->setFolder(folder_); currentIndex_ = QModelIndex(); // set current index to invalid + folderModel_->setFolder(folder_); + if(folder_->isLoaded()) { // the folder may be already loaded elsewhere + onFolderLoaded(); + } + connect(folder_.get(), &Fm::Folder::finishLoading, this, &MainWindow::onFolderLoaded); + connect(folder_.get(), &Fm::Folder::filesRemoved, this, &MainWindow::onFilesRemoved); } // the image is loaded (the method is only called if the loading is not cancelled) @@ -485,14 +565,17 @@ if (sender() == loadJob_) { // Add to the MRU menu - ui.menuRecently_Opened_Files->addItem(loadJob_->filePath().localPath().get()); + ui.menuRecently_Opened_Files->addItem(QString::fromUtf8(loadJob_->filePath().localPath().get())); image_ = loadJob_->image(); exifData_ = loadJob_->getExifData(); loadJob_ = nullptr; // the job object will be freed later automatically - ui.view->setAutoZoomFit(true); + ui.view->setAutoZoomFit(ui.actionZoomFit->isChecked()); + if(ui.actionOriginalSize->isChecked()) { + ui.view->zoomOriginal(); + } ui.view->setImage(image_); // currentIndex_ should be corrected after loading @@ -502,7 +585,12 @@ /* we resized and moved the window without showing it in updateUI(), so we need to show it here */ - show(); + if(!isVisible()) { + if(startMaximized_) { + setWindowState(windowState() | Qt::WindowMaximized); + } + show(); + } } } @@ -594,40 +682,53 @@ if(loadJob_) { // if loading is in progress title = tr("[*]%1 (Loading...) - Image Viewer") .arg(QString::fromUtf8(dispName.get())); + ui.statusBar->setText(); } else { if(image_.isNull()) { title = tr("[*]%1 (Failed to Load) - Image Viewer") .arg(QString::fromUtf8(dispName.get())); + ui.statusBar->setText(); } else { + const QString filePath = QString::fromUtf8(dispName.get()); title = tr("[*]%1 (%2x%3) - Image Viewer") - .arg(QString::fromUtf8(dispName.get())) + .arg(filePath) .arg(image_.width()) .arg(image_.height()); - /* Here we try to implement the following behavior as far as possible: - (1) A minimum size of 400x400 is assumed; - (2) The window is scaled to fit the image; - (3) But for too big images, the window is scaled down; - (4) The window is centered on the screen. */ + ui.statusBar->setText(QStringLiteral("%1×%2").arg(image_.width()).arg(image_.height()), + filePath); if (!isVisible()) { - /* To have a correct position, we should move the window BEFORE - it's shown but we also need to know the dimensions of its view. - Therefore, we use show() without really showing the window. */ + /* Here we try to implement the following behavior as far as possible: + (1) A minimum size of 400x400 is assumed; + (2) The window is scaled to fit the image; + (3) But for too big images, the window is scaled down; + (4) The window is centered on the screen. + + To have a correct position, we should move the window BEFORE + it's shown and we also need to know the dimensions of its view. + Therefore, we first use show() without really showing the window. */ + + // the maximization setting may be lost in resizeEvent because we resize the window below + startMaximized_ = static_cast(qApp)->settings().windowMaximized(); setAttribute(Qt::WA_DontShowOnScreen); show(); int scrollThickness = style()->pixelMetric(QStyle::PM_ScrollBarExtent); QSize newSize = size() + image_.size() - ui.view->size() + QSize(scrollThickness, scrollThickness); - QRect ag = QApplication::desktop()->availableGeometry(); + QScreen *appScreen = QGuiApplication::screenAt(QCursor::pos()); + if(appScreen == nullptr) { + appScreen = QGuiApplication::primaryScreen(); + } + const QRect ag = appScreen ? appScreen->availableGeometry() : QRect(); // since the window isn't decorated yet, we have to assume a max thickness for its frame QSize maxFrame = QSize(50, 100); - if (newSize.width() > ag.width() - maxFrame.width() || newSize.height() > ag.height() - maxFrame.height()) - newSize.scale (ag.width() - maxFrame.width(), ag.height() - maxFrame.height(), Qt::KeepAspectRatio); - // a minimum size of 400x400 is good - if (newSize.width() < 400) newSize.rwidth() = 400; - if (newSize.height() < 400 ) newSize.rheight() = 400; - move (ag.x() + (ag.width() - newSize.width())/2, - ag.y() + (ag.height() - newSize.height())/2); + if(newSize.width() > ag.width() - maxFrame.width() + || newSize.height() > ag.height() - maxFrame.height()) { + newSize.scale(ag.width() - maxFrame.width(), ag.height() - maxFrame.height(), Qt::KeepAspectRatio); + } + newSize = newSize.expandedTo(QSize(400, 400)); // a minimum size of 400x400 is good + move(ag.x() + (ag.width() - newSize.width())/2, + ag.y() + (ag.height() - newSize.height())/2); resize(newSize); hide(); // hide it to show it again later, at onImageLoaded() setAttribute(Qt::WA_DontShowOnScreen, false); @@ -638,6 +739,7 @@ } else { title = tr("[*]Image Viewer"); + ui.statusBar->setText(); } setWindowTitle(title); setWindowModified(imageModified_); @@ -666,20 +768,36 @@ char* mime_type = g_content_type_guess(basename.get(), nullptr, 0, nullptr); QString mimeType; if (mime_type) { - mimeType = QString(mime_type); + mimeType = QString::fromUtf8(mime_type); g_free(mime_type); } - if(mimeType == "image/gif" - || mimeType == "image/svg+xml" || mimeType == "image/svg+xml-compressed") { + if(mimeType == QLatin1String("image/gif") + || mimeType == QLatin1String("image/svg+xml") || mimeType == QLatin1String("image/svg+xml-compressed")) { + if(!currentIndex_.isValid()) { + // since onImageLoaded is not called here, + // currentIndex_ should be set + currentIndex_ = indexFromPath(currentFile_); + } const Fm::CStrPtr file_name = currentFile_.toString(); - ui.view->setAutoZoomFit(true); // like in onImageLoaded() - if(mimeType == "image/gif") - ui.view->setGifAnimation(QString{file_name.get()}); + + // like in onImageLoaded() + ui.view->setAutoZoomFit(ui.actionZoomFit->isChecked()); + if(ui.actionOriginalSize->isChecked()) { + ui.view->zoomOriginal(); + } + + if(mimeType == QLatin1String("image/gif")) + ui.view->setGifAnimation(QString::fromUtf8(file_name.get())); else - ui.view->setSVG(QString{file_name.get()}); + ui.view->setSVG(QString::fromUtf8(file_name.get())); image_ = ui.view->image(); updateUI(); - show(); + if(!isVisible()) { + if(startMaximized_) { + setWindowState(windowState() | Qt::WindowMaximized); + } + show(); + } } else { // start a new gio job to load the specified image @@ -705,26 +823,25 @@ saveJob_ = new SaveImageJob(ui.view->image(), filePath); connect(saveJob_, &Fm::Job::finished, this, &MainWindow::onImageSaved); connect(saveJob_, &Fm::Job::error, this - , [] (const Fm::GErrorPtr & err, Fm::Job::ErrorSeverity /*severity*/, Fm::Job::ErrorAction & /*response*/) + , [this] (const Fm::GErrorPtr & err, Fm::Job::ErrorSeverity severity, Fm::Job::ErrorAction & /*response*/) { // TODO: show a info bar? - qWarning().noquote() << "lximage-qt:" << err.message(); + if(severity > Fm::Job::ErrorSeverity::MODERATE) { + QMessageBox::critical(this, QObject::tr("Error"), err.message()); + } + else { + qWarning().noquote() << "lximage-qt:" << err.message(); + } } , Qt::BlockingQueuedConnection); saveJob_->runAsync(); // FIXME: add a cancel button to the UI? update status bar? } -QGraphicsItem* MainWindow::getGraphicsItem() { - if(!ui.view->items().isEmpty()) - return ui.view->items().at(0); - return nullptr; -} - void MainWindow::on_actionRotateClockwise_triggered() { - QGraphicsItem *graphItem = getGraphicsItem(); - bool isGifOrSvg (graphItem->isWidget() // we have gif animation - || dynamic_cast(graphItem)); // an SVG image; + QGraphicsItem *imageItem = ui.view->imageGraphicsItem(); + bool isGifOrSvg ((imageItem && imageItem->isWidget()) // we have gif animation + || dynamic_cast(imageItem)); // an SVG image; if(!image_.isNull()) { QTransform transform; transform.rotate(90.0); @@ -737,19 +854,24 @@ if(isGifOrSvg) { QTransform transform; - transform.translate(graphItem->sceneBoundingRect().height(), 0); + transform.translate(imageItem->sceneBoundingRect().height(), 0); transform.rotate(90); // we need to apply transformations in the reverse order - QTransform prevTrans = graphItem->transform(); - graphItem->setTransform(transform, false); - graphItem->setTransform(prevTrans, true); + QTransform prevTrans = imageItem->transform(); + imageItem->setTransform(transform, false); + imageItem->setTransform(prevTrans, true); + // apply transformations to the outline item too + if(QGraphicsItem *outlineItem = ui.view->outlineGraphicsItem()){ + outlineItem->setTransform(transform, false); + outlineItem->setTransform(prevTrans, true); + } } } void MainWindow::on_actionRotateCounterclockwise_triggered() { - QGraphicsItem *graphItem = getGraphicsItem(); - bool isGifOrSvg (graphItem->isWidget() - || dynamic_cast(graphItem)); + QGraphicsItem *imageItem = ui.view->imageGraphicsItem(); + bool isGifOrSvg ((imageItem && imageItem->isWidget()) + || dynamic_cast(imageItem)); if(!image_.isNull()) { QTransform transform; transform.rotate(-90.0); @@ -760,11 +882,15 @@ if(isGifOrSvg) { QTransform transform; - transform.translate(0, graphItem->sceneBoundingRect().width()); + transform.translate(0, imageItem->sceneBoundingRect().width()); transform.rotate(-90); - QTransform prevTrans = graphItem->transform(); - graphItem->setTransform(transform, false); - graphItem->setTransform(prevTrans, true); + QTransform prevTrans = imageItem->transform(); + imageItem->setTransform(transform, false); + imageItem->setTransform(prevTrans, true); + if(QGraphicsItem *outlineItem = ui.view->outlineGraphicsItem()){ + outlineItem->setTransform(transform, false); + outlineItem->setTransform(prevTrans, true); + } } } @@ -782,6 +908,13 @@ clipboard->setImage(copiedImage); } +void MainWindow::on_actionCopyPath_triggered() { + if(currentFile_) { + const Fm::CStrPtr dispName = currentFile_.displayName(); + QApplication::clipboard()->setText(QString::fromUtf8(dispName.get())); + } +} + void MainWindow::on_actionPaste_triggered() { QClipboard *clipboard = QApplication::clipboard(); QImage image = clipboard->image(); @@ -792,21 +925,47 @@ void MainWindow::on_actionUpload_triggered() { - if (currentFile_.isValid()) { - UploadDialog(this, currentFile_.localPath().get()).exec(); + if(currentFile_.isValid()) { + UploadDialog(this, QString::fromUtf8(currentFile_.localPath().get())).exec(); + } + // if there is no open file, save the image to "/tmp" and delete it after upload + else if(!ui.view->image().isNull()) { + QString tmpFileName; + QString tmp = QStandardPaths::writableLocation(QStandardPaths::TempLocation); + if(!tmp.isEmpty()) { + QDir tmpDir(tmp); + if(tmpDir.exists()) { + const QString curTime = QDateTime::currentDateTime().toString(QStringLiteral("yyyyMMddhhmmss")); + tmpFileName = tmp + QStringLiteral("/lximage-") + curTime + QStringLiteral(".png"); + } + } + if(!tmpFileName.isEmpty() && saveJob_ == nullptr) { + const Fm::FilePath filePath = Fm::FilePath::fromPathStr(qPrintable(tmpFileName)); + saveJob_ = new SaveImageJob(ui.view->image(), filePath); + connect(saveJob_, &Fm::Job::finished, this, [this, tmpFileName] { + saveJob_ = nullptr; + UploadDialog(this, tmpFileName).exec(); + QFile::remove(tmpFileName); + }); + saveJob_->runAsync(); + } } } void MainWindow::on_actionFlipVertical_triggered() { bool hasQGraphicsItem(false); - if(QGraphicsItem *graphItem = getGraphicsItem()) { + if(QGraphicsItem *imageItem = ui.view->imageGraphicsItem()) { hasQGraphicsItem = true; QTransform transform; transform.scale(1, -1); - transform.translate(0, -graphItem->sceneBoundingRect().height()); - QTransform prevTrans = graphItem->transform(); - graphItem->setTransform(transform, false); - graphItem->setTransform(prevTrans, true); + transform.translate(0, -imageItem->sceneBoundingRect().height()); + QTransform prevTrans = imageItem->transform(); + imageItem->setTransform(transform, false); + imageItem->setTransform(prevTrans, true); + if(QGraphicsItem *outlineItem = ui.view->outlineGraphicsItem()){ + outlineItem->setTransform(transform, false); + outlineItem->setTransform(prevTrans, true); + } } if(!image_.isNull()) { image_ = image_.mirrored(false, true); @@ -817,14 +976,18 @@ void MainWindow::on_actionFlipHorizontal_triggered() { bool hasQGraphicsItem(false); - if(QGraphicsItem *graphItem = getGraphicsItem()) { + if(QGraphicsItem *imageItem = ui.view->imageGraphicsItem()) { hasQGraphicsItem = true; QTransform transform; transform.scale(-1, 1); - transform.translate(-graphItem->sceneBoundingRect().width(), 0); - QTransform prevTrans = graphItem->transform(); - graphItem->setTransform(transform, false); - graphItem->setTransform(prevTrans, true); + transform.translate(-imageItem->sceneBoundingRect().width(), 0); + QTransform prevTrans = imageItem->transform(); + imageItem->setTransform(transform, false); + imageItem->setTransform(prevTrans, true); + if(QGraphicsItem *outlineItem = ui.view->outlineGraphicsItem()){ + outlineItem->setTransform(transform, false); + outlineItem->setTransform(prevTrans, true); + } } if(!image_.isNull()) { image_ = image_.mirrored(true, true); @@ -833,6 +996,54 @@ } } +void MainWindow::on_actionResize_triggered() { + if(image_.isNull()) { + return; + } + QGraphicsItem *imageItem = ui.view->imageGraphicsItem(); + bool isSVG(dynamic_cast(imageItem)); + bool isGifOrSvg(isSVG || (imageItem && imageItem->isWidget())); + QSize imgSize(image_.size()); + ResizeImageDialog *dialog = new ResizeImageDialog(this); + dialog->setOriginalSize(image_.size()); + if(dialog->exec() == QDialog::Accepted) { + QSize newSize = dialog->scaledSize(); + if(!isSVG) { // with SVG, we get a sharp image below + image_ = image_.scaled(newSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + ui.view->setImage(image_, isGifOrSvg ? false : true); + } + if(isGifOrSvg) { + qreal sx = static_cast(newSize.width()) / imgSize.width(); + qreal sy = static_cast(newSize.height()) / imgSize.height(); + QTransform transform; + transform.scale(sx, sy); + QTransform prevTrans = imageItem->transform(); + imageItem->setTransform(transform, false); + imageItem->setTransform(prevTrans, true); + if(QGraphicsItem *outlineItem = ui.view->outlineGraphicsItem()) { + outlineItem->setTransform(transform, false); + outlineItem->setTransform(prevTrans, true); + } + + if(isSVG) { + // create and set a sharp scaled image with SVG + QPixmap pixmap(newSize); + pixmap.fill(Qt::transparent); + QPainter painter(&pixmap); + painter.setTransform(imageItem->transform()); + painter.setRenderHint(QPainter::Antialiasing); + QStyleOptionGraphicsItem opt; + imageItem->paint(&painter, &opt); + image_ = pixmap.toImage(); + ui.view->setImage(image_, false); + } + } + + setModified(true); + } + dialog->deleteLater(); +} + void MainWindow::setModified(bool modified) { imageModified_ = modified; updateUI(); @@ -845,6 +1056,23 @@ ui.view->setBackgroundBrush(QBrush(settings.fullScreenBgColor())); else ui.view->setBackgroundBrush(QBrush(settings.bgColor())); + ui.view->updateOutline(); + ui.menuRecently_Opened_Files->setMaxItems(settings.maxRecentFiles()); + + // also, update shortcuts + QHash ca = settings.customShortcutActions(); + const auto defaultShortcuts = app->defaultShortcuts(); + const auto actions = findChildren(); + for(const auto& action : actions) { + const QString objectName = action->objectName(); + if(ca.contains(objectName)) { + // custom shortcuts are saved in the PortableText format + action->setShortcut(QKeySequence(ca.value(objectName), QKeySequence::PortableText)); + } + else { // default shortcuts include all actions + action->setShortcut(defaultShortcuts.value(objectName).shortcut); + } + } } void MainWindow::on_actionPrint_triggered() { @@ -854,7 +1082,27 @@ if(dlg.exec() == QDialog::Accepted) { QPainter painter; painter.begin(&printer); - QRect pageRect = printer.pageRect(); + + // fit the target rectangle into the viewport if needed and center it + const QRectF viewportRect = painter.viewport(); + QRectF targetRect = image_.rect(); + if(viewportRect.width() < targetRect.width()) { + targetRect.setSize(QSize(viewportRect.width(), targetRect.height() * (viewportRect.width() / targetRect.width()))); + } + if(viewportRect.height() < targetRect.height()) { + targetRect.setSize(QSize(targetRect.width() * (viewportRect.height() / targetRect.height()), viewportRect.height())); + } + targetRect.moveCenter(viewportRect.center()); + + // set the viewport and window of the painter and paint the image + painter.setViewport(targetRect.toRect()); + painter.setWindow(image_.rect()); + painter.drawImage(0, 0, image_); + + painter.end(); + + // FIXME: The following code divides the image into columns and could be used later as an option. + /*QRect pageRect = printer.pageRect(); int cols = (image_.width() / pageRect.width()) + (image_.width() % pageRect.width() ? 1 : 0); int rows = (image_.height() / pageRect.height()) + (image_.height() % pageRect.height() ? 1 : 0); for(int row = 0; row < rows; ++row) { @@ -866,7 +1114,7 @@ printer.newPage(); } } - painter.end(); + painter.end();*/ } } @@ -888,13 +1136,13 @@ Application* app = static_cast(qApp); slideShowTimer_->start(app->settings().slideShowInterval() * 1000); // showFullScreen(); - ui.actionSlideShow->setIcon(QIcon::fromTheme("media-playback-stop")); + ui.actionSlideShow->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-stop"))); } else { if(slideShowTimer_) { delete slideShowTimer_; slideShowTimer_ = nullptr; - ui.actionSlideShow->setIcon(QIcon::fromTheme("media-playback-start")); + ui.actionSlideShow->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-start"))); } } } @@ -903,6 +1151,10 @@ setShowThumbnails(checked); } +void MainWindow::on_actionShowOutline_triggered(bool checked) { + ui.view->showOutline(checked); +} + void MainWindow::on_actionShowExifData_triggered(bool checked) { setShowExifData(checked); } @@ -914,6 +1166,8 @@ thumbnailsDock_->setFeatures(QDockWidget::NoDockWidgetFeatures); // FIXME: should use DockWidgetClosable thumbnailsDock_->setWindowTitle(tr("Thumbnails")); thumbnailsView_ = new Fm::FolderView(Fm::FolderView::IconMode); + thumbnailsView_->setIconSize(Fm::FolderView::IconMode, QSize(64, 64)); + thumbnailsView_->setAutoSelectionDelay(0); thumbnailsDock_->setWidget(thumbnailsView_); addDockWidget(Qt::BottomDockWidgetArea, thumbnailsDock_); QListView* listView = static_cast(thumbnailsView_->childView()); @@ -982,7 +1236,8 @@ exifDataContentTable_->setEditTriggers(QAbstractItemView::NoEditTriggers); // Write the EXIF Data to the table - for (const QString& key : exifData_.keys()) { + const auto keys =exifData_.keys(); + for (const QString& key : keys) { int rowCount = exifDataContentTable_->rowCount(); exifDataContentTable_->insertRow(rowCount); @@ -1007,6 +1262,7 @@ if(isFullScreen()) { // changed to fullscreen mode ui.view->setFrameStyle(QFrame::NoFrame); ui.view->setBackgroundBrush(QBrush(app->settings().fullScreenBgColor())); + ui.view->updateOutline(); ui.toolBar->hide(); ui.annotationsToolBar->hide(); ui.statusBar->hide(); @@ -1027,6 +1283,7 @@ else { // restore to normal window mode ui.view->setFrameStyle(QFrame::StyledPanel|QFrame::Sunken); ui.view->setBackgroundBrush(QBrush(app->settings().bgColor())); + ui.view->updateOutline(); // now we're going to re-enable the menu, so remove the actions previously added. const auto actions_ = ui.menubar->actions(); for(QAction* action : qAsConst(actions_)) { @@ -1035,7 +1292,9 @@ } ui.menubar->show(); ui.toolBar->show(); - ui.annotationsToolBar->show(); + if(ui.actionAnnotations->isChecked()){ + ui.annotationsToolBar->show(); + } ui.statusBar->show(); if(thumbnailsDock_) thumbnailsDock_->show(); @@ -1090,8 +1349,39 @@ if(index.isValid()) { // WARNING: Adding the condition index != currentIndex_ would be wrong because currentIndex_ may not be updated yet const auto file = proxyModel_->fileInfoFromIndex(index); - if(file) + if(file) { loadImage(file->path(), index); + return; + } + } + } + // no image to show; reload to show a blank view and update variables + on_actionReload_triggered(); +} + +void MainWindow::onFilesRemoved(const Fm::FileInfoList& files) { + if(thumbnailsView_) { + return; // onThumbnailSelChanged() will do the job + } + for(auto& file : files) { + if(file->path() == currentFile_) { + if(proxyModel_->rowCount() >= 1 && currentIndex_.isValid()) { + QModelIndex index; + if(currentIndex_.row() < proxyModel_->rowCount()) { + index = currentIndex_; + } + else { + index = proxyModel_->index(proxyModel_->rowCount() - 1, 0); + } + const auto info = proxyModel_->fileInfoFromIndex(index); + if(info) { + loadImage(info->path(), index); + return; + } + } + // no image to show; reload to show a blank view + on_actionReload_triggered(); + return; } } } @@ -1099,3 +1389,40 @@ void MainWindow::onFileDropped(const QString path) { openImageFile(path); } + +void MainWindow::fileMenuAboutToShow() { + // the "Open With..." submenu of Fm::FileMenu is shown + // only if there is a file with a valid mime type + if(currentIndex_.isValid()) { + if(const auto file = proxyModel_->fileInfoFromIndex(currentIndex_)) { + if(file->mimeType()) { + ui.openWithMenu->setEnabled(true); + return; + } + } + } + ui.openWithMenu->setEnabled(false); +} + +void MainWindow::createOpenWithMenu() { + if(currentIndex_.isValid()) { + if(const auto file = proxyModel_->fileInfoFromIndex(currentIndex_)) { + if(file->mimeType()) { + // We want the "Open With..." submenu. It will be deleted alongside + // fileMenu_ when openWithMenu hides (-> deleteOpenWithMenu) + Fm::FileInfoList files; + files.push_back(file); + fileMenu_ = new Fm::FileMenu(files, file, Fm::FilePath()); + if(QMenu* menu = fileMenu_->openWithMenuAction()->menu()) { + ui.openWithMenu->addActions(menu->actions()); + } + } + } + } +} + +void MainWindow::deleteOpenWithMenu() { + if(fileMenu_) { + fileMenu_->deleteLater(); + } +} diff -Nru lximage-qt-0.14.1/src/mainwindow.h lximage-qt-0.16.0/src/mainwindow.h --- lximage-qt-0.14.1/src/mainwindow.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/mainwindow.h 2020-11-02 22:25:19.000000000 +0000 @@ -32,6 +32,7 @@ #include #include +#include #include #include "modelfilter.h" @@ -105,11 +106,14 @@ void on_actionRotateCounterclockwise_triggered(); void on_actionFlipVertical_triggered(); void on_actionFlipHorizontal_triggered(); + void on_actionResize_triggered(); void on_actionCopy_triggered(); + void on_actionCopyPath_triggered(); void on_actionPaste_triggered(); void on_actionUpload_triggered(); void on_actionShowThumbnails_triggered(bool checked); + void on_actionShowOutline_triggered(bool checked); void on_actionShowExifData_triggered(bool checked); void on_actionFullScreen_triggered(bool checked); void on_actionSlideShow_triggered(bool checked); @@ -124,6 +128,8 @@ void on_actionOriginalSize_triggered(); void on_actionZoomFit_triggered(); + void onZooming(); + void on_actionDrawNone_triggered(); void on_actionDrawArrow_triggered(); void on_actionDrawRectangle_triggered(); @@ -134,15 +140,19 @@ void onKeyboardEscape(); void onThumbnailSelChanged(const QItemSelection & selected, const QItemSelection & deselected); + void onFilesRemoved(const Fm::FileInfoList& files); void onFileDropped(const QString path); + void fileMenuAboutToShow(); + void createOpenWithMenu(); + void deleteOpenWithMenu(); + private: void onFolderLoaded(); void updateUI(); void setModified(bool modified); QModelIndex indexFromPath(const Fm::FilePath & filePath); - QGraphicsItem* getGraphicsItem(); private: Ui::MainWindow ui; @@ -154,6 +164,8 @@ // FmFileInfo* currentFileInfo_; // info of the current file, can be NULL bool imageModified_; // the current image is modified by rotation, flip, or others and needs to be saved + bool startMaximized_; + // folder browsing std::shared_ptr folder_; Fm::FilePath folderPath_; @@ -176,6 +188,8 @@ // multi-threading loading of images LoadImageJob* loadJob_; SaveImageJob* saveJob_; + + QPointer fileMenu_; }; } diff -Nru lximage-qt-0.14.1/src/mainwindow.ui lximage-qt-0.16.0/src/mainwindow.ui --- lximage-qt-0.14.1/src/mainwindow.ui 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/mainwindow.ui 2020-11-02 22:25:19.000000000 +0000 @@ -62,6 +62,11 @@ &File + + + Open &With... + + &Recently Opened Files @@ -70,6 +75,9 @@ + + + @@ -107,11 +115,13 @@ + + @@ -121,10 +131,13 @@ + + + @@ -169,7 +182,7 @@ - + Annotations Toolbar @@ -201,7 +214,7 @@ .. - &File + &Open… Ctrl+O @@ -319,6 +332,9 @@ + + true + .. @@ -331,6 +347,9 @@ + + true + .. @@ -604,6 +623,51 @@ Draw incrementing numbers + + + true + + + &Annotations Toolbar + + + Annotations Toolbar + + + + + true + + + Show Outline + + + Show Outline + + + O + + + + + + + + Copy Pa&th + + + Copy path + + + + + + .. + + + Resize + + @@ -616,6 +680,12 @@ QMenu
mrumenu.h
+ + LxImage::StatusBar + QStatusBar +
statusbar.h
+ 1 +
diff -Nru lximage-qt-0.14.1/src/modelfilter.cpp lximage-qt-0.16.0/src/modelfilter.cpp --- lximage-qt-0.14.1/src/modelfilter.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/modelfilter.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -19,6 +19,7 @@ */ #include "modelfilter.h" +#include using namespace LxImage; @@ -34,7 +35,9 @@ { Q_UNUSED(model) - // filter out non-image files and formats that we don't support. - return info && info->isImage(); + // Filter out formats that we don't support but don't use FileInfo::isImage() because + // it only checks if the mimetype starts with "image/" while Qt may support more. + static const QList mimeTypes = QImageReader::supportedMimeTypes(); + return info && mimeTypes.contains(info->mimeType()->name()); } diff -Nru lximage-qt-0.14.1/src/mrumenu.cpp lximage-qt-0.16.0/src/mrumenu.cpp --- lximage-qt-0.14.1/src/mrumenu.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/mrumenu.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -25,17 +25,21 @@ #include "mrumenu.h" #include "settings.h" -const int MaxItems = 5; - using namespace LxImage; MruMenu::MruMenu(QWidget *parent) - : QMenu(parent), - mFilenames(static_cast(qApp)->settings().recentlyOpenedFiles()) + : QMenu(parent) { + auto settings = static_cast(qApp)->settings(); + mMaxItems = qMin(qMax(settings.maxRecentFiles(), 0), 100); + mFilenames = settings.recentlyOpenedFiles(); + while (mFilenames.count() > mMaxItems) { // the config file may have been incorrectly edited + mFilenames.removeLast(); + } for (QStringList::const_iterator i = mFilenames.constBegin(); i != mFilenames.constEnd(); ++i) { addAction(createAction(*i)); } + setEnabled(mMaxItems != 0); // Add a separator and hide it if there are no items in the list mSeparator = addSeparator(); @@ -50,6 +54,10 @@ void MruMenu::addItem(const QString &filename) { + if (mMaxItems == 0) { + return; + } + if (mFilenames.isEmpty()) { mSeparator->setVisible(true); mClearAction->setEnabled(true); @@ -64,13 +72,28 @@ // Insert the action at the beginning of the list mFilenames.push_front(filename); - insertAction(actions().first(), createAction(filename)); + insertAction(actions().constFirst(), createAction(filename)); + + // If the list contains more than mMaxItems, remove the last one + while (mFilenames.count() > mMaxItems) { + destroyAction(mFilenames.count() - 1); + mFilenames.removeLast(); + } + + updateSettings(); +} - // If the list contains more than MaxItems, remove the last one - if (mFilenames.count() > MaxItems) { +void MruMenu::setMaxItems(int m) { + m = qMin(qMax(m, 0), 100); + if (m == mMaxItems) { + return; + } + while (mFilenames.count() > m) { + destroyAction(mFilenames.count() - 1); mFilenames.removeLast(); - destroyAction(MaxItems - 1); } + setEnabled(m != 0); + mMaxItems = m; updateSettings(); } diff -Nru lximage-qt-0.14.1/src/mrumenu.h lximage-qt-0.16.0/src/mrumenu.h --- lximage-qt-0.14.1/src/mrumenu.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/mrumenu.h 2020-11-02 22:25:19.000000000 +0000 @@ -46,6 +46,13 @@ */ void addItem(const QString &filename); + /** + * @brief Set maximum number of items + * + * The last item will be removed if the number is exceeded. + */ + void setMaxItems(int m); + Q_SIGNALS: /** @@ -69,6 +76,8 @@ QAction *mSeparator; QAction *mClearAction; + + int mMaxItems; }; } diff -Nru lximage-qt-0.14.1/src/preferencesdialog.cpp lximage-qt-0.16.0/src/preferencesdialog.cpp --- lximage-qt-0.14.1/src/preferencesdialog.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/preferencesdialog.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -22,13 +22,56 @@ #include "application.h" #include #include +#include +#include +#include #include using namespace LxImage; +static QHash ACTION_DISPLAY_NAMES; + +void KeySequenceEdit::keyPressEvent(QKeyEvent* event) { + // by not allowing multiple shortcuts, + // the Qt bug that makes Meta a non-modifier is worked around + clear(); + QKeySequenceEdit::keyPressEvent (event); +} + +QWidget* Delegate::createEditor(QWidget* parent, + const QStyleOptionViewItem& /*option*/, + const QModelIndex& /*index*/) const { + return new KeySequenceEdit(parent); +} + +bool Delegate::eventFilter(QObject* object, QEvent* event) { + QWidget* editor = qobject_cast(object); + if(editor && event->type() == QEvent::KeyPress) { + int k = static_cast(event)->key(); + if (k == Qt::Key_Return || k == Qt::Key_Enter) { + Q_EMIT QAbstractItemDelegate::commitData(editor); + Q_EMIT QAbstractItemDelegate::closeEditor(editor); + return true; + } + } + return QStyledItemDelegate::eventFilter(object, event); +} +/*************************/ PreferencesDialog::PreferencesDialog(QWidget* parent): QDialog(parent) { ui.setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ui.warningLabel->setStyleSheet(QStringLiteral("QLabel {background-color: #7d0000; color: white; border-radius: 3px; margin: 2px; padding: 5px;}")); + ui.warningLabel->hide(); + warningTimer_ = nullptr; + + Delegate *del = new Delegate(ui.tableWidget); + ui.tableWidget->setItemDelegate(del); + ui.tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); + ui.tableWidget->horizontalHeader()->setSectionsClickable(true); + ui.tableWidget->sortByColumn(0, Qt::AscendingOrder); + ui.tableWidget->setToolTip(tr("Use a modifier key to clear a shortcut\nin the editing mode.")); Application* app = static_cast(qApp); Settings& settings = app->settings(); @@ -37,14 +80,37 @@ initIconThemes(settings); ui.bgColor->setColor(settings.bgColor()); ui.fullScreenBgColor->setColor(settings.fullScreenBgColor()); + ui.maxRecentFiles->setValue(settings.maxRecentFiles()); ui.slideShowInterval->setValue(settings.slideShowInterval()); + ui.oulineBox->setChecked(settings.isOutlineShown()); + ui.annotationBox->setChecked(settings.isAnnotationsToolbarShown()); + + // shortcuts + initShortcuts(); } PreferencesDialog::~PreferencesDialog() { + if(warningTimer_) { + warningTimer_->stop(); + delete warningTimer_; + warningTimer_ = nullptr; + } Application* app = static_cast(qApp); app->removeWindow(); } +void PreferencesDialog::showEvent(QShowEvent* event) { + QSize prefSize = static_cast(qApp)->settings().getPrefSize(); + if(QWindow *window = windowHandle()) { + if(QScreen *sc = window->screen()) { + prefSize = prefSize.boundedTo(sc->availableGeometry().size() - QSize(50, 100)); + } + } + resize(prefSize); + + QDialog::showEvent(event); +} + void PreferencesDialog::accept() { Application* app = static_cast(qApp); Settings& settings = app->settings(); @@ -68,8 +134,12 @@ settings.setBgColor(ui.bgColor->color()); settings.setFullScreenBgColor(ui.fullScreenBgColor->color()); + settings.setMaxRecentFiles(ui.maxRecentFiles->value()); settings.setSlideShowInterval(ui.slideShowInterval->value()); + settings.showOutline(ui.oulineBox->isChecked()); + settings.showAnnotationsToolbar(ui.annotationBox->isChecked()); + applyNewShortcuts(); settings.save(); QDialog::accept(); app->applySettings(); @@ -80,7 +150,7 @@ const QStringList subDirs = dir.entryList(QDir::AllDirs); GKeyFile* kf = g_key_file_new(); for(const QString& subDir : subDirs) { - QString indexFile = dirName % '/' % subDir % "/index.theme"; + QString indexFile = dirName + QLatin1Char('/') + subDir + QStringLiteral("/index.theme"); if(g_key_file_load_from_file(kf, indexFile.toLocal8Bit().constData(), GKeyFileFlags(0), nullptr)) { // FIXME: skip hidden ones // icon theme must have this key, so it has icons if it has this key @@ -88,7 +158,7 @@ if(g_key_file_has_key(kf, "Icon Theme", "Directories", nullptr)) { char* dispName = g_key_file_get_locale_string(kf, "Icon Theme", "Name", nullptr, nullptr); // char* comment = g_key_file_get_locale_string(kf, "Icon Theme", "Comment", NULL, NULL); - iconThemes[subDir] = dispName; + iconThemes[subDir] = QString::fromUtf8(dispName); g_free(dispName); } } @@ -102,15 +172,15 @@ // load xdg icon themes and select the current one QHash iconThemes; // user customed icon themes - findIconThemesInDir(iconThemes, QString(g_get_home_dir()) % "/.icons"); + findIconThemesInDir(iconThemes, QString::fromUtf8(g_get_home_dir()) + QStringLiteral("/.icons")); // search for icons in system data dir const char* const* dataDirs = g_get_system_data_dirs(); for(const char* const* dataDir = dataDirs; *dataDir; ++dataDir) { - findIconThemesInDir(iconThemes, QString(*dataDir) % "/icons"); + findIconThemesInDir(iconThemes, QString::fromUtf8((*dataDir)) + QStringLiteral("/icons")); } - iconThemes.remove("hicolor"); // remove hicolor, which is only a fallback + iconThemes.remove(QStringLiteral("hicolor")); // remove hicolor, which is only a fallback QHash::const_iterator it; for(it = iconThemes.constBegin(); it != iconThemes.constEnd(); ++it) { ui.iconTheme->addItem(it.value(), it.key()); @@ -136,7 +206,184 @@ } } +void PreferencesDialog::showWarning(const QString& text, bool temporary) { + if(text.isEmpty()) { + permanentWarning_.clear(); + ui.warningLabel->clear(); + ui.warningLabel->hide(); + } + else { + ui.warningLabel->setText(text); + ui.warningLabel->show(); + if(!temporary) { + permanentWarning_ = text; + } + else { + if(warningTimer_ == nullptr) { + warningTimer_ = new QTimer(); + warningTimer_->setSingleShot (true); + connect(warningTimer_, &QTimer::timeout, [this] { + ui.warningLabel->setText(permanentWarning_); + ui.warningLabel->setVisible(!permanentWarning_.isEmpty()); + }); + } + warningTimer_->start(2500); + } + } +} + +void PreferencesDialog::initShortcuts() { + Application* app = static_cast(qApp); + Settings& settings = app->settings(); + + // pair display and object names together (to get the latter from the former) + if(ACTION_DISPLAY_NAMES.isEmpty()) { + QHash::const_iterator iter = app->defaultShortcuts().constBegin(); + while (iter != app->defaultShortcuts().constEnd()) { + ACTION_DISPLAY_NAMES.insert(iter.value().displayText, iter.key()); + ++ iter; + } + } + + // fill the table widget + ui.tableWidget->setRowCount(ACTION_DISPLAY_NAMES.size()); + ui.tableWidget->setSortingEnabled(false); + int index = 0; + QHash ca = settings.customShortcutActions(); + QHash::const_iterator iter = ACTION_DISPLAY_NAMES.constBegin(); + while(iter != ACTION_DISPLAY_NAMES.constEnd()) { + // add the action item + QTableWidgetItem *item = new QTableWidgetItem(iter.key()); + item->setFlags(item->flags() & ~Qt::ItemIsEditable & ~Qt::ItemIsSelectable); + ui.tableWidget->setItem(index, 0, item); + + // NOTE: Shortcuts are saved in the PortableText format but + // their texts should be added to the table in the NativeText format. + QString shortcut; + if(ca.contains(iter.value())) { // a cusrom shortcut + shortcut = ca.value(iter.value()); + QKeySequence keySeq(shortcut, QKeySequence::PortableText); + shortcut = keySeq.toString(QKeySequence::NativeText); + } + else { // a default shortcut + shortcut = app->defaultShortcuts().value(iter.value()).shortcut.toString(QKeySequence::NativeText); + } + ui.tableWidget->setItem(index, 1, new QTableWidgetItem(shortcut)); + allShortcuts_.insert(iter.key(), shortcut); + + ++ iter; + ++ index; + } + ui.tableWidget->setSortingEnabled(true); + ui.tableWidget->setCurrentCell(0, 1); + + const auto shortcuts = allShortcuts_.values(); + for(int i = 0; i < shortcuts.size(); ++i) { + if(!shortcuts.at(i).isEmpty() && shortcuts.indexOf(shortcuts.at(i), i + 1) > -1) { + showWarning(tr("Warning: Ambiguous shortcut detected!"), false); + break; + } + } + + connect(ui.tableWidget, &QTableWidget::itemChanged, this, &PreferencesDialog::onShortcutChange); + connect(ui.defaultButton, &QAbstractButton::clicked, this, &PreferencesDialog::restoreDefaultShortcuts); + ui.defaultButton->setDisabled(ca.isEmpty()); +} + +void PreferencesDialog::onShortcutChange(QTableWidgetItem* item) { + QString desc = ui.tableWidget->item(ui.tableWidget->currentRow(), 0)->text(); + QString txt = item->text(); + + const auto shortcuts = allShortcuts_.values(); + for(const auto& s : shortcuts) { + if(!s.isEmpty() && s == txt) { + showWarning(tr("Ambiguous shortcut not accepted.")); + disconnect(ui.tableWidget, &QTableWidget::itemChanged, this, &PreferencesDialog::onShortcutChange); + item->setText(allShortcuts_.value (desc)); // restore the previous shortcut + connect(ui.tableWidget, &QTableWidget::itemChanged, this, &PreferencesDialog::onShortcutChange); + return; + } + } + showWarning(QString()); // ambiguous shortcuts might have been added manually + + allShortcuts_.insert(desc, txt); + + if(!txt.isEmpty()) { + // NOTE: The QKeySequenceEdit text is in the NativeText format but + // it should be converted into the PortableText format for saving. + QKeySequence keySeq(txt, QKeySequence::NativeText); + txt = keySeq.toString(QKeySequence::PortableText); + } + modifiedShortcuts_.insert(ACTION_DISPLAY_NAMES.value(desc), txt); + + // also set the state of the Default button + Application* app = static_cast(qApp); + for(int i = 0; i < ui.tableWidget->rowCount(); ++i) { + const QString objectName = ACTION_DISPLAY_NAMES.value(ui.tableWidget->item(i, 0)->text()); + if(app->defaultShortcuts().value(objectName).shortcut.toString(QKeySequence::PortableText) + != ui.tableWidget->item(i, 1)->text()) { + ui.defaultButton->setEnabled(true); + return; + } + } + ui.defaultButton->setEnabled(false); +} + +void PreferencesDialog::restoreDefaultShortcuts() { + Application* app = static_cast(qApp); + if (modifiedShortcuts_.isEmpty() + && app->settings().customShortcutActions().isEmpty()) { + // do nothing if there's no custom shortcut + return; + } + + showWarning(QString()); + + disconnect(ui.tableWidget, &QTableWidget::itemChanged, this, &PreferencesDialog::onShortcutChange); + int cur = ui.tableWidget->currentColumn() == 0 ? 0 : ui.tableWidget->currentRow(); + ui.tableWidget->setSortingEnabled(false); + + // consider all shortcuts modified + QHash::const_iterator iter = app->defaultShortcuts().constBegin(); + while (iter != app->defaultShortcuts().constEnd()) { + modifiedShortcuts_.insert(iter.key(), iter.value().shortcut.toString(QKeySequence::PortableText)); + ++ iter; + } + + // restore default shortcuts in the GUI + for(int i = 0; i < ui.tableWidget->rowCount(); ++i) { + const QString objectName = ACTION_DISPLAY_NAMES.value(ui.tableWidget->item(i, 0)->text()); + QString s = app->defaultShortcuts().value(objectName).shortcut.toString(QKeySequence::PortableText); + ui.tableWidget->item(i, 1)->setText(s); + } + + ui.tableWidget->setSortingEnabled(true); + ui.tableWidget->setCurrentCell(cur, 1); + connect(ui.tableWidget, &QTableWidget::itemChanged, this, &PreferencesDialog::onShortcutChange); + ui.defaultButton->setEnabled(false); +} + +void PreferencesDialog::applyNewShortcuts() { + // remember the modified shortcuts if they are different from the default ones + Application* app = static_cast(qApp); + Settings& settings = app->settings(); + QHash::const_iterator it = modifiedShortcuts_.constBegin(); + while(it != modifiedShortcuts_.constEnd()) { + if(app->defaultShortcuts().value(it.key()).shortcut.toString(QKeySequence::PortableText) == it.value()) { + settings.removeShortcut(it.key()); + } + else { + settings.addShortcut(it.key(), it.value()); + } + ++it; + } +} + void PreferencesDialog::done(int r) { + // remember size + Settings& settings = static_cast(qApp)->settings(); + settings.setPrefSize(size()); + QDialog::done(r); deleteLater(); } diff -Nru lximage-qt-0.14.1/src/preferencesdialog.h lximage-qt-0.16.0/src/preferencesdialog.h --- lximage-qt-0.14.1/src/preferencesdialog.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/preferencesdialog.h 2020-11-02 22:25:19.000000000 +0000 @@ -22,26 +22,66 @@ #define LXIMAGE_PREFERENCESDIALOG_H #include +#include +#include +#include #include "ui_preferencesdialog.h" namespace LxImage { class Settings; +class KeySequenceEdit : public QKeySequenceEdit { + Q_OBJECT +public: + KeySequenceEdit(QWidget* parent = nullptr): QKeySequenceEdit(parent) {} + +protected: + virtual void keyPressEvent(QKeyEvent* event); +}; + +class Delegate : public QStyledItemDelegate +{ + Q_OBJECT +public: + Delegate (QObject *parent = nullptr) : QStyledItemDelegate(parent) {} + + virtual QWidget* createEditor(QWidget* parent, + const QStyleOptionViewItem&, + const QModelIndex&) const; + +protected: + virtual bool eventFilter(QObject* object, QEvent *event); +}; + class PreferencesDialog : public QDialog { Q_OBJECT public: - explicit PreferencesDialog(QWidget* parent = 0); + explicit PreferencesDialog(QWidget* parent = nullptr); virtual ~PreferencesDialog(); virtual void accept(); virtual void done(int r); +protected: + virtual void showEvent(QShowEvent* event); + +private Q_SLOTS: + void onShortcutChange(QTableWidgetItem* item); + void restoreDefaultShortcuts(); + private: void initIconThemes(Settings& settings); + void initShortcuts(); + void applyNewShortcuts(); + void showWarning(const QString& text, bool temporary = true); private: Ui::PreferencesDialog ui; + QHash modifiedShortcuts_; + QHash allShortcuts_; // only used for checking ambiguity + QString permanentWarning_; + QTimer *warningTimer_; }; } diff -Nru lximage-qt-0.14.1/src/preferencesdialog.ui lximage-qt-0.16.0/src/preferencesdialog.ui --- lximage-qt-0.14.1/src/preferencesdialog.ui 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/preferencesdialog.ui 2020-11-02 22:25:19.000000000 +0000 @@ -6,8 +6,8 @@ 0 0 - 331 - 225 + 400 + 400 @@ -66,21 +66,95 @@
+ + + Maximum number of recent files: + + + + + + + Slide show interval (seconds): - + 1 + + + + Show image outline by default + + + + + + + Show annotations toolbar by default + + +
+ + + Shortcuts + + + + + + QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + true + + + QAbstractItemView::SingleSelection + + + false + + + + Action + + + + + Shortcut + + + + + + + + Default + + + + + + + + + + + Qt::AlignCenter + + + Qt::NoTextInteraction + diff -Nru lximage-qt-0.14.1/src/resizeimagedialog.cpp lximage-qt-0.16.0/src/resizeimagedialog.cpp --- lximage-qt-0.14.1/src/resizeimagedialog.cpp 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/resizeimagedialog.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,142 @@ +/* + * LXImage-Qt - a simple and fast image viewer + * Copyright (C) 2013 PCMan + * + * Resize feature inspired by Gwenview's one + * Copyright 2010 Aurélien Gâteau + * adjam refactored + * Copyright 2020 Andrea Diamantini + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "resizeimagedialog.h" + +using namespace LxImage; + + +ResizeImageDialog::ResizeImageDialog(QWidget* parent): + QDialog(parent) { + + ui.setupUi(this); + + updateFromRatio_ = false; + updateFromSizeOrPercentage_ = false; + + connect(ui.widthSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &ResizeImageDialog::onWidthChanged); + connect(ui.heightSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &ResizeImageDialog::onHeightChanged); + connect(ui.widthPercentSpinBox, QOverload::of(&QDoubleSpinBox::valueChanged), this, &ResizeImageDialog::onWidthPercentChanged); + connect(ui.heightPercentSpinBox, QOverload::of(&QDoubleSpinBox::valueChanged), this, &ResizeImageDialog::onHeightPercentChanged); + connect(ui.keepAspectCheckBox, &QCheckBox::toggled, this, &ResizeImageDialog::onKeepAspectChanged); +} + +ResizeImageDialog::~ResizeImageDialog() { + +} + +void ResizeImageDialog::setOriginalSize(const QSize& size) { + originalSize_ = size; + ui.originalWidthLabel->setText(QString::number(size.width())); + ui.originalHeightLabel->setText(QString::number(size.height())); + ui.widthSpinBox->setValue(size.width()); + ui.heightSpinBox->setValue(size.height()); +} + +QSize ResizeImageDialog::scaledSize() const { + return QSize (ui.widthSpinBox->value(), + ui.heightSpinBox->value()); +} + +void ResizeImageDialog::onWidthChanged(int width) { + // Update width percentage to match width, only if this was a manual adjustment + if(!updateFromSizeOrPercentage_ && !updateFromRatio_) { + updateFromSizeOrPercentage_ = true; + ui.widthPercentSpinBox->setValue((double(width) / originalSize_.width()) * 100); + updateFromSizeOrPercentage_ = false; + } + + if(!ui.keepAspectCheckBox->isChecked() || updateFromRatio_) { + return; + } + + // Update height to keep ratio, only if ratio locked and this was a manual adjustment + updateFromRatio_ = true; + ui.heightSpinBox->setValue(originalSize_.height() * width / originalSize_.width()); + updateFromRatio_ = false; +} + +void ResizeImageDialog::onHeightChanged(int height) { + // Update height percentage to match height, only if this was a manual adjustment + if(!updateFromSizeOrPercentage_ && !updateFromRatio_) { + updateFromSizeOrPercentage_ = true; + ui.heightPercentSpinBox->setValue((double(height) / originalSize_.height()) * 100); + updateFromSizeOrPercentage_ = false; + } + + if(!ui.keepAspectCheckBox->isChecked() || updateFromRatio_) { + return; + } + + // Update width to keep ratio, only if ratio locked and this was a manual adjustment + updateFromRatio_ = true; + ui.widthSpinBox->setValue(originalSize_.width() * height / originalSize_.height()); + updateFromRatio_ = false; +} + +void ResizeImageDialog::onWidthPercentChanged(double widthPercent) { + // Update width to match width percentage, only if this was a manual adjustment + if(!updateFromSizeOrPercentage_ && !updateFromRatio_) { + updateFromSizeOrPercentage_ = true; + ui.widthSpinBox->setValue((widthPercent / 100) * originalSize_.width()); + updateFromSizeOrPercentage_ = false; + } + + if(!ui.keepAspectCheckBox->isChecked() || updateFromRatio_) { + return; + } + + // Keep height percentage in sync with width percentage, only if ratio locked and this was a manual adjustment + updateFromRatio_ = true; + ui.heightPercentSpinBox->setValue(ui.widthPercentSpinBox->value()); + updateFromRatio_ = false; +} + +void ResizeImageDialog::onHeightPercentChanged(double heightPercent) { + // Update height to match height percentage, only if this was a manual adjustment + if(!updateFromSizeOrPercentage_ && !updateFromRatio_) { + updateFromSizeOrPercentage_ = true; + ui.heightSpinBox->setValue((heightPercent / 100) * originalSize_.height()); + updateFromSizeOrPercentage_ = false; + } + + if(!ui.keepAspectCheckBox->isChecked() || updateFromRatio_) { + return; + } + + // Keep height percentage in sync with width percentage, only if ratio locked and this was a manual adjustment + updateFromRatio_ = true; + ui.widthPercentSpinBox->setValue(ui.heightPercentSpinBox->value()); + updateFromRatio_ = false; +} + +void ResizeImageDialog::onKeepAspectChanged(bool value) { + if(value) { + updateFromSizeOrPercentage_ = true; + onWidthChanged(ui.widthSpinBox->value()); + onWidthPercentChanged(ui.widthPercentSpinBox->value()); + updateFromSizeOrPercentage_ = false; + } +} diff -Nru lximage-qt-0.14.1/src/resizeimagedialog.h lximage-qt-0.16.0/src/resizeimagedialog.h --- lximage-qt-0.14.1/src/resizeimagedialog.h 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/resizeimagedialog.h 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,60 @@ +/* + * LXImage-Qt - a simple and fast image viewer + * Copyright (C) 2013 PCMan + * + * Resize feature inspired by Gwenview's one + * Copyright 2010 Aurélien Gâteau + * adjam refactored + * Copyright 2020 Andrea Diamantini + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#ifndef LXIMAGE_RESIZEIMAGEDIALOG_H +#define LXIMAGE_RESIZEIMAGEDIALOG_H + +#include +#include "ui_resizeimagedialog.h" + +namespace LxImage { + + +class ResizeImageDialog : public QDialog { + Q_OBJECT +public: + explicit ResizeImageDialog(QWidget* parent = nullptr); + virtual ~ResizeImageDialog(); + + void setOriginalSize(const QSize&); + QSize scaledSize() const; + +private Q_SLOTS: + void onWidthChanged(int); + void onHeightChanged(int); + void onWidthPercentChanged(double); + void onHeightPercentChanged(double); + void onKeepAspectChanged(bool); + +private: + Ui::ResizeImageDialog ui; + bool updateFromRatio_; + bool updateFromSizeOrPercentage_; + QSize originalSize_; +}; + +} + +#endif // LXIMAGE_RESIZEIMAGEDIALOG_H diff -Nru lximage-qt-0.14.1/src/resizeimagedialog.ui lximage-qt-0.16.0/src/resizeimagedialog.ui --- lximage-qt-0.14.1/src/resizeimagedialog.ui 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/resizeimagedialog.ui 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,248 @@ + + + ResizeImageDialog + + + + 0 + 0 + 302 + 158 + + + + Resize Image + + + + QLayout::SetFixedSize + + + 4 + + + + + Width + + + + + + + Height + + + + + + + Current size: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + × + + + Qt::AlignCenter + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + New size: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + widthSpinBox + + + + + + + px + + + 1 + + + 99999 + + + + + + + × + + + Qt::AlignCenter + + + + + + + px + + + 1 + + + 99999 + + + + + + + % + + + 0 + + + 1.000000000000000 + + + 1000.000000000000000 + + + + + + + × + + + Qt::AlignCenter + + + + + + + false + + + % + + + 0 + + + 1.000000000000000 + + + 1000.000000000000000 + + + + + + + Keep aspect ratio + + + true + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + widthSpinBox + heightSpinBox + widthPercentSpinBox + heightPercentSpinBox + keepAspectCheckBox + + + + + keepAspectCheckBox + toggled(bool) + heightPercentSpinBox + setDisabled(bool) + + + 177 + 139 + + + 264 + 119 + + + + + buttonBox + accepted() + ResizeImageDialog + accept() + + + 154 + 140 + + + 154 + 78 + + + + + buttonBox + rejected() + ResizeImageDialog + reject() + + + 154 + 140 + + + 154 + 78 + + + + + diff -Nru lximage-qt-0.14.1/src/saveimagejob.cpp lximage-qt-0.16.0/src/saveimagejob.cpp --- lximage-qt-0.14.1/src/saveimagejob.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/saveimagejob.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -45,7 +45,17 @@ ++format; QBuffer imageBuffer; - image_.save(&imageBuffer, format); // save the image to buffer + // save the image to buffer + if(!image_.save(&imageBuffer, format)) { + // do not create an empty file when the format is not supported + Fm::GErrorPtr err = Fm::GErrorPtr { + G_IO_ERROR, + G_IO_ERROR_NOT_SUPPORTED, + tr("Cannot save with this image format!") + }; + emitError(err, Fm::Job::ErrorSeverity::SEVERE); + return; + } GFileOutputStream* fileStream = nullptr; Fm::GErrorPtr error; diff -Nru lximage-qt-0.14.1/src/screenshotdialog.cpp lximage-qt-0.16.0/src/screenshotdialog.cpp --- lximage-qt-0.14.1/src/screenshotdialog.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/screenshotdialog.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -24,27 +24,46 @@ #include #include #include + #include "application.h" #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include +/* + * Used options for Artistic Style to format: +--style=google +--break-closing-braces +--break-one-line-headers +--add-braces +--break-elseifs +--indent=spaces=2 +--unpad-paren + * */ using namespace LxImage; -ScreenshotDialog::ScreenshotDialog(QWidget* parent, Qt::WindowFlags f): QDialog(parent, f) { - ui.setupUi(this); +static bool hasXFixes() { + int event_base, error_base; + return XFixesQueryExtension(QX11Info::display(), &event_base, &error_base); +} +ScreenshotDialog::ScreenshotDialog(QWidget* parent, Qt::WindowFlags f): QDialog(parent, f), hasXfixes_(hasXFixes()) { + ui.setupUi(this); Application* app = static_cast(qApp); app->addWindow(); - - int event_base, error_base; - hasXfixes_ = XFixesQueryExtension(QX11Info::display(), &event_base, &error_base) ? true : false; - if(!hasXfixes_) + if(!hasXfixes_) { ui.includeCursor->hide(); + } } ScreenshotDialog::~ScreenshotDialog() { @@ -67,8 +86,9 @@ // way to ensure that. Let's wait for 400 ms here for it. delay = 400; } - else + else { delay *= 1000; + } // the dialog object will be deleted in doScreenshot(). QTimer::singleShot(delay, this, SLOT(doScreenshot())); } @@ -94,9 +114,9 @@ int format; unsigned char* data = nullptr; if(XGetWindowProperty(QX11Info::display(), wid, atom, 0, G_MAXLONG, false, - XA_CARDINAL, &type, &format, &resultLen, &rest, &data) == Success) { + XA_CARDINAL, &type, &format, &resultLen, &rest, &data) == Success) { } - if(data) { // left, right, top, bottom + if(data) { // left, right, top, bottom long* offsets = reinterpret_cast(data); result.setLeft(result.left() - offsets[0]); result.setRight(result.right() + offsets[1]); @@ -116,43 +136,26 @@ WId result = 0; unsigned char* data = nullptr; if(XGetWindowProperty(QX11Info::display(), root, atom, 0, 1, false, - XA_WINDOW, &type, &format, &resultLen, &rest, &data) == Success) { + XA_WINDOW, &type, &format, &resultLen, &rest, &data) == Success) { result = *reinterpret_cast(data); XFree(data); } return result; } -void ScreenshotDialog::doScreenshot() { - WId wid = 0; - int x = 0, y = 0, width = -1, height = -1; - wid = QApplication::desktop()->winId(); // get desktop window - if(ui.currentWindow->isChecked()) { - WId activeWid = activeWindowId(); - if(activeWid) { - if(ui.includeFrame->isChecked()) { - QRect rect = windowFrame(activeWid); - x = rect.x(); - y = rect.y(); - width = rect.width(); - height = rect.height(); - } - else - wid = activeWid; - } - } - +QImage ScreenshotDialog::takeScreenshot(const WId& wid, const QRect& rect, bool takeCursor) { QImage image; QScreen *screen = QGuiApplication::primaryScreen(); if(screen) { - QPixmap pixmap = screen->grabWindow(wid, x, y, width, height); + QPixmap pixmap = screen->grabWindow(wid, rect.x(), rect.y(), rect.width(), rect.height()); image = pixmap.toImage(); - if(hasXfixes_ && ui.includeCursor->isChecked()) { + //call to hasXFixes() maybe executed here from cmd line with no gui mode (some day though, currently ignore cursor) + if(takeCursor && hasXFixes()) { // capture the cursor if needed XFixesCursorImage* cursor = XFixesGetCursorImage(QX11Info::display()); if(cursor) { - if(cursor->pixels) { // pixles should be an ARGB array + if(cursor->pixels) { // pixles should be an ARGB array QImage cursorImage; if(sizeof(long) == 4) { // FIXME: will we encounter byte-order problems here? @@ -161,9 +164,12 @@ else { // XFixes returns long integers which is not 32 bit on 64 bit systems. long len = cursor->width * cursor->height; quint32* buf = new quint32[len]; - for(long i = 0; i < len; ++i) + for(long i = 0; i < len; ++i) { buf[i] = (quint32)cursor->pixels[i]; - cursorImage = QImage((uchar*)buf, cursor->width, cursor->height, QImage::Format_ARGB32, [](void* b) { delete[] (quint32*)b; }, buf); + } + cursorImage = QImage((uchar*)buf, cursor->width, cursor->height, QImage::Format_ARGB32, [](void* b) { + delete[](quint32*)b; + }, buf); } // paint the cursor on the current image QPainter painter(&image); @@ -173,6 +179,28 @@ } } } + return image; +} + +void ScreenshotDialog::doScreenshot() { + WId wid = 0; + QRect rect{0, 0, -1, -1}; + + wid = QApplication::desktop()->winId(); // get desktop window + if(ui.currentWindow->isChecked()) { + WId activeWid = activeWindowId(); + if(activeWid) { + if(ui.includeFrame->isChecked()) { + rect = windowFrame(activeWid); + } + else { + wid = activeWid; + } + } + } + + //using stored hasXfixes_ so avoid extra call to function later + QImage image{takeScreenshot(wid, rect, hasXfixes_ && ui.includeCursor->isChecked())}; if(ui.screenArea->isChecked() && !image.isNull()) { ScreenshotSelectArea selectArea(image); @@ -183,9 +211,90 @@ Application* app = static_cast(qApp); MainWindow* window = app->createWindow(); - if(!image.isNull()) + window->resize(app->settings().windowWidth(), app->settings().windowHeight()); + if(!image.isNull()) { window->pasteImage(image); + } window->show(); deleteLater(); // destroy ourself } + +static QString buildNumericFnPart() { + //we may have many copies running with no gui, for example user presses hot keys fast + //so they must have different file names to save, lets do it time + pid + const auto now = QDateTime::currentDateTime().toMSecsSinceEpoch(); + const auto pid = getpid(); + return QStringLiteral("%1_%2").arg(now).arg(pid); +} + +static QString getWindowName(WId wid) { + QString result; + if(wid) { + static const char* atoms[] = { + "WM_NAME", + "_NET_WM_NAME", + "STRING", + "UTF8_STRING", + }; + + + const auto display = QX11Info::display(); + + Atom a = None, type; + + + for(const auto& c : atoms) { + if(None != (a = XInternAtom(display, c, true))) { + int form; + unsigned long remain, len; + unsigned char *list; + + errno = 0; + if(XGetWindowProperty(display, wid, a, 0, 1024, False, XA_STRING, + &type, &form, &len, &remain, &list) == Success) { + + if(list && *list) { + + std::string dump((const char*)list); + std::stringstream ss; + for(const auto& sym : dump) { + if(std::isalnum(sym)) { + ss.put(sym); + } + } + result = QString::fromStdString(ss.str()); + break; + } + } + + } + } + } + return (result.isEmpty()) ? QStringLiteral("UKNOWN") : result; +} + +void ScreenshotDialog::cmdTopShotToDir(QString path) { + + WId activeWid = activeWindowId(); + const QRect rect = (activeWid) ? windowFrame(activeWid) : QRect{0, 0, -1, -1}; + QImage img{takeScreenshot(QApplication::desktop()->winId(), rect, false)}; + + QDir d; + d.mkpath(path); + QFileInfo fi(path); + if(!fi.exists() || !fi.isDir() || !fi.isWritable()) { + path = QDir::homePath(); + } + const QString filename = QStringLiteral("%1/%2_%3").arg(path).arg(getWindowName(activeWid)).arg(buildNumericFnPart()); + + const auto static png = QStringLiteral(".png"); + QString finalName = filename % png; + + //most unlikelly this will happen ... but user might change system clock or so and we dont want to overwrite file + for(int counter = 0; QFile::exists(finalName) && counter < 5000; ++counter) { + finalName = QStringLiteral("%1_%2%3").arg(filename).arg(counter).arg(png); + } + //std::cout << finalName.toStdString() << std::endl; + img.save(finalName); +} diff -Nru lximage-qt-0.14.1/src/screenshotdialog.h lximage-qt-0.16.0/src/screenshotdialog.h --- lximage-qt-0.14.1/src/screenshotdialog.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/screenshotdialog.h 2020-11-02 22:25:19.000000000 +0000 @@ -28,22 +28,22 @@ class ScreenshotDialog : public QDialog { Q_OBJECT -public: - explicit ScreenshotDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); + public: + explicit ScreenshotDialog(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); virtual ~ScreenshotDialog(); virtual void done(int r); - -private: - WId activeWindowId(); - QRect windowFrame(WId wid); - -private Q_SLOTS: + static void cmdTopShotToDir(QString path); + private Q_SLOTS: void doScreenshot(); -private: + private: Ui::ScreenshotDialog ui; - bool hasXfixes_; + const bool hasXfixes_; + + QImage static takeScreenshot(const WId &wid, const QRect &rect, bool takeCursor = false); + static WId activeWindowId(); + static QRect windowFrame(WId wid); }; } diff -Nru lximage-qt-0.14.1/src/screenshotdialog.ui lximage-qt-0.16.0/src/screenshotdialog.ui --- lximage-qt-0.14.1/src/screenshotdialog.ui 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/screenshotdialog.ui 2020-11-02 22:25:19.000000000 +0000 @@ -71,7 +71,7 @@ - seconds + sec diff -Nru lximage-qt-0.14.1/src/screenshotselectareagraphicsview.h lximage-qt-0.16.0/src/screenshotselectareagraphicsview.h --- lximage-qt-0.14.1/src/screenshotselectareagraphicsview.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/screenshotselectareagraphicsview.h 2020-11-02 22:25:19.000000000 +0000 @@ -32,7 +32,7 @@ class ScreenshotSelectAreaGraphicsView : public QGraphicsView { Q_OBJECT public: - ScreenshotSelectAreaGraphicsView(QGraphicsScene* scene, QWidget* parent = 0); + ScreenshotSelectAreaGraphicsView(QGraphicsScene* scene, QWidget* parent = nullptr); Q_SIGNALS: void selectedArea(QRect rect); diff -Nru lximage-qt-0.14.1/src/screenshotselectarea.h lximage-qt-0.16.0/src/screenshotselectarea.h --- lximage-qt-0.14.1/src/screenshotselectarea.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/screenshotselectarea.h 2020-11-02 22:25:19.000000000 +0000 @@ -33,7 +33,7 @@ class ScreenshotSelectArea : public QDialog { Q_OBJECT public: - ScreenshotSelectArea(const QImage & image, QWidget* parent = 0); + ScreenshotSelectArea(const QImage & image, QWidget* parent = nullptr); QRect selectedArea(); private Q_SLOTS: diff -Nru lximage-qt-0.14.1/src/settings.cpp lximage-qt-0.16.0/src/settings.cpp --- lximage-qt-0.14.1/src/settings.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/settings.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -21,65 +21,98 @@ #include "settings.h" #include #include +#include using namespace LxImage; Settings::Settings(): - useFallbackIconTheme_(QIcon::themeName().isEmpty() || QIcon::themeName() == "hicolor"), + useFallbackIconTheme_(QIcon::themeName().isEmpty() || QIcon::themeName() == QLatin1String("hicolor")), bgColor_(255, 255, 255), fullScreenBgColor_(0, 0, 0), showThumbnails_(false), showSidePane_(false), slideShowInterval_(5), - fallbackIconTheme_("oxygen"), + fallbackIconTheme_(QStringLiteral("oxygen")), + maxRecentFiles_(5), fixedWindowWidth_(640), fixedWindowHeight_(480), lastWindowWidth_(640), lastWindowHeight_(480), - lastWindowMaximized_(false) { + lastWindowMaximized_(false), + showOutline_(false), + showAnnotationsToolbar_(false) { } Settings::~Settings() { } bool Settings::load() { - QSettings settings("lximage-qt", "settings"); - fallbackIconTheme_ = settings.value("fallbackIconTheme", fallbackIconTheme_).toString(); - bgColor_ = settings.value("bgColor", bgColor_).value(); - fullScreenBgColor_ = settings.value("fullScreenBgColor", fullScreenBgColor_).value(); + QSettings settings(QStringLiteral("lximage-qt"), QStringLiteral("settings")); + fallbackIconTheme_ = settings.value(QStringLiteral("fallbackIconTheme"), fallbackIconTheme_).toString(); + bgColor_ = settings.value(QStringLiteral("bgColor"), bgColor_).value(); + fullScreenBgColor_ = settings.value(QStringLiteral("fullScreenBgColor"), fullScreenBgColor_).value(); // showThumbnails_; // showSidePane_; - slideShowInterval_ = settings.value("slideShowInterval", slideShowInterval_).toInt(); - recentlyOpenedFiles_ = settings.value("recentlyOpenedFiles").toStringList(); + slideShowInterval_ = settings.value(QStringLiteral("slideShowInterval"), slideShowInterval_).toInt(); + maxRecentFiles_ = settings.value(QStringLiteral("maxRecentFiles"), maxRecentFiles_).toInt(); + recentlyOpenedFiles_ = settings.value(QStringLiteral("recentlyOpenedFiles")).toStringList(); + + settings.beginGroup(QStringLiteral("Window")); + fixedWindowWidth_ = settings.value(QStringLiteral("FixedWidth"), 640).toInt(); + fixedWindowHeight_ = settings.value(QStringLiteral("FixedHeight"), 480).toInt(); + lastWindowWidth_ = settings.value(QStringLiteral("LastWindowWidth"), 640).toInt(); + lastWindowHeight_ = settings.value(QStringLiteral("LastWindowHeight"), 480).toInt(); + lastWindowMaximized_ = settings.value(QStringLiteral("LastWindowMaximized"), false).toBool(); + rememberWindowSize_ = settings.value(QStringLiteral("RememberWindowSize"), true).toBool(); + showOutline_ = settings.value(QStringLiteral("ShowOutline"), false).toBool(); + showAnnotationsToolbar_ = settings.value(QStringLiteral("ShowAnnotationsToolbar"), false).toBool(); + prefSize_ = settings.value(QStringLiteral("PrefSize"), QSize(400, 400)).toSize(); + settings.endGroup(); - settings.beginGroup("Window"); - fixedWindowWidth_ = settings.value("FixedWidth", 640).toInt(); - fixedWindowHeight_ = settings.value("FixedHeight", 480).toInt(); - lastWindowWidth_ = settings.value("LastWindowWidth", 640).toInt(); - lastWindowHeight_ = settings.value("LastWindowHeight", 480).toInt(); - lastWindowMaximized_ = settings.value("LastWindowMaximized", false).toBool(); - rememberWindowSize_ = settings.value("RememberWindowSize", true).toBool(); + // shortcuts + settings.beginGroup(QStringLiteral("Shortcuts")); + const QStringList actions = settings.childKeys(); + for(const auto& action : actions) { + QString str = settings.value(action).toString(); + addShortcut(action, str); + } settings.endGroup(); return true; } bool Settings::save() { - QSettings settings("lximage-qt", "settings"); + QSettings settings(QStringLiteral("lximage-qt"), QStringLiteral("settings")); + + settings.setValue(QStringLiteral("fallbackIconTheme"), fallbackIconTheme_); + settings.setValue(QStringLiteral("bgColor"), bgColor_); + settings.setValue(QStringLiteral("fullScreenBgColor"), fullScreenBgColor_); + settings.setValue(QStringLiteral("slideShowInterval"), slideShowInterval_); + settings.setValue(QStringLiteral("maxRecentFiles"), maxRecentFiles_); + settings.setValue(QStringLiteral("recentlyOpenedFiles"), recentlyOpenedFiles_); + + settings.beginGroup(QStringLiteral("Window")); + settings.setValue(QStringLiteral("FixedWidth"), fixedWindowWidth_); + settings.setValue(QStringLiteral("FixedHeight"), fixedWindowHeight_); + settings.setValue(QStringLiteral("LastWindowWidth"), lastWindowWidth_); + settings.setValue(QStringLiteral("LastWindowHeight"), lastWindowHeight_); + settings.setValue(QStringLiteral("LastWindowMaximized"), lastWindowMaximized_); + settings.setValue(QStringLiteral("RememberWindowSize"), rememberWindowSize_); + settings.setValue(QStringLiteral("ShowOutline"), showOutline_); + settings.setValue(QStringLiteral("ShowAnnotationsToolbar"), showAnnotationsToolbar_); + settings.setValue(QStringLiteral("PrefSize"), prefSize_); + settings.endGroup(); - settings.setValue("fallbackIconTheme", fallbackIconTheme_); - settings.setValue("bgColor", bgColor_); - settings.setValue("fullScreenBgColor", fullScreenBgColor_); - settings.setValue("slideShowInterval", slideShowInterval_); - settings.setValue("recentlyOpenedFiles", recentlyOpenedFiles_); - - settings.beginGroup("Window"); - settings.setValue("FixedWidth", fixedWindowWidth_); - settings.setValue("FixedHeight", fixedWindowHeight_); - settings.setValue("LastWindowWidth", lastWindowWidth_); - settings.setValue("LastWindowHeight", lastWindowHeight_); - settings.setValue("LastWindowMaximized", lastWindowMaximized_); - settings.setValue("RememberWindowSize", rememberWindowSize_); + // shortcuts + settings.beginGroup(QStringLiteral("Shortcuts")); + for(int i = 0; i < removedActions_.size(); ++i) { + settings.remove(removedActions_.at(i)); + } + QHash::const_iterator it = actions_.constBegin(); + while(it != actions_.constEnd()) { + settings.setValue(it.key(), it.value()); + ++it; + } settings.endGroup(); return true; diff -Nru lximage-qt-0.14.1/src/settings.h lximage-qt-0.16.0/src/settings.h --- lximage-qt-0.14.1/src/settings.h 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/settings.h 2020-11-02 22:25:19.000000000 +0000 @@ -25,6 +25,7 @@ #include #include #include +#include namespace LxImage { @@ -88,6 +89,13 @@ recentlyOpenedFiles_ = recentlyOpenedFiles; } + int maxRecentFiles() const { + return maxRecentFiles_; + } + void setMaxRecentFiles(int m) { + maxRecentFiles_ = m; + } + bool rememberWindowSize() const { return rememberWindowSize_; } @@ -145,6 +153,40 @@ lastWindowMaximized_ = lastWindowMaximized; } + bool isOutlineShown() const { + return showOutline_; + } + + void showOutline(bool show) { + showOutline_ = show; + } + + bool isAnnotationsToolbarShown() const { + return showAnnotationsToolbar_; + } + + void showAnnotationsToolbar(bool show) { + showAnnotationsToolbar_ = show; + } + + QSize getPrefSize() const { + return prefSize_; + } + void setPrefSize(const QSize &s) { + prefSize_ = s; + } + + QHash customShortcutActions() const { + return actions_; + } + void addShortcut(const QString &action, const QString &shortcut) { + actions_.insert(action, shortcut); + } + void removeShortcut(const QString &action) { + actions_.remove(action); + removedActions_ << action; + } + private: bool useFallbackIconTheme_; QColor bgColor_; @@ -154,6 +196,7 @@ int slideShowInterval_; QString fallbackIconTheme_; QStringList recentlyOpenedFiles_; + int maxRecentFiles_; bool rememberWindowSize_; int fixedWindowWidth_; @@ -161,6 +204,13 @@ int lastWindowWidth_; int lastWindowHeight_; bool lastWindowMaximized_; + bool showOutline_; + bool showAnnotationsToolbar_; + + QSize prefSize_; + + QHash actions_; + QStringList removedActions_; }; } diff -Nru lximage-qt-0.14.1/src/statusbar.cpp lximage-qt-0.16.0/src/statusbar.cpp --- lximage-qt-0.14.1/src/statusbar.cpp 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/statusbar.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,96 @@ +/* + * LXImage-Qt - a simple and fast image viewer + * Copyright (C) 2013 PCMan + * + * StatusBar by tsujan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "statusbar.h" +#include +#include + +#define MESSAGE_DELAY 250 + +namespace LxImage { + +Label::Label(QWidget* parent, Qt::WindowFlags f): + QLabel(parent, f), + lastWidth_(0) { + setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + // set a min width to prevent the window from widening with long texts + setMinimumWidth(fontMetrics().averageCharWidth() * 10); +} + +// A simplified version of QLabel::paintEvent() +// without pixmap or shortcut but with eliding. +void Label::paintEvent(QPaintEvent* /*event*/) { + QRect cr = contentsRect().adjusted(margin(), margin(), -margin(), -margin()); + QString txt = text(); + // if the text is changed or its rect is resized (due to window resizing), + // find whether it needs to be elided... + if(txt != lastText_ || cr.width() != lastWidth_) { + lastText_ = txt; + lastWidth_ = cr.width(); + elidedText_ = fontMetrics().elidedText(txt, Qt::ElideMiddle, cr.width()); + } + // ... then, draw the (elided) text + if(!elidedText_.isEmpty()) { + QPainter painter(this); + QStyleOption opt; + opt.initFrom(this); + style()->drawItemText(&painter, cr, alignment(), opt.palette, isEnabled(), elidedText_, foregroundRole()); + } +} + +StatusBar::StatusBar(QWidget* parent) + : QStatusBar(parent) { + // NOTE: The spacing is set to 6 in Qt → qstatusbar.cpp. + sizeLabel0_ = new QLabel(QStringLiteral("") + tr("Size:") + QStringLiteral("")); + sizeLabel0_->setContentsMargins(2, 0, 0, 0); + sizeLabel0_->hide(); + addWidget(sizeLabel0_); + + sizeLabel_ = new QLabel(); + sizeLabel_->hide(); + sizeLabel_->setContentsMargins(0, 0, 2, 0); + addWidget(sizeLabel_); + + pathLabel0_ = new QLabel(QStringLiteral("") + tr("Path:") + QStringLiteral("")); + pathLabel0_->hide(); + addWidget(pathLabel0_); + + pathLabel_ = new Label(); + pathLabel_->hide(); + pathLabel_->setFrameShape(QFrame::NoFrame); + addWidget(pathLabel_); +} + +StatusBar::~StatusBar() { +} + +void StatusBar::setText(const QString& sizeTxt, const QString& pathTxt) { + sizeLabel_->setText(sizeTxt); + sizeLabel0_->setVisible(!sizeTxt.isEmpty()); + sizeLabel_->setVisible(!sizeTxt.isEmpty()); + + pathLabel_->setText(pathTxt); + pathLabel0_->setVisible(!pathTxt.isEmpty()); + pathLabel_->setVisible(!pathTxt.isEmpty()); +} + +} diff -Nru lximage-qt-0.14.1/src/statusbar.h lximage-qt-0.16.0/src/statusbar.h --- lximage-qt-0.14.1/src/statusbar.h 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/statusbar.h 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,62 @@ +/* + * LXImage-Qt - a simple and fast image viewer + * Copyright (C) 2013 PCMan + * + * StatusBar by tsujan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#ifndef LXIMAGE_STATUSBAR_H +#define LXIMAGE_STATUSBAR_H + +#include +#include + +namespace LxImage { + +class Label : public QLabel { + Q_OBJECT + +public: + explicit Label(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); + +protected: + void paintEvent(QPaintEvent* event) override; + +private: + QString elidedText_; + QString lastText_; + int lastWidth_; +}; + +class StatusBar : public QStatusBar { +Q_OBJECT + +public: + explicit StatusBar(QWidget* parent = nullptr); + ~StatusBar(); + + void setText(const QString& sizeTxt = QString(), const QString& pathTxt = QString()); + +private: + QLabel *sizeLabel0_, *sizeLabel_, *pathLabel0_; + Label *pathLabel_; // an elided path +}; + +} + +#endif // LXIMAGE_STATUSBAR_H diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_arn.ts lximage-qt-0.16.0/src/translations/lximage-qt_arn.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_arn.ts 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_arn.ts 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,806 @@ + + + + + LxImage::Application + + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + + [FILE1, FILE2,...] + + + + + LxImage::ImageShackUpload + + + unknown error response + + + + + LxImage::ImgBBUpload + + + unknown error response + + + + + LxImage::ImgurUpload + + + unknown error response + + + + + LxImage::MainWindow + + + About + + + + + LXImage-Qt - a simple and fast image viewer + +Copyright (C) 2013 +LXQt Project: https://lxqt.org/ + +Authors: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + + + + + Open File + + + + + + Image files (%1) + + + + + Open directory + + + + + Save File + + + + + [*]%1 (Loading...) - Image Viewer + + + + + [*]%1 (Failed to Load) - Image Viewer + + + + + [*]%1 (%2x%3) - Image Viewer + + + + + [*]Image Viewer + + + + + Thumbnails + + + + + EXIF Data + + + + + LxImage::MruMenu + + + &Clear + + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + + LxImage::UploadDialog + + + Imgur + + + + + ImgBB + + + + + ImageShack + + + + + Start + + + + + Stop + + + + + Close + + + + + Error + + + + + MainWindow + + + Image Viewer + + + + + &Recently Opened Files + + + + + &About + + + + + + Annotations Toolbar + + + + + Open &With... + + + + + &Open… + + + + + Ctrl+O + + + + + &Reload File + + + + + Ctrl+R + + + + + &Save + + + + + Ctrl+S + + + + + Save &As + + + + + Ctrl+A + + + + + &Close + + + + + Ctrl+W + + + + + Zoom &In + + + + + Ctrl+= + + + + + Zoom &Out + + + + + Ctrl+- + + + + + &Copy to Clipboard + + + + + + Next File + + + + + PgDown + + + + + + Previous File + + + + + PgUp + + + + + Original Size + + + + + Ctrl+0 + + + + + &Fit + + + + + &Rotate Clockwise + + + + + R + + + + + Rotate &Counterclockwise + + + + + L + + + + + P&references + + + + + &Print + + + + + Ctrl+P + + + + + First File + + + + + Home + + + + + Last File + + + + + End + + + + + &New Window + + + + + Ctrl+N + + + + + Flip &Horizontally + + + + + H + + + + + Capture Screenshot + + + + + F&ull Screen + + + + + F11 + + + + + Flip &Vertically + + + + + V + + + + + &Paste from Clipboard + + + + + &Slide Show + + + + + &Delete + + + + + Del + + + + + Show Thumbnails + + + + + T + + + + + File Properties + + + + + Open &Directory + + + + + Ctrl+D + + + + + Upload + + + + + Upload the image + + + + + Show EXIF Data + + + + + No Tool + + + + + Deselect all drawing tools + + + + + Draw Arrow + + + + + Draw an arrow + + + + + Draw Rectangle + + + + + Draw a hollow rectangle + + + + + Draw Circle + + + + + Draw a hollow circle + + + + + Draw Number + + + + + Draw incrementing numbers + + + + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + + + &File + + + + + &Help + + + + + Go + + + + + &View + + + + + &Edit + + + + + Toolbar + + + + + PreferencesDialog + + + Preferences + + + + + Icon theme: + + + + + Normal background color: + + + + + Fullscreen background color: + + + + + Maximum number of recent files: + + + + + Slide show interval (seconds): + + + + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + + + General + + + + + QObject + + + Error + + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + + ScreenshotDialog + + + Screenshot + + + + + Take a screenshot + + + + + Region + + + + + Whole screen + + + + + Current window only + + + + + Capture an area of the screen + + + + + Include mouse cursor + + + + + sec + + + + + Delay: + + + + + Include window title and frame + + + + + UploadDialog + + + Upload + + + + + Copy + + + + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_ar.ts lximage-qt-0.16.0/src/translations/lximage-qt_ar.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_ar.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_ar.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - خُذ لقطة للشاشة + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [الملف1، الملف2،...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About عن - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) ‏<pcman.tw@gmail.com> - + Open File افتح ملفا - - + + Image files (%1) ملفات الصور (%1) - + Open directory افتح دليلا - + Save File احفظ الملف - + [*]%1 (Loading...) - Image Viewer [*]%1 (يحمّل…) - عارض الصور - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (فشل التحميل) - عارض الصور - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2×%3) - عارض الصور - + [*]Image Viewer [*]عارض الصور - + Thumbnails المصغّرات - + EXIF Data بيانات EXIF @@ -117,8 +127,48 @@ LxImage::MruMenu - + &Clear + &مسح + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: @@ -132,7 +182,7 @@ ImgBB - + ImgBB @@ -168,340 +218,377 @@ عارض الصور - + &Recently Opened Files - + &الملفات المفتوحة حديثا + + + + &About + &عن - - toolBar_2 + + + Annotations Toolbar - - &About - &عن + + Open &With... + - - &Open File - ا&فتح ملفا + + &Open… + ا&فتح… - + Ctrl+O Ctrl+O - + &Reload File - + أ&عِد تحميل الملف - + Ctrl+R - + Ctrl+R - + &Save ا&حفظ - + Ctrl+S Ctrl+S - + Save &As احفظ &كَ‍ - + Ctrl+A Ctrl+A - + &Close أ&غلِق - + Ctrl+W Ctrl+W - + Zoom &In &قرّب - + Ctrl+= Ctrl+= - + Zoom &Out ب&عّد - + Ctrl+- Ctrl+- - + &Copy to Clipboard ا&نسخ إلى الحافظة - - + + Next File الملف التالي - + PgDown PgDown - - + + Previous File الملف السابق - + PgUp PgUp - + Original Size المقاس الأصلي - + Ctrl+0 Ctrl+0 - + &Fit لا&ئِم - + &Rotate Clockwise &دوّر مع عقارب الساعة - + R R - + Rotate &Counterclockwise دوّر عكس ع&قارب الساعة - + L L - + P&references التف&ضيلات - + &Print ا&طبع - + Ctrl+P Ctrl+P - + First File الملف الأول - + Home Home - + Last File الملف الأخير - + End End - + &New Window نافذة &جديدة - + Ctrl+N Ctrl+N - + Flip &Horizontally اقلب أ&فقيا - + H H - + Capture Screenshot التقط لقطة للشاشة - + F&ull Screen ملء ال&شاشة - + F11 F11 - + Flip &Vertically اقلب رأ&سيا - + V V - + &Paste from Clipboard أل&صِق من الحافظة - + &Slide Show عر&ض شرائح - + &Delete ا&حذف - + Del Del - + Show Thumbnails اعرض المصغّرات - + T T - + File Properties خصائص الملف - + Open &Directory افتح ال&دليل - + Ctrl+D Ctrl+D - + Upload ارفع - + Upload the image ارفع الصورة - + Show EXIF Data اعرض بيانات EXIF - + No Tool - + بدون أداة - + Deselect all drawing tools - + الغاء تحديد جميع أدوات الرسم - + Draw Arrow - + رسم سهم - + Draw an arrow - + رسم سهم - + Draw Rectangle - + رسم مستطيل - + Draw a hollow rectangle - + رسم مستطيل مجوّف - + Draw Circle - + رسم دائرة - + Draw a hollow circle - + رسم دائرة مجوّفة - + Draw Number - + رسم رقم - + Draw incrementing numbers + رسم أرقام متزايدة + + + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize @@ -510,27 +597,27 @@ &ملف - + &Help م&ساعدة - + Go تنقّل - + &View من&ظور - + &Edit ت&حرير - + Toolbar شريط الأدوات @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): فترة عرض الشرائح (بالثواني): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General عام + QObject + + + Error + خطأ + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - ثا + sec + @@ -631,7 +806,7 @@ Copy - + نسخ diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_ast.ts lximage-qt-0.16.0/src/translations/lximage-qt_ast.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_ast.ts 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_ast.ts 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,669 @@ + + + + + LxImage::Application + + + Take a screenshot + Fai una captura de pantalla + + + + Take a screenshot to folder without gui + + + + + [FILE1, FILE2,...] + [FICHERU1, FICHERU2,...] + + + + LxImage::ImageShackUpload + + + unknown error response + desconozse la rempuesta del fallu + + + + LxImage::ImgBBUpload + + + unknown error response + desconozse la rempuesta del fallu + + + + LxImage::ImgurUpload + + + unknown error response + desconozse la rempuesta del fallu + + + + LxImage::MainWindow + + + About + Tocante a + + + + LXImage-Qt - a simple and fast image viewer + +Copyright (C) 2013 +LXQt Project: https://lxqt.org/ + +Authors: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + LXImage-Qt - un visor d'imáxenes cenciellu y rápidu + +Copyright (C) 2013 +Proyeutu LXQt: https://lxqt.org/ + +Autores: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + + + + Open File + Apertura de ficheros + + + + + Image files (%1) + Ficheros d'imaxe (%1) + + + + Open directory + Apertura d'un direutoriu + + + + Save File + Guardáu d'un ficheru + + + + [*]%1 (Loading...) - Image Viewer + [*]%1 (Cargando...) - Visor d'imáxenes + + + + [*]%1 (Failed to Load) - Image Viewer + [*]%1 (Fallu al cargar) - Visor d'imáxenes + + + + [*]%1 (%2x%3) - Image Viewer + [*]%1 (%2x%3) - Visor d'imáxenes + + + + [*]Image Viewer + [*]Visor d'imáxenes + + + + Thumbnails + Miniatures + + + + EXIF Data + Datos EXIF + + + + LxImage::MruMenu + + + &Clear + &Llimpiar + + + + LxImage::UploadDialog + + + Imgur + Imgur + + + + ImgBB + ImgBB + + + + ImageShack + ImageShack + + + + Start + Aniciar + + + + Stop + Parar + + + + Close + Zarrar + + + + Error + Fallu + + + + MainWindow + + + Image Viewer + Visor d'imáxenes + + + + &Recently Opened Files + Ficheros abiertos a&pocayá + + + + &About + &Tocante a + + + + + Annotations Toolbar + + + + + &Open… + + + + + Ctrl+O + Ctrl+O + + + + &Reload File + &Recargar el ficheru + + + + Ctrl+R + Ctrl+R + + + + &Save + &Guardar + + + + Ctrl+S + Ctrl+S + + + + Save &As + Guardar &como + + + + Ctrl+A + Ctrl+A + + + + &Close + &Zarrar + + + + Ctrl+W + Ctrl+W + + + + Zoom &In + A&verar + + + + Ctrl+= + Ctrl+= + + + + Zoom &Out + A&lloñar + + + + Ctrl+- + Ctrl+- + + + + &Copy to Clipboard + &Copiar al cartafueyu + + + + + Next File + Ficheru siguiente + + + + PgDown + AvPáx + + + + + Previous File + Ficheru anterior + + + + PgUp + RePáx + + + + Original Size + Tamañu orixinal + + + + Ctrl+0 + Ctrl+0 + + + + &Fit + &Axustar + + + + &Rotate Clockwise + &Voltiar a la drecha + + + + R + R + + + + Rotate &Counterclockwise + Voltiar a la &esquierda + + + + L + L + + + + P&references + P&referencies + + + + &Print + &Imprentar + + + + Ctrl+P + Ctrl+P + + + + First File + Primer ficheru + + + + Home + Aniciu + + + + Last File + Últimu ficheru + + + + End + Fin + + + + &New Window + Ventana &nueva + + + + Ctrl+N + Ctrl+N + + + + Flip &Horizontally + Voltiar &horizontalmente + + + + H + H + + + + Capture Screenshot + Facer una captura + + + + F&ull Screen + Pantalla com&pleta + + + + F11 + F11 + + + + Flip &Vertically + Voltiar &verticalmente + + + + V + V + + + + &Paste from Clipboard + A&pegar del cartafueyu + + + + &Slide Show + + + + + &Delete + &Desaniciar + + + + Del + Des + + + + Show Thumbnails + Amosar miniatures + + + + T + T + + + + File Properties + Propiedaes del ficheru + + + + Open &Directory + Abrir un &direutoriu + + + + Ctrl+D + Ctrl+D + + + + Upload + Xubir + + + + Upload the image + + + + + Show EXIF Data + Amosar los datos EXIF + + + + No Tool + + + + + Deselect all drawing tools + Deseleicionar toles ferramientes de dibuxu + + + + Draw Arrow + + + + + Draw an arrow + Dibuxar una flecha + + + + Draw Rectangle + + + + + Draw a hollow rectangle + Dibuxar un rectángulu güecu + + + + Draw Circle + + + + + Draw a hollow circle + Dibuxar un círulu güecu + + + + Draw Number + + + + + Draw incrementing numbers + + + + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + &File + &Ficheru + + + + &Help + &Ayuda + + + + Go + Dir + + + + &View + &Ver + + + + &Edit + &Editar + + + + Toolbar + Barra de ferramientes + + + + PreferencesDialog + + + Preferences + Preferencies + + + + Icon theme: + Estilu d'iconos: + + + + Normal background color: + Color del fondu normal: + + + + Fullscreen background color: + Color del fondu a pantalla completa: + + + + Slide show interval (seconds): + + + + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + General + Xeneral + + + + ScreenshotDialog + + + Screenshot + Captura de pantalla + + + + Take a screenshot + Fechura d'una captura de pantalla + + + + Region + Rexón + + + + Whole screen + Tola pantalla + + + + Current window only + Namái la ventana actual + + + + Capture an area of the screen + Capturar un área de la pantalla + + + + Include mouse cursor + Incluyir el cursor del mur + + + + seconds + segundos + + + + Delay: + Retrasu: + + + + Include window title and frame + Incluyir el títulu de les ventanes y el marcu + + + + UploadDialog + + + Upload + Xuba + + + + Copy + Copiar + + + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_ca.ts lximage-qt-0.16.0/src/translations/lximage-qt_ca.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_ca.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_ca.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Pren una captura de pantalla + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [FITXER1, FITXER2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Quant a - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Obre un fitxer - - + + Image files (%1) Fitxers d'imatges (%1) - + Open directory Obre un directori - + Save File Desa el fitxer - + [*]%1 (Loading...) - Image Viewer [*]%1 (s'està carregant...) - Visualitzador d'imatges - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (ha fallat la càrrega) - Visualitzador d'imatges - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Visualitzador d'imatges - + [*]Image Viewer [*]Visualitzador d'imatges - + Thumbnails Miniatures - + EXIF Data Dades EXIF @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear &Neteja + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,369 +218,406 @@ Visualitzador d'imatges - - &About - &Quant a + + + Annotations Toolbar + - - &Open File - &Obre un fitxer + + &About + &Quant a - + Ctrl+O Ctrl+O - + &Save De&sa - + Ctrl+S Ctrl+S - + Save &As &Anomena i desa - + Ctrl+A Ctrl+A - + &Close Tan&ca - + Ctrl+W Ctrl+W - + Zoom &In Ampl&ia el zoom - + Zoom &Out Redueix el z&oom - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Copia al porta-retalls - - + + Next File Fitxer següent - - + + Previous File Fitxer anterior - + PgDown Re Pàg + Open &With... + + + + &Recently Opened Files Fitxers oberts &recentment - - toolBar_2 - 2na barra d'eines + + &Open… + - + &Reload File To&rna a carregar el fitxer - + Ctrl+R Ctrl+R - + Ctrl+= Ctrl+= - + PgUp Re Pàg - + Original Size Mida original - + Ctrl+0 Ctrl+0 - + &Fit A&justa - + &Rotate Clockwise Gi&ra en sentit horari - + R D - + Rotate &Counterclockwise Gira en sentit anti&horari - + L E - + P&references P&referències - + &Print Im&primeix - + Ctrl+P Ctrl+P - + First File Primer fitxer - + Home Inici - + Last File Últim fitxer - + End Fi - + &New Window Finestra &nova - + Ctrl+N Ctrl+N - + Flip &Horizontally Inverteix &horitzontalment - + H H - + Capture Screenshot Pren una captura de pantalla - + F&ull Screen Pantalla c&ompleta - + F11 F11 - + Flip &Vertically Inverteix &verticalment - + V V - + &Paste from Clipboard Enganxa del &porta-retalls - + &Slide Show Presentació de diapo&sitives - + &Delete &Elimina - + Del Supr - + Show Thumbnails Mostra les miniatures - + T M - + File Properties Propietats del fitxer - + Open &Directory Obre un &directori - + Ctrl+D Ctrl+D - + Upload Puja - + Upload the image Puja la imatge - + Show EXIF Data Mostra les dades EXIF - + No Tool Cap eina - + Deselect all drawing tools Desselecciona totes les eines de dibuix - + Draw Arrow Dibuixa una fletxa - + Draw an arrow Dibuixa una fletxa - + Draw Rectangle Dibuixa un rectangle - + Draw a hollow rectangle Dibuixa un rectangle buit - + Draw Circle Dibuixa un cercle - + Draw a hollow circle Dibuixa un cercle buit - + Draw Number Dibuixa un número - + Draw incrementing numbers Dibuixa números de manera incremental + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File &Fitxer - + &Help &Ajuda - + Go Vés - + &View &Visualitza - + &Edit &Edita - + Toolbar Barra d'eines @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Interval per mostrar la diapositiva (segons): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General General + QObject + + + Error + Error + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - segons + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_cs.desktop lximage-qt-0.16.0/src/translations/lximage-qt_cs.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt_cs.desktop 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_cs.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,3 @@ +Name[cs]=LXImage +GenericName[cs]=Prohlížeč obrázků +Comment[cs]=Prohlížeč obrázků pro LXQt diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_cs.ts lximage-qt-0.16.0/src/translations/lximage-qt_cs.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_cs.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_cs.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Pořídit snímek obrazovky + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + ADRESÁŘ + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [SOUBOR1, SOUBOR2, …] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About O aplikaci - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Otevřít soubor - - + + Image files (%1) Soubory s obrázky (%1) - + Open directory Otevřít složku - + Save File Uložit soubor - + [*]%1 (Loading...) - Image Viewer [*]%1 (načítání…) – prohlížeč obrázků - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (nepodařilo se načíst) – prohlížeč obrázků - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) – prohlížeč obrázků - + [*]Image Viewer [*] prohlížeč obrázků - + Thumbnails Náhledy - + EXIF Data EXIF data @@ -117,9 +127,50 @@ LxImage::MruMenu - + &Clear - %Vyčistit + &Vyčistit + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Použijte klávesu modifikátoru pro smazání klávesové zkratky +v režimu úprav. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Varování: Byla zjištěna nejednoznačná zkratka!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Nejednoznačná zkratka nebyla přijata..</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Nelze uložit s tímto formátem obrázku! + + + + LxImage::StatusBar + + + Size: + Velikost: + + + + Path: + Cesta: @@ -168,369 +219,406 @@ Prohlížeč obrázků - + &Recently Opened Files Nedávno otevřené soubo&ry - - toolBar_2 - lištaNástrojů_2 - - - + &About O &aplikaci - - &Open File - &Otevřít soubor + + + Annotations Toolbar + Nástrojová lišta poznámek/vysvětlivek - + + Open &With... + Otevřít &s... + + + + &Open… + &Otevřít… + + + Ctrl+O Ctrl+O - + &Reload File Načíst soubo&r znovu - + Ctrl+R Ctrl+R - + &Save &Uložit - + Ctrl+S Ctrl+S - + Save &As Uložit j&ako - + Ctrl+A Ctrl+A - + &Close &Zavřít - + Ctrl+W Ctrl+W - + Zoom &In Přiblíž&it - + Ctrl+= Ctrl+= - + Zoom &Out &Oddálit - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Zkopírovat do schránky - - + + Next File Následující soubor - + PgDown PgDn - - + + Previous File Předchozí soubor - + PgUp PgUp - + Original Size Původní velikost - + Ctrl+0 Ctrl+0 - + &Fit &Přizpůsobit - + &Rotate Clockwise Otočit vp&ravo - + R R - + Rotate &Counterclockwise Otočit &vlevo - + L L - + P&references &Předvolby - + &Print &Tisk - + Ctrl+P Ctrl+P - + First File První soubor - + Home Home - + Last File Poslední soubor - + End End - + &New Window &Nové okno - + Ctrl+N Ctrl+N - + Flip &Horizontally Převrátit &vodorovně - + H H - + Capture Screenshot Pořídit snímek obrazovky - + F&ull Screen Na celo&u obrazovku - + F11 F11 - + Flip &Vertically Převrátit s&visle - + V V - + &Paste from Clipboard &Vložit ze schránky - + &Slide Show Promítání &snímků - + &Delete &Smazat - + Del Del - + Show Thumbnails Zobrazit náhledy - + T T - + File Properties Vlastnosti souboru - + Open &Directory Otevřít &Složku - + Ctrl+D Ctrl+D - + Upload - Nahrát + Nahrát na sdílení - + Upload the image Nahrát obrázek - + Show EXIF Data Zobrazit EXIF data - + No Tool Žádný nástroj - + Deselect all drawing tools Zrušit výběr jakýchkoli kreslících nástrojů - + Draw Arrow Nakreslit šipku - + Draw an arrow Nakreslit šipku - + Draw Rectangle Nakreslit obdélník - + Draw a hollow rectangle Nakreslit prázdný obdélník - + Draw Circle Nakreslit kruh - + Draw a hollow circle Nakreslit prázdný kruh - + Draw Number Nakreslit číslici - + Draw incrementing numbers Nakreslit po sobě jdoucí čísla + + &Annotations Toolbar + &Lišta nástrojů poznámek/vysvětlivek + + + + + Show Outline + Zobrazit obrys + + + + O + O + + + + Copy Pa&th + Kopírovat &cestu + + + + Copy path + Kopírovat cestu + + + + Resize + Změnit velikost + + &File &Soubor - + &Help &Nápověda - + Go - Jít na + Přejít na - + &View &Zobrazit - + &Edit - &Upravit + &Úpravy - + Toolbar Nástrojový pruh @@ -550,7 +638,7 @@ Normal background color: - Barva pozadí v normálním režimu: + Barva pozadí v režimu v okně: @@ -559,8 +647,43 @@ + Maximum number of recent files: + Největší počet nedávných souborů: + + + Slide show interval (seconds): - Interval změny obrázku při promítání snímků (s): + Interval výměny obrázku při promítání snímků (s): + + + + Show image outline by default + Ve výchozím nastavení zobrazovat obrys obrázku + + + + Show annotations toolbar by default + Ve výchozím stavu zobrazovat nástrojovou lištu poznámek/vysvětlivek + + + + Shortcuts + Klávesové zkratky + + + + Action + Činnost + + + + Shortcut + Klávesová zkratka + + + + Default + Výchozí @@ -569,6 +692,59 @@ + QObject + + + Error + Chyba + + + + ResizeImageDialog + + + Resize Image + Změnit velikost obrázku + + + + Width + Šířka + + + + Height + Výška + + + + Current size: + Nynější velikost: + + + + New size: + Nová velikost: + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + Zachovat poměr stran + + + ScreenshotDialog @@ -607,8 +783,8 @@ - seconds - sekund + sec + s @@ -626,7 +802,7 @@ Upload - Nahrát + Nahrát na diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_cy.ts lximage-qt-0.16.0/src/translations/lximage-qt_cy.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_cy.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_cy.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -57,53 +67,53 @@ - + Open File - - + + Image files (%1) - + Open directory - + Save File - + [*]%1 (Loading...) - Image Viewer - + [*]%1 (Failed to Load) - Image Viewer - + [*]%1 (%2x%3) - Image Viewer - + [*]Image Viewer - + Thumbnails - + EXIF Data @@ -111,12 +121,52 @@ LxImage::MruMenu - + &Clear + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -162,369 +212,406 @@ - + &Recently Opened Files - - toolBar_2 + + &About + + + + + + Annotations Toolbar - - &About - + + Open &With... + - - &Open File - + + &Open… + - + Ctrl+O - + &Reload File - + Ctrl+R - + &Save - + Ctrl+S - + Save &As - + Ctrl+A - + &Close - + Ctrl+W - + Zoom &In - + Ctrl+= - + Zoom &Out - + Ctrl+- - + &Copy to Clipboard - - + + Next File - + PgDown - - + + Previous File - + PgUp - + Original Size - + Ctrl+0 - + &Fit - + &Rotate Clockwise - + R - + Rotate &Counterclockwise - + L - + P&references - + &Print - + Ctrl+P - + First File - + Home - + Last File - + End - + &New Window - + Ctrl+N - + Flip &Horizontally - + H - + Capture Screenshot - + F&ull Screen - + F11 - + Flip &Vertically - + V - + &Paste from Clipboard - + &Slide Show - + &Delete - + Del - + Show Thumbnails - + T - + File Properties - + Open &Directory - + Ctrl+D - + Upload - + Upload the image - + Show EXIF Data - + No Tool - + Deselect all drawing tools - + Draw Arrow - + Draw an arrow - + Draw Rectangle - + Draw a hollow rectangle - + Draw Circle - + Draw a hollow circle - + Draw Number - + Draw incrementing numbers + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File - + &Help - + Go - + &View - + &Edit - + Toolbar @@ -553,16 +640,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General + QObject + + + Error + + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -601,8 +776,8 @@ - seconds - + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_da.ts lximage-qt-0.16.0/src/translations/lximage-qt_da.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_da.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_da.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Tag et skærmbillede + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [FIL1, FIL2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Om - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Åbn fil - - + + Image files (%1) Billedfiler (%1) - + Open directory Åbn mappe - + Save File Gem fil - + [*]%1 (Loading...) - Image Viewer [*]%1 (indlæser...) - Billedfremviser - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (kunne ikke indlæse) - Billedfremviser - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Billedfremviser - + [*]Image Viewer [*]Billedfremviser - + Thumbnails Miniaturer - + EXIF Data EXIF-data @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear &Ryd + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,369 +218,406 @@ Billedfremviser - + &Recently Opened Files &Seneste åbnede filer - - toolBar_2 - værktøjsLinje_2 - - - + &About &Om - - &Open File - &Åbn fil + + + Annotations Toolbar + Annoteringsværktøjslinje - + + Open &With... + + + + + &Open… + &Åbn… + + + Ctrl+O Ctrl+O - + &Reload File &Genindlæs fil - + Ctrl+R Ctrl+R - + &Save &Gem - + Ctrl+S Ctrl+S - + Save &As Gem &som - + Ctrl+A Ctrl+A - + &Close &Luk - + Ctrl+W Ctrl+W - + Zoom &In Zoom &ind - + Ctrl+= Ctrl+= - + Zoom &Out Zoom &ud - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Kopiér til udklipsholder - - + + Next File Næste fil - + PgDown PgDown - - + + Previous File Forrige fil - + PgUp PgUp - + Original Size Original størrelse - + Ctrl+0 Ctrl+0 - + &Fit &Tilpas - + &Rotate Clockwise &Rotér med uret - + R H - + Rotate &Counterclockwise Rotér &mod uret - + L V - + P&references &Præferencer - + &Print &Udskriv - + Ctrl+P Ctrl+P - + First File Første fil - + Home Home - + Last File Sidste fil - + End End - + &New Window &Nyt vindue - + Ctrl+N Ctrl+N - + Flip &Horizontally Vend &vandret - + H V - + Capture Screenshot Tag skærmbillede - + F&ull Screen &Fuldskærm - + F11 F11 - + Flip &Vertically Vend &lodret - + V L - + &Paste from Clipboard &Indsæt fra udklipsholder - + &Slide Show &Diasshow - + &Delete &Slet - + Del Del - + Show Thumbnails Vis miniaturer - + T M - + File Properties Filegenskaber - + Open &Directory Åbn &mappe - + Ctrl+D Ctrl+M - + Upload Upload - + Upload the image Upload billedet - + Show EXIF Data Vis EXIF-data - + No Tool Intet værktøj - + Deselect all drawing tools Fravælg alle tegningsværktøjer - + Draw Arrow Tegn pil - + Draw an arrow Tegn en pil - + Draw Rectangle Tegn rektangel - + Draw a hollow rectangle Tegn en hul rektangel - + Draw Circle Tegn cirkel - + Draw a hollow circle Tegn en hul cirkel - + Draw Number Tegn tal - + Draw incrementing numbers Tegn stigende tal + + &Annotations Toolbar + &Annoteringsværktøjslinje + + + + + Show Outline + Vis omrids + + + + O + o + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File &Fil - + &Help &Hjælp - + Go - + &View &Vis - + &Edit &Rediger - + Toolbar Værktøjslinje @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Interval for diasshow (sekunder): + + Show image outline by default + Vis omrids på billede som standard + + + + Show annotations toolbar by default + Vis annoteringsværktøjslinje som standard + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Generelt + QObject + + + Error + Fejl + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - sekunder + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_de.ts lximage-qt-0.16.0/src/translations/lximage-qt_de.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_de.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_de.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Bildschirmfoto erstellen + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + VERZ + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [DATEI1, DATEI2, ...] @@ -27,7 +37,7 @@ unknown error response - unbekannte Fehlerantwort + Unbekannte Fehlermeldung @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Über - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Datei öffnen - - + + Image files (%1) Bilddateien (%1) - + Open directory Verzeichnis öffnen - + Save File Datei speichern - + [*]%1 (Loading...) - Image Viewer [*]%1 (Lade...) - Bildbetrachter - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Laden ist fehlgeschlagen) - Bildbetrachter - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Bildbetrachter - + [*]Image Viewer [*]Bildbetrachter - + Thumbnails Miniaturen - + EXIF Data EXIF-Daten @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear Lös&chen + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + Größe: + + + + Path: + Pfad: + + + LxImage::UploadDialog @@ -168,372 +218,408 @@ Bildbetrachter - - &About - &Über + + + Annotations Toolbar + Anmerkungssymbolleiste - - &Open File - This should be "&Open" (without "File") imho. We are in the File menu. - Ö&ffnen + + &About + &Über - + Ctrl+O Shortcuts are translated automatically. No need to manually translate it to "Strg+O". Strg+O - + &Save &Speichern - + Ctrl+S Strg+S - + Save &As Speichern &unter - + Ctrl+A Strg+A - + &Close &Schließen - + Ctrl+W Strg+W - + Zoom &In Ver&größern - + Zoom &Out Ver&kleinern - + Ctrl+- Strg+- - + &Copy to Clipboard In die Zwischenablage &kopieren - - + + Next File Nächste Datei - - + + Previous File Vorherige Datei - + PgDown Bild ab + Open &With... + Öffnen &mit... + + + &Recently Opened Files &Zuletzt geöffnete Dateien - - toolBar_2 - + + &Open… + &Öffnen… - + &Reload File Datei &neu laden - + Ctrl+R Strg+R - + Ctrl+= Strg+= - + PgUp Bild auf - + Original Size Originalgröße - + Ctrl+0 Strg+0 - + &Fit &Passend - + &Rotate Clockwise Im Uhrzeigersinn &drehen - + R R - + Rotate &Counterclockwise &Gegen den Uhrzeigersinn drehen - + L L - + P&references Einste&llungen - + &Print &Drucken - + Ctrl+P Strg+P - + First File Erste Datei - + Home Pos1 - + Last File Letzte Datei - + End Ende - + &New Window &Neues Fenster - + Ctrl+N Strg+N - + Flip &Horizontally &Horizontal spiegeln - + H H - + Capture Screenshot Bildschirmfoto aufnehmen - + F&ull Screen &Gesamter Bildschirm - + F11 F11 - + Flip &Vertically &Vertikal spiegeln - + V V - + &Paste from Clipboard Aus Zwischenablage &einfügen - + &Slide Show &Diaschau - + &Delete &Löschen - + Del Entf - + Show Thumbnails Vorschaubilder anzeigen - + T T - + File Properties Translation of 'file' skipped, it is redundant (this is the file menu). Eigenschaften - + Open &Directory - &Verzeichnis öffnen + Verzeichnis öffnen - + Ctrl+D Strg+D - + Upload Hochladen - + Upload the image Bild hochladen - + Show EXIF Data EXIF-Daten anzeigen - + No Tool Kein Werkzeug - + Deselect all drawing tools Alle Zeichenwerkzeuge abwählen - + Draw Arrow Pfeil zeichnen - + Draw an arrow Einen Pfeil zeichnen - + Draw Rectangle Rechteck zeichnen - + Draw a hollow rectangle Ein hohles Rechteck zeichnen - + Draw Circle Kreis zeichnen - + Draw a hollow circle Einen hohlen Kreis zeichnen - + Draw Number Zahl zeichnen - + Draw incrementing numbers Inkrementierende Zahlen zeichnen + + &Annotations Toolbar + &Anmerkungssymbolleiste + + + + + Show Outline + Zeige Umriss + + + + O + O + + + + Copy Pa&th + Pfa&d kopieren + + + + Copy path + Pfad kopieren + + + + Resize + Größe ändern + + &File &Datei - + &Help &Hilfe - + Go Gehe zu - + &View &Ansicht - + &Edit &Bearbeiten - + Toolbar Werkzeugleiste @@ -562,16 +648,104 @@ + Maximum number of recent files: + Maximale Anzahl kürzlich geöffneter Dateien: + + + Slide show interval (seconds): Diaschau-Intervall (Sekunden): + + Show image outline by default + Standardmäßig Bildkontur anzeigen + + + + Show annotations toolbar by default + Standardmäßig Anmerkungssymbolleiste anzeigen + + + + Shortcuts + + + + + Action + Aktion + + + + Shortcut + + + + + Default + Standard + + General Allgemein + QObject + + + Error + Fehler + + + + ResizeImageDialog + + + Resize Image + Bildgröße ändern + + + + Width + Breite + + + + Height + Höhe + + + + Current size: + Aktuelle Größe: + + + + New size: + Neue Größe: + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + Seitenverhältnis beibehalten + + + ScreenshotDialog @@ -610,8 +784,8 @@ - seconds - Sekunden + sec + Sek. diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_el.ts lximage-qt-0.16.0/src/translations/lximage-qt_el.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_el.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_el.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Λήψη ενός στιγμιότυπου + + Take a screenshot (deprecated, please use screengrab instead) + Λήψη στιγμιότυπου (υπό απόσυρση, παρακαλώ αντί αυτού χρησιμοποιήστε screengrab) + + + + DIR + Φάκελος - + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + Λήψη στιγμιότυπου και αποθήκευση στον φάκελο χωρίς την εμφάνιση του γραφικού περιβάλλοντος (υπό απόσυρση, παρακαλώ αντί αυτού χρησιμοποιήστε screengrab) + + + [FILE1, FILE2,...] [ΑΡΧΕΙΟ1, ΑΡΧΕΙΟ2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Σχετικά - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Άνοιγμα αρχείου - - + + Image files (%1) Αρχεία εικόνων (%1) - + Open directory Άνοιγμα καταλόγου - + Save File Αποθήκευση αρχείου - + [*]%1 (Loading...) - Image Viewer [*]%1 (Φόρτωση...) - Προβολέας εικόνων - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Αποτυχία φόρτωσης) - Προβολέας εικόνων - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Προβολέας εικόνων - + [*]Image Viewer [*]Προβολέας εικόνων - + Thumbnails Εικόνες επισκόπησης - + EXIF Data Δεδομένα EXIF @@ -117,12 +127,53 @@ LxImage::MruMenu - + &Clear &Εκκαθάριση + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Χρήση ενός πλήκτρου τροποποίησης για την εκκαθάριση μιας συντόμευσης +στην λειτουργία επεξεργασίας. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Προσοχή: Εντοπίστηκε ασαφής συντόμευση!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Μη αποδεκτή ασαφής συντόμευση</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Δεν είναι δυνατή η αποθήκευση με αυτόν τον τύπο εικόνας! + + + + LxImage::StatusBar + + + Size: + Μέγεθος: + + + + Path: + Μονοπάτι: + + + LxImage::UploadDialog @@ -168,369 +219,406 @@ Προβολέας εικόνων - - &About - &Σχετικά + + + Annotations Toolbar + Εργαλειοθήκη σχολιασμού - - &Open File - &Άνοιγμα αρχείου + + &About + &Σχετικά - + Ctrl+O Ctrl+O - + &Save Απο&θήκευση - + Ctrl+S Ctrl+S - + Save &As Αποθήκευση &ως - + Ctrl+A Ctrl+A - + &Close &Κλείσιμο - + Ctrl+W Ctrl+W - + Zoom &In Μεγέ&θυνση - + Zoom &Out Σμίκρ&υνση - + Ctrl+- Ctrl+- - + &Copy to Clipboard Αντιγραφή στο πρό&χειρο - - + + Next File Επόμενο αρχείο - - + + Previous File Προηγούμενο αρχείο - + PgDown PgDown + Open &With... + Ά&νοιγμα με... + + + &Recently Opened Files &Πρόσφατα ανοιγμένα αρχεία - - toolBar_2 - toolBar_2 + + &Open… + Ά&νοιγμα… - + &Reload File &Επαναφόρτωση αρχείου - + Ctrl+R Ctrl+R - + Ctrl+= Ctrl+= - + PgUp PgUp - + Original Size Αρχικό Μέγεθος - + Ctrl+0 Ctrl+0 - + &Fit &Ταίριασμα - + &Rotate Clockwise Περιστροφή &δεξιόστροφα - + R R - + Rotate &Counterclockwise Περιστροφή &αριστερόστροφα - + L L - + P&references &Επιλογές - + &Print Εκτύ&πωση - + Ctrl+P Ctrl+P - + First File Πρώτο αρχείο - + Home Αρχική - + Last File Τελευταίο αρχείο - + End Τέλος - + &New Window &Νέο παράθυρο - + Ctrl+N Ctrl+N - + Flip &Horizontally Αναστροφή &οριζόντια - + H H - + Capture Screenshot Λήψη στιγμιότυπου - + F&ull Screen Π&λήρης οθόνη - + F11 F11 - + Flip &Vertically Αναστροφή &κατακόρυφα - + V V - + &Paste from Clipboard &Επικόλληση από το πρόχειρο - + &Slide Show &Προβολή διαφάνειας - + &Delete &Διαγραφή - + Del Del - + Show Thumbnails Εμφάνιση εικόνων επισκόπησης - + T T - + File Properties Ιδιότητες αρχείου - + Open &Directory Άνοιγμα &καταλόγου - + Ctrl+D Ctrl+D - + Upload Αποστολή - + Upload the image Αποστολή της εικόνας - + Show EXIF Data Εμφάνιση των δεδομένων EXIF - + No Tool Κανένα εργαλείο - + Deselect all drawing tools - Αποεπιλογή όλων των εργαλείων σχεδίασης + Αποεπιλογή όλων των εργαλείων σχεδίασης - + Draw Arrow Σχεδιασμός βέλους - + Draw an arrow Σχεδιάζει ένα βέλος - + Draw Rectangle Σχεδιασμός ορθογώνιου - + Draw a hollow rectangle Σχεδιάζει ένα κοίλο ορθογώνιο - + Draw Circle Σχεδιασμός κύκλου - + Draw a hollow circle Σχεδιάζει έναν κοίλο κύκλο - + Draw Number Σχεδιασμός αριθμού - + Draw incrementing numbers Σχεδιάζει αριθμούς σε προσαύξηση + + &Annotations Toolbar + &Εργαλειοθήκη σχολιασμού + + + + + Show Outline + Προβολή περιγράμματος + + + + O + O + + + + Copy Pa&th + Αντιγραφή &διαδρομής + + + + Copy path + Αντιγραφή μονοπατιού + + + + Resize + Αλλαγή μεγέθους + + &File &Αρχείο - + &Help &Βοήθεια - + Go Μετάβαση - + &View &Προβολή - + &Edit &Επεξεργασία - + Toolbar Γραμμή εργαλείων @@ -559,16 +647,104 @@ + Maximum number of recent files: + Μέγιστος αριθμός πρόσφατων αρχείων: + + + Slide show interval (seconds): Χρονική καθυστέρηση προβολής διαφανειών (δευτερόλεπτα): + + Show image outline by default + Προβολή του περιγράμματος εικόνας εξ ορισμού + + + + Show annotations toolbar by default + Προβολή της εργαλειοθήκης σχολιασμού εξ ορισμού + + + + Shortcuts + Συντομεύσεις + + + + Action + Ενέργεια + + + + Shortcut + Συντόμευση + + + + Default + Προεπιλογή + + General Γενικά + QObject + + + Error + Σφάλμα + + + + ResizeImageDialog + + + Resize Image + Αλλαγή μεγέθους εικόνας + + + + Width + Πλάτος + + + + Height + Ύψος + + + + Current size: + Τωρινό μέγεθος: + + + + New size: + Νέο μέγεθος: + + + + + px + εικ + + + + + % + % + + + + Keep aspect ratio + Διατήρηση αναλογίας διαστάσεων + + + ScreenshotDialog @@ -607,8 +783,8 @@ - seconds - δευτερόλεπτα + sec + δευτ diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_en_GB.ts lximage-qt-0.16.0/src/translations/lximage-qt_en_GB.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_en_GB.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_en_GB.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -57,53 +67,53 @@ - + Open File - - + + Image files (%1) - + Open directory - + Save File - + [*]%1 (Loading...) - Image Viewer - + [*]%1 (Failed to Load) - Image Viewer - + [*]%1 (%2x%3) - Image Viewer - + [*]Image Viewer - + Thumbnails - + EXIF Data @@ -111,12 +121,52 @@ LxImage::MruMenu - + &Clear + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -162,369 +212,406 @@ - + &Recently Opened Files - - toolBar_2 + + &About - - &About - + + + Annotations Toolbar + - - &Open File - + + Open &With... + - + + &Open… + + + + Ctrl+O - + &Reload File - + Ctrl+R - + &Save - + Ctrl+S - + Save &As - + Ctrl+A - + &Close - + Ctrl+W - + Zoom &In - + Ctrl+= - + Zoom &Out - + Ctrl+- - + &Copy to Clipboard - - + + Next File - + PgDown - - + + Previous File - + PgUp - + Original Size - + Ctrl+0 - + &Fit - + &Rotate Clockwise - + R - + Rotate &Counterclockwise Rotate &Anticlockwise - + L - + P&references - + &Print - + Ctrl+P - + First File - + Home - + Last File - + End - + &New Window - + Ctrl+N - + Flip &Horizontally - + H - + Capture Screenshot - + F&ull Screen - + F11 - + Flip &Vertically - + V - + &Paste from Clipboard - + &Slide Show - + &Delete - + Del - + Show Thumbnails - + T - + File Properties - + Open &Directory - + Ctrl+D - + Upload - + Upload the image - + Show EXIF Data - + No Tool - + Deselect all drawing tools - + Draw Arrow - + Draw an arrow - + Draw Rectangle - + Draw a hollow rectangle - + Draw Circle - + Draw a hollow circle - + Draw Number - + Draw incrementing numbers + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File - + &Help - + Go - + &View - + &Edit - + Toolbar @@ -553,16 +640,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General + QObject + + + Error + + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -601,8 +776,8 @@ - seconds - + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_es.ts lximage-qt-0.16.0/src/translations/lximage-qt_es.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_es.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_es.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Capturar la pantalla + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + - + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + [FILE1, FILE2,...] [ARCHIVO1, ARCHIVO2, …] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Acerca de - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Abrir un archivo - - + + Image files (%1) Imágenes (%1) - + Open directory Abrir un directorio - + Save File Guardar el archivo - + [*]%1 (Loading...) - Image Viewer [*]%1 (Cargando...) - Visor de imágenes - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (La carga ha fallado) - Visor de imágenes - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Visor de imágenes - + [*]Image Viewer [*]Visor de imágenes - + Thumbnails Miniaturas - + EXIF Data Datos EXIF @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear Limpiar + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -132,7 +182,7 @@ ImgBB - + ImgBB @@ -168,369 +218,406 @@ Visor de imágenes - - &About - &Acerca de + + + Annotations Toolbar + Barra de herramientas de anotaciones - - &Open File - &Abrir un archivo + + &About + &Acerca de - + Ctrl+O Ctrl+O - + &Save &Guardar - + Ctrl+S Ctrl+S - + Save &As G&uardar como… - + Ctrl+A Ctrl+A - + &Close &Cerrar - + Ctrl+W Ctrl+W - + Zoom &In &Ampliar - + Zoom &Out &Reducir - + Ctrl+- Ctrl+− - + &Copy to Clipboard &Copiar al portapapeles - - + + Next File Archivo siguiente - - + + Previous File Archivo anterior - + Ctrl+= Ctrl+= + Open &With... + + + + &Recently Opened Files Archivos abiertos &recientemente - - toolBar_2 - + + &Open… + A&brir… - + &Reload File &Recargar el archivo - + Ctrl+R - + Ctrl+R - + PgDown Av Pág - + PgUp Re Pág - + Original Size Tamaño original - + Ctrl+0 Ctrl+0 - + &Fit A&justar - + &Rotate Clockwise &Girar a la derecha - + R - + Rotate &Counterclockwise G&irar a la izquierda - + L - + L - + P&references P&referencias - + &Print Im&primir - + Ctrl+P Ctrl+P - + First File Primer archivo - + Home Inicio - + Last File Último archivo - + End Fin - + &New Window &Nueva ventana - + Ctrl+N Ctrl+N - + Flip &Horizontally Voltear &horizontalmente - + H - + H - + Capture Screenshot Capturar la pantalla - + F&ull Screen Pa&ntalla completa - + F11 F11 - + Flip &Vertically Voltear &verticalmente - + V - + V - + &Paste from Clipboard &Pegar del portapapeles - + &Slide Show Pa&se de diapositivas - + &Delete &Eliminar - + Del Supr - + Show Thumbnails Mostrar miniaturas - + T - + T - + File Properties Propiedades del archivo - + Open &Directory Abrir un &directorio - + Ctrl+D Ctrl+D - + Upload Subir - + Upload the image Subir la imagen - + Show EXIF Data Mostrar los datos EXIF - + No Tool Ninguna herramienta - + Deselect all drawing tools Deselecionar todas las herramientas de dibujo - + Draw Arrow Dibujar flecha - + Draw an arrow Dibuja una flecha - + Draw Rectangle Dibujar rectángulo - + Draw a hollow rectangle Dibuja un rectángulo hueco - + Draw Circle Dibujar circunferencia - + Draw a hollow circle Dibuja un círculo hueco - + Draw Number Dibujar número - + Draw incrementing numbers Dibuja números crecientes + + &Annotations Toolbar + &Barra de herramientas de anotaciones + + + + + Show Outline + Mostrar el contorno + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File &Archivo - + &Help Ay&uda - + Go Ir - + &View &Ver - + &Edit &Editar - + Toolbar Barra de herramientas @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Intervalo de presentación de diapositivas (segundos): + + Show image outline by default + Mostrar el contorno de la imagen por defecto + + + + Show annotations toolbar by default + Mostrar la barra de anotaciones por defecto + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General General + QObject + + + Error + Error + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - segundos + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_fr.ts lximage-qt-0.16.0/src/translations/lximage-qt_fr.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_fr.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_fr.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Faire une capture d'écran + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + Répertoire - + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + [FILE1, FILE2,...] [FICHIER1, FICHIER2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About À propos - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Ouvrir un fichier - - + + Image files (%1) Fichier image (%1) - + Open directory Ouvrir le répertoire - + Save File Enregistrer un fichier - + [*]%1 (Loading...) - Image Viewer - [*]%1 (Chargement...) - Visionneur d'image + [*]%1 (Chargement...) - Visionneuse d'images - + [*]%1 (Failed to Load) - Image Viewer - [*]%1 (Échec de chargement) - Visionneur d'image + [*]%1 (Échec de chargement) - Visionneuse d'images - + [*]%1 (%2x%3) - Image Viewer - [*]%1 (%2x%3) - Visionneur d'image + [*]%1 (%2x%3) - Visionneuse d'images - + [*]Image Viewer - [*]Visionneur d'image + [*]Visionneuse d'images - + Thumbnails Miniatures - + EXIF Data Données EXIF @@ -117,12 +127,53 @@ LxImage::MruMenu - + &Clear &Effacer + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Utiliser une touche de modification pour effacer un raccourci +en mode édition. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Avertissement : raccourci ambigu détecté!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Raccourcis ambigus non acceptés.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Impossible d'enregistrer avec ce format d'image ! + + + + LxImage::StatusBar + + + Size: + Taille : + + + + Path: + Chemin : + + + LxImage::UploadDialog @@ -142,12 +193,12 @@ Start - Start + Démarrer Stop - Stop + Arrêter @@ -165,7 +216,7 @@ Image Viewer - Visionneur d'image + Visionneuse d'images @@ -173,367 +224,404 @@ &Fichier - + &Recently Opened Files &Fichiers récemment ouverts - + &Help &Aide - + Go Aller à - + &View &Afficher - + &Edit &Éditer - + Toolbar Barre d'outils - - toolBar_2 - barre d'outils_2 - - - + &About &À propos - - &Open File - &Ouvrir un fichier + + + Annotations Toolbar + Barre d'annotations - + + Open &With... + Ouvrir avec… + + + + &Open… + &Ouvrir… + + + Ctrl+O Ctrl+O - + &Reload File &Recharger le fichier - + Ctrl+R Ctrl+R - + &Save &Enregistrer - + Ctrl+S Ctrl+S - + Save &As Enregistrer &sous - + Ctrl+A Ctrl+A - + &Close &Fermer - + Ctrl+W Ctrl+W - + Zoom &In - Zoom a&vant + Zoomer - + Ctrl+= Ctrl+= - + Zoom &Out - Zoom a&rrière + Dézoomer - + Ctrl+- Ctrl+- - + &Copy to Clipboard - &Copie vers le presse-papier + &Copier dans le presse-papier - - + + Next File Fichier suivant - + PgDown Bas de page - - + + Previous File Fichier précédent - + PgUp Haut de page - + Original Size Taille d'origine - + Ctrl+0 Ctrl+0 - + &Fit Adapter la &taille - + &Rotate Clockwise &Rotation horaire - + R R - + Rotate &Counterclockwise Rotation &anti-horaire - + L L - + P&references &Préférences - + &Print &Imprimer - + Ctrl+P Ctrl+P - + First File Premier fichier - + Home Accueil - + Last File Dernier fichier - + End Fin - + &New Window &Nouvelle fenêtre - + Ctrl+N Ctrl+N - + Flip &Horizontally Retournement &horizontal - + H H - + Capture Screenshot Capture d'écran - + F&ull Screen &Plein écran - + F11 F11 - + Flip &Vertically Retournement &vertical - + V V - + &Paste from Clipboard &Coller depuis le presse-papier - + &Slide Show &Diaporama - + &Delete &Supprimer - + Del Suppr - + Show Thumbnails Afficher les miniatures - + T T - + File Properties Propriétés du fichier - + Open &Directory Ouvrir &répertoire - + Ctrl+D Ctrl+D - + Upload - Envoyer + Transférer - + Upload the image - Envoyer l'image + Transférer l'image - + Show EXIF Data Afficher les données EXIF - + No Tool Aucun outil - + Deselect all drawing tools Désélectionner tous les outils de dessin - + Draw Arrow Dessiner flèche - + Draw an arrow Dessiner une flèche - + Draw Rectangle Dessiner rectangle - + Draw a hollow rectangle Dessiner un rectangle creux - + Draw Circle Dessiner cercle - + Draw a hollow circle Dessiner un cercle creux - + Draw Number Dessiner nombre - + Draw incrementing numbers Dessiner des nombres incrémentants + + + &Annotations Toolbar + &Barre d'outils d'annotation + + + + + Show Outline + Afficher les contours + + + + O + O. + + + + Copy Pa&th + Copier le chemin + + + + Copy path + Copier le chemin + + + + Resize + Redimensionner + PreferencesDialog @@ -564,8 +652,96 @@ + Maximum number of recent files: + Nombre maximum de fichiers récents : + + + Slide show interval (seconds): - Intervale entre diapositives : + Intervalle entre les diapositives (en secondes) : + + + + Show image outline by default + Afficher les contours de l'image par défaut + + + + Show annotations toolbar by default + Afficher la barre d'outils d'annotations par défaut + + + + Shortcuts + Raccourcis + + + + Action + Action + + + + Shortcut + Raccourci + + + + Default + Réinitialiser les raccourcis aux valeurs par défaut + + + + QObject + + + Error + Erreur + + + + ResizeImageDialog + + + Resize Image + Redimensionner l'image + + + + Width + Largeur + + + + Height + Hauteur + + + + Current size: + Taille actuelle : + + + + New size: + Nouvelle taille : + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + Conserver les proportions @@ -573,12 +749,12 @@ Screenshot - Copie d'écran + Capture d'écran Take a screenshot - Faire une copie d'écran + Prendre une capture d'écran @@ -593,22 +769,22 @@ Current window only - Fenêtre courante seule + Fenêtre actuelle seulement Capture an area of the screen - Capturer une zone de l"écran + Capturer une zone de l'écran Include mouse cursor - Inclure le pointeur de souris + Inclure le pointeur de la souris - seconds - secondes + sec + sec @@ -618,7 +794,7 @@ Include window title and frame - Inclurela barre de titre et le cadre + Inclure le titre et le cadre de la fenêtre @@ -626,7 +802,7 @@ Upload - Envoyer + Transférer diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_gl.desktop lximage-qt-0.16.0/src/translations/lximage-qt_gl.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt_gl.desktop 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_gl.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,3 @@ +Name[gl]=LXImage +GenericName[gl]=Visor de imaxes +Comment[gl]=O visor de imaxes do LXQt diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_gl.ts lximage-qt-0.16.0/src/translations/lximage-qt_gl.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_gl.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_gl.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Obter unha captura de pantalla + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [FICHEIRO1, FICHEIRO2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Sobre - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Abrir ficheiro - - + + Image files (%1) Ficheiros de imaxe (%1) - + Open directory Abrir directorio - + Save File Gardar o ficheiro - + [*]%1 (Loading...) - Image Viewer [*]%1 (Cargando...) - Visor de imaxes - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Produciuse un fallo na carga) - Visor de imaxes - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Visor de imaxes - + [*]Image Viewer [*]Visor de imaxes - + Thumbnails Miniaturas - + EXIF Data Datos EXIF @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear &Limpar + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,369 +218,406 @@ Visor de imaxes - - &About - &Sobre + + + Annotations Toolbar + Barra de ferramentas das anotacións - - &Open File - &Abrir ficheiro + + &About + &Sobre - + Ctrl+O Ctrl+O - + &Save &Gardar - + Ctrl+S Ctrl+S - + Save &As Gardar &como - + Ctrl+A Ctrl+A - + &Close &Pechar - + Ctrl+W Ctrl+W - + Zoom &In A&chegar - + Zoom &Out A&fastar - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Copiar ao portapapeis - - + + Next File Ficheiro seguinte - - + + Previous File Ficheiro anterior - + Ctrl+= Ctrl+= + Open &With... + + + + &Recently Opened Files Ficheiros abertos &recentemente - - toolBar_2 - Barra de ferramentas 2 + + &Open… + &Abrir… - + &Reload File &Recargar o ficheiro - + Ctrl+R Ctrl+R - + PgDown Av Páx - + PgUp Re Páx - + Original Size Tamaño orixinal - + Ctrl+0 Ctrl+0 - + &Fit A&xustar - + &Rotate Clockwise Rotar en sentido &horario - + R D - + Rotate &Counterclockwise Rotar en sentido &antihorario - + L E - + P&references P&referencias - + &Print Im&primir - + Ctrl+P Ctrl+P - + First File Primeiro ficheiro - + Home Cartafol persoal - + Last File Último ficheiro - + End Fin - + &New Window &Nova xanela - + Ctrl+N Ctrl+N - + Flip &Horizontally Inverter na & horizontal - + H H - + Capture Screenshot Captura de pantalla - + F&ull Screen Pantalla c&ompleta - + F11 F11 - + Flip &Vertically Inverter na &vertical - + V V - + &Paste from Clipboard &Pegar do portapapeis - + &Slide Show &Diaporama - + &Delete &Eliminar - + Del Supr - + Show Thumbnails Amosar miniaturas - + T M - + File Properties Propiedades do ficheiro - + Open &Directory Abrir &directorio - + Ctrl+D Ctrl+D - + Upload Enviar - + Upload the image Enviar a imaxe - + Show EXIF Data Amosar os datos EXIF - + No Tool Ningunha ferramenta - + Deselect all drawing tools Desmarcar todas as ferramentas de debuxo - + Draw Arrow Debuxar unha frecha - + Draw an arrow Debuxar unha frecha - + Draw Rectangle Debuxar un rectángulo - + Draw a hollow rectangle Debuxa un rectángulo oco - + Draw Circle Debuxar un círculo - + Draw a hollow circle Debuxar un círculo oco - + Draw Number Debuxar un número - + Draw incrementing numbers Debuxar números de xeito incremental + + &Annotations Toolbar + &Barra de ferramentas das anotacións + + + + + Show Outline + Amosar o bordo + + + + O + O + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File &Ficheiro - + &Help &Axuda - + Go Ir a - + &View &Ver - + &Edit &Editar - + Toolbar Barra de ferramentas @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Intervalo do diaporama (en segundos): + + Show image outline by default + Amosar o bordo da imaxe de xeito predeterminado + + + + Show annotations toolbar by default + Amosa de xeito predeterminado a barra de ferramentas das anotacións + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Xeral + QObject + + + Error + Erro + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - segundos + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_he.ts lximage-qt-0.16.0/src/translations/lximage-qt_he.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_he.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_he.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - צילום המסך + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + DIR + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] @@ -27,7 +37,7 @@ unknown error response - תגובת שגיאה בלתי ידועה + תגובת שגיאה בלתי ידועה @@ -41,12 +51,12 @@ LxImage::MainWindow - + About על אודות - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com>‎ - + Open File פתיחת קובץ - - + + Image files (%1) קובצי תמונה (%1) - + Open directory פתיחת תיקייה - + Save File שמירת קובץ - + [*]%1 (Loading...) - Image Viewer [*]%1 (בטעינה…) - מציג תמונות - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (הטעינה נכשלה) - מציג תמונות - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - מציג תמונות - + [*]Image Viewer [*]מציג תמונות - + Thumbnails תמונות ממוזערות - + EXIF Data נתוני EXIF @@ -117,9 +127,50 @@ LxImage::MruMenu - + &Clear - + &פינוי + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + ניתן להשתמש במקש החלפה כדי לפנות +מקש קיצור במצב עריכה. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>אזהרה: התגלה קיצור מקשים דו־משמעי!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>קיצור מקשים דו־משמעי לא התקבל.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + לא ניתן לשמור בפורמט תמונה זה! + + + + LxImage::StatusBar + + + Size: + גודל: + + + + Path: + נתיב: @@ -132,7 +183,7 @@ ImgBB - + ImgBB @@ -168,341 +219,378 @@ מציג תמונות - + &Recently Opened Files - - - - - toolBar_2 - + קבצים שנפתחו ל&אחרונה - + &About על &אודות - - &Open File - &פתיחת קובץ + + + Annotations Toolbar + סרגל כלי סימון - + + Open &With... + פתיחה ב&אמצעות... + + + + &Open… + &פתיחה… + + + Ctrl+O - + &Reload File - + &רענון קובץ - + Ctrl+R - + Ctrl+R - + &Save &שמירה - + Ctrl+S - + Save &As שמירה &בשם - + Ctrl+A - + &Close &סגירה - + Ctrl+W - + Zoom &In הת&קרבות - + Ctrl+= - + Zoom &Out הת&רחקות - + Ctrl+- - + &Copy to Clipboard ה&עתקה ללוח גזירים - - + + Next File הקובץ הבא - + PgDown - - + + Previous File הקובץ הקודם - + PgUp - + Original Size גודל מקורי - + Ctrl+0 - + &Fit הת&אמה - + &Rotate Clockwise הטייה &עם כיוון השעון - + R ע - + Rotate &Counterclockwise הטייה &נגד כיוון השעון - + L נ - + P&references ה&עדפות - + &Print ה&דפסה - + Ctrl+P - + First File קובץ ראשון - + Home - + Last File קובץ אחרון - + End - + &New Window &חלון חדש - + Ctrl+N - + Flip &Horizontally היפוך או&פקי - + H פ - + Capture Screenshot צילום המסך - + F&ull Screen מ&סך מלא - + F11 - + Flip &Vertically היפוך א&נכי - + V נ - + &Paste from Clipboard ה&דבקה מלוח הגזירים - + &Slide Show מ&צגת - + &Delete מ&חיקה - + Del - + Show Thumbnails הצגת תמונות ממוזערות - + T ז - + File Properties מאפייני קובץ - + Open &Directory פתיחת &תיקייה - + Ctrl+D - + Upload העלאה - + Upload the image העלאת התמונה - + Show EXIF Data הצגת נתוני EXIF - + No Tool - + אין כלי - + Deselect all drawing tools - + ביטול בחירת כל כלי הציור - + Draw Arrow - + ציור חץ - + Draw an arrow - + ציור חץ - + Draw Rectangle - + ציור מרובע - + Draw a hollow rectangle - + ציור מרובע חלול - + Draw Circle - + ציור עיגול - + Draw a hollow circle - + ציור עיגול חלול - + Draw Number - + ציור מספר - + Draw incrementing numbers - + ציור מספרים בסדר עולה + + + + &Annotations Toolbar + סרגל כלי &סימון + + + + + Show Outline + הצגת מתאר + + + + O + O + + + + Copy Pa&th + העתקת &נתיב + + + + Copy path + העתקת נתיב + + + + Resize + שינוי גודל @@ -510,27 +598,27 @@ &קובץ - + &Help ע&זרה - + Go קדימה - + &View ת&צוגה - + &Edit ע&ריכה - + Toolbar סרגל כלים @@ -559,16 +647,104 @@ + Maximum number of recent files: + מספר הקבצים האחרונים המרבי: + + + Slide show interval (seconds): זמן בין החלפת תמונות (שניות): + + Show image outline by default + הצגת המתאר של התמונה כבררת מחדל + + + + Show annotations toolbar by default + הצגת סרגל כלי הסימון כבררת מחדל + + + + Shortcuts + קיצורי דרך + + + + Action + פעולה + + + + Shortcut + קיצור דרך + + + + Default + ברירת המחדל + + General כללי + QObject + + + Error + שגיאה + + + + ResizeImageDialog + + + Resize Image + שינוי גודל התמונה + + + + Width + רוחב + + + + Height + גובה + + + + Current size: + הגודל הנוכחי: + + + + New size: + הגודל החדש: + + + + + px + פיקסלים + + + + + % + % + + + + Keep aspect ratio + שמירה על יחס תצוגה + + + ScreenshotDialog @@ -607,8 +783,8 @@ - seconds - שניות + sec + שנ׳ @@ -631,7 +807,7 @@ Copy - + העתקה diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_hr.desktop lximage-qt-0.16.0/src/translations/lximage-qt_hr.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt_hr.desktop 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_hr.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,3 @@ +Name[hr]=LXImage +GenericName[hr]=Prikazivač slika +Comment[hr]=LXQt program za prikazivanje slika diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_hr.ts lximage-qt-0.16.0/src/translations/lximage-qt_hr.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_hr.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_hr.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Napravi sliku zaslona + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + MAPA + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [DATOTEKA1, DATOTEKA2,...] @@ -19,7 +29,7 @@ unknown error response - + odgovor nepoznate greške @@ -27,7 +37,7 @@ unknown error response - + odgovor nepoznate greške @@ -35,18 +45,18 @@ unknown error response - + odgovor nepoznate greške LxImage::MainWindow - + About - O programu + Informacije - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -54,66 +64,113 @@ Authors: Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + LXImage-Qt – jednostavan i brz program za prikazivanje slika + +Copyright (C) 2013. +LXQt projekt: https://lxqt.org/ + +Autori: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Otvori datoteku - - + + Image files (%1) Datoteke slika (%1) - + Open directory - + Otvori mapu - + Save File Spremi datoteku - + [*]%1 (Loading...) - Image Viewer - + [*]%1 (Učitavanje …) – Prikazivač slika - + [*]%1 (Failed to Load) - Image Viewer - + [*]%1 (Neuspjelo učitavanje) – Prikazivač slika - + [*]%1 (%2x%3) - Image Viewer - + [*]%1 (%2 × %3) – Prikazivač slika - + [*]Image Viewer - + [*]Prikazivač slika - + Thumbnails - + Sličice - + EXIF Data - + EXIF podaci LxImage::MruMenu - + &Clear - + &Izbriši + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Koristi tipkovnički prečac za brisanje prečaca +u modusu uređivanja. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Upozorenje: Otkriven je nejednoznačan prečac!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Nejednoznačan prečac nije prihvaćen.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Nije moguće spremiti s ovim slikovnim formatom! + + + + LxImage::StatusBar + + + Size: + Veličina: + + + + Path: + Putanja: @@ -121,37 +178,37 @@ Imgur - + Imgur ImgBB - + ImgBB ImageShack - + ImageShack Start - + Pokreni Stop - + Zaustavi Close - + Zatvori Error - + Greška @@ -159,344 +216,381 @@ Image Viewer - Preglednik slika + Prikazivač slika - - &About - &O programu + + + Annotations Toolbar + Traka s napomenama - - &Open File - &Otvori datoteku + + &About + &Informacije - + Ctrl+O Ctrl+O - + &Save &Spremi - + Ctrl+S Ctrl+S - + Save &As Spremi &kao - + Ctrl+A Ctrl+A - + &Close &Zatvori - + Ctrl+W Ctrl+W - + Zoom &In - + U&većaj - + Zoom &Out - + U&manji - + Ctrl+- Ctrl+- - + &Copy to Clipboard - + &Kopiraj u međuspremnik - - + + Next File Slijedeća datoteka - - + + Previous File Prethodna datoteka - + Ctrl+= - + Ctrl+= + Open &With... + Otvori &s … + + + &Recently Opened Files - + &Nedavno otvorene datoteke - - toolBar_2 - + + &Open… + &Otvori … - + &Reload File - + Ponovo &učitaj datoteku - + Ctrl+R - + Ctrl+U - + PgDown - + Stranicu dolje - + PgUp - + Stranicu gore - + Original Size Izvorna veličina - + Ctrl+0 - + Ctrl+0 - + &Fit - + &Prilagodi veličinu - + &Rotate Clockwise - &Rotiraj u smjeru kazaljke na satu + Okreni na&desno - + R - + D - + Rotate &Counterclockwise - Rotiraj &obrnuto od smjera kazaljke na satu + Okreni na&lijevo - + L - + L - + P&references O&sobitosti - + &Print - &Ispis + Is&pis - + Ctrl+P - + Ctrl+P - + First File Prva datoteka - + Home - Osobna mapa + Početak - + Last File Zadnja datoteka - + End Kraj - + &New Window &Novi prozor - + Ctrl+N Ctrl+N - + Flip &Horizontally - Obrni &vodoravno + Preokreni &vodoravno - + H - + V - + Capture Screenshot - Uhvati sliku zaslona + Snimi ekran - + F&ull Screen - C&ijeli zaslon + &Cjeloekranski prikaz - + F11 F11 - + Flip &Vertically - Obrni &okomito + Preokreni &okomito - + V - + O - + &Paste from Clipboard - + &Umetni iz međuspremnika - + &Slide Show - &Klizni prikaz + &Prezentacija - + &Delete &Izbriši - + Del - Del + Izbriši - + Show Thumbnails - + Prikaži sličice - + T - + S - + File Properties - + Svojstva dototeke - + Open &Directory - + Otvori &mapu - + Ctrl+D - + Ctrl+M - + Upload - + Prenesi - + Upload the image - + Prenesi sliku - + Show EXIF Data - + Prikaži EFIX podatke - + No Tool - + Bez alata - + Deselect all drawing tools - + Odznači sve alate za crtanje - + Draw Arrow - + Crtaj strelicu - + Draw an arrow - + Crtaj strelicu - + Draw Rectangle - + Crtaj pravokutnik - + Draw a hollow rectangle - + Crtaj prazan pravokutnik - + Draw Circle - + Crtaj krug - + Draw a hollow circle - + Crtaj prazan krug - + Draw Number - + Crtaj broj - + Draw incrementing numbers - + Crtaj rastuće brojeve + + + + &Annotations Toolbar + &Traka s napomenama + + + + + Show Outline + Prikaži konturu + + + + O + K + + + + Copy Pa&th + Kopiraj pu&tanju + + + + Copy path + Kopiraj putanju + + + + Resize + Promijeni veličinu @@ -504,29 +598,29 @@ &Datoteka - + &Help &Pomoć - + Go Idi - + &View &Pogled - + &Edit &Uredi - + Toolbar - + Traka alata @@ -534,32 +628,120 @@ Preferences - Osobitosti + Postavke Icon theme: - + Tema ikona: Normal background color: - + Normalna boja pozadine: Fullscreen background color: - + Cjeloekranska boja pozadine: + Maximum number of recent files: + Maks. broj nedavno otvorenih datoteka: + + + Slide show interval (seconds): - + Vremenski razmak između slajdova (s): + + + + Show image outline by default + Standardno prikaži konturu slike + + + + Show annotations toolbar by default + Standardno prikaži traku s napomenama + + + + Shortcuts + Prečaci + + + + Action + Radnja + + + + Shortcut + Prečac + + + + Default + Standardno General - + Opće + + + + QObject + + + Error + Greška + + + + ResizeImageDialog + + + Resize Image + Promijeni veličinu slike + + + + Width + Širina + + + + Height + Visina + + + + Current size: + Trenutačna veličina: + + + + New size: + Nova veličina: + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + Zadrži omjer @@ -567,42 +749,42 @@ Screenshot - Snimka zaslona + Snimka ekrana Take a screenshot - Napravi snimku zaslona + Snimi ekran Region - Regija + Područje Whole screen - Cijeli zaslon + Cijeli ekran Current window only - Samo trenutni prozor + Samo trenutačni prozor Capture an area of the screen - + Snimi područje na ekranu Include mouse cursor - uključi pokazivač miša + Uključi pokazivač miša - seconds - sekundi + sec + s @@ -620,12 +802,12 @@ Upload - + Prenesi Copy - + Kopiraj diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_hu.desktop lximage-qt-0.16.0/src/translations/lximage-qt_hu.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt_hu.desktop 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_hu.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -1,5 +1,5 @@ [Desktop Entry] -Name[hu]=LXQt képnéző +Name[hu]=LXQt képmegjelenítő GenericName[hu]=Képmegjelenítő Comment[hu]=Az LXQt képnézegetője diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_hu.ts lximage-qt-0.16.0/src/translations/lximage-qt_hu.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_hu.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_hu.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,14 +4,24 @@ LxImage::Application - - Take a screenshot - Képernyőkép + + Take a screenshot (deprecated, please use screengrab instead) + Képernyőkép készítése (elavult, használja helyette a Screengrab-et) - + + DIR + KÖNYVTÁR + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + Képernyőkép készítése és mentése könyvtárba, grafikus felület megjelenítése nélkül (elavult, használja helyette a Screengrab-et) + + + [FILE1, FILE2,...] - + [FÁJL1, FÁJL2,...] @@ -19,7 +29,7 @@ unknown error response - + ismeretlen hibajelenség @@ -27,7 +37,7 @@ unknown error response - + ismeretlen hibajelenség @@ -35,18 +45,18 @@ unknown error response - + ismeretlen hibajelenség LxImage::MainWindow - + About - Rólunk + Névjegy - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -54,66 +64,113 @@ Authors: Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + LXimage-Qt - egy egyszerű és gyors képmegjelenítő + +Copyright (C) 2013 +LXQt Projekt: https://lxqt.org/ + +Szerzők: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File - Fájl megnyitás + Fájl megnyitása - - + + Image files (%1) Képfájlok (%1) - + Open directory - Könyvtár nyitás + Mappa megnyitása - + Save File - Fájl mentés + Fájl mentése - + [*]%1 (Loading...) - Image Viewer - [*]%1 (Betöltés...) - Képnéző + [*]%1 (Betöltés...) - Képmegjelenítő - + [*]%1 (Failed to Load) - Image Viewer - [*]%1 (Betöltés sikertelen) - Képnéző + [*]%1 (Betöltés sikertelen) - Képmegjelenítő - + [*]%1 (%2x%3) - Image Viewer - [*]%1 (%2x%3.) - Képnéző + [*]%1 (%2x%3.) - Képmegjelenítő - + [*]Image Viewer - [*]Képnéző + [*]Képmegjelenítő - + Thumbnails Bélyegképek - + EXIF Data - + EXIF metaadatok LxImage::MruMenu - + &Clear - + &Törlés + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Használjon egy módosítóbillentyűt a +kombináció törléséhez. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Figyelmeztetés: Nem egyértelmű gyorsbillentyű található!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>A nem egyértelmű gyorsbillentyű nem elfogadható.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Ezzel a képformátummal nem lehet menteni! + + + + LxImage::StatusBar + + + Size: + Méret: + + + + Path: + Útvonal: @@ -121,27 +178,27 @@ Imgur - + Imgur ImgBB - + ImgBB ImageShack - + ImageShack Start - + Indítás Stop - + Megállítás @@ -151,7 +208,7 @@ Error - + Hiba @@ -159,344 +216,381 @@ Image Viewer - Képnéző + Képmegjelenítő - + + &Recently Opened Files + Nem&rég megnyitott fájlok + + + &About - Ról&am + &Névjegy + + + + + Annotations Toolbar + Rajz eszköztár - - &Open File - &Fájlnyitás + + Open &With... + M&egnyitás ezzel... - + + &Open… + Megny&itás… + + + Ctrl+O - + Ctrl+O - + + &Reload File + Ú&jratöltés + + + + Ctrl+R + Ctrl+R + + + &Save - &Ment + &Mentés - + Ctrl+S - + Save &As - &Másként ment + Me&ntés másként - + Ctrl+A - + Ctrl+A - + &Close &Bezárás - + Ctrl+W - + Ctrl+W - + Zoom &In - &Nagyít + &Nagyítás - + + Ctrl+= + Ctrl+= + + + Zoom &Out - &Kicsinyít + &Kicsinyítés - + Ctrl+- - + Ctrl+- - + &Copy to Clipboard - &Vágólapra másol + &Másolás vágólapra - - + + Next File Következő fájl - - - Previous File - Előző fájl - - - + PgDown - - &Recently Opened Files - - - - - toolBar_2 - - - - - &Reload File - - - - - Ctrl+R - - - - - Ctrl+= - + + + Previous File + Előző fájl - + PgUp - + PgUp - + Original Size - Eredeti méret + Normál méret - + Ctrl+0 - + Ctrl+0 - + &Fit - &Kitölt + K&itöltés - + &Rotate Clockwise - &Jobbra forgat + Forgatás &jobbra - + R - + R - + Rotate &Counterclockwise - &Balra forgat + Forgatás &balra - + L - + L - + P&references - &Beállítások + Beá&llítások - + &Print - &Nyomtat + N&yomtatás - + Ctrl+P - + Ctrl+P - + First File Első fájl - + Home - + Home - + Last File Utolsó fájl - + End - Vége + End - + &New Window - &Új ablak + Új &ablak - + Ctrl+N - + Ctrl+N - + Flip &Horizontally - Vízsz&intesen átfordít + &Vízszintes tükrözés - + H - + H - + Capture Screenshot - Képernyőkép készítés + Képernyőkép készítése - + F&ull Screen - &Teljes kép + &Teljes képernyő - + F11 - + F11 - + Flip &Vertically - &Fejtetőre állít + &Függőleges tükrözés - + V - + V - + &Paste from Clipboard - Vágóla&pról beilleszt + B&eillesztés vágólapról - + &Slide Show &Diavetítés - + &Delete &Törlés - + Del - + Del - + Show Thumbnails - Bélyegképek + Bélyegképek megjelenítése - + T - + T - + File Properties - Fájljellemzők + Fájltulajdonságok - + Open &Directory - Mappa &Megnyitása + Ma&ppa Megnyitása - + Ctrl+D - + Ctrl+D - + Upload - + Feltöltés - + Upload the image - + Kép feltöltése - + Show EXIF Data - + EXIF Metaadatok - + No Tool - + Nincs eszköz - + Deselect all drawing tools - + Nincs kijelölve rajzeszköz - + Draw Arrow - + Nyíl rajzolása - + Draw an arrow - + Nyíl rajzolása - + Draw Rectangle - + Négyszög rajzolása - + Draw a hollow rectangle - + Négyszög rajzolása - + Draw Circle - + Kör rajzolása - + Draw a hollow circle - + Kör rajzolása - + Draw Number - + Szám rajzolása - + Draw incrementing numbers - + Növekvő számok rajzolása + + + + &Annotations Toolbar + &Rajz eszköztár + + + + + Show Outline + Körvonal megjelenítése + + + + O + O + + + + Copy Pa&th + Ú&tvonal másolása + + + + Copy path + Útvonal másolása + + + + Resize + Átméretezés @@ -504,29 +598,29 @@ &Fájl - + &Help - &Segítség + &Súgó - + Go - Ugrás + &Ugrás - + &View &Nézet - + &Edit - &Szerkeszt + S&zerkesztés - + Toolbar - Eszközsáv + Eszköztár @@ -544,25 +638,113 @@ Normal background color: - Normál háttérszín: + Alap háttérszín: Fullscreen background color: - Teljeskép háttérszín: + Teljes képernyős háttérszín: + Maximum number of recent files: + Legutóbbi fájlok maximális száma: + + + Slide show interval (seconds): Diaváltás (másodperc): + + Show image outline by default + Körvonal megjelenítése + + + + Show annotations toolbar by default + Rajz eszköztár megjelenítése + + + + Shortcuts + Gyorsbillentyűk + + + + Action + Művelet + + + + Shortcut + Kombináció + + + + Default + Alapértelmezett + + General Általános + QObject + + + Error + Hiba + + + + ResizeImageDialog + + + Resize Image + Kép átméretezése + + + + Width + Szélesség + + + + Height + Magasság + + + + Current size: + Jelenlegi méret: + + + + New size: + Új méret: + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + Arány megtartása + + + ScreenshotDialog @@ -572,7 +754,7 @@ Take a screenshot - Képernyőfénykép + Képernyőkép készítése @@ -582,7 +764,7 @@ Whole screen - Teljes kép + Teljes képernyő @@ -592,7 +774,7 @@ Capture an area of the screen - Képernyőrész kiválasztás + Terület kijelölése @@ -601,8 +783,8 @@ - seconds - másodperc + sec + mp @@ -620,12 +802,12 @@ Upload - + Feltöltés Copy - + Másolás diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_id.ts lximage-qt-0.16.0/src/translations/lximage-qt_id.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_id.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_id.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Ambil cuplikan layar + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [BERKAS1, BERKAS2, ...] @@ -27,7 +37,7 @@ unknown error response - respon kesalahan tidak diketahui + respon kesalahan tidak diketahui @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Tentang - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Buka Berkas - - + + Image files (%1) Berkas gambar (%1) - + Open directory Buka direktori - + Save File Simpan Berkas - + [*]%1 (Loading...) - Image Viewer [*]%1 (Memuat...) - Penampil Gambar - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Gagal Dimuat) - Penampil Gambar - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Penampil Gambar - + [*]Image Viewer [*]Penampil Gambar - + Thumbnails Gambar Mini - + EXIF Data Data EXIF @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear &Bersihkan + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + Ukuran: + + + + Path: + Jalur: + + + LxImage::UploadDialog @@ -168,373 +218,410 @@ Penampil Gambar - - &About - &Tentang + + + Annotations Toolbar + Keterangan Bilah Alat - - &Open File - &Buka Berkas + + &About + Tentang - + Ctrl+O Ctrl+O - + &Save &Simpan - + Ctrl+S Ctrl+S - + Save &As Simpan Seb&agai - + Ctrl+A Ctrl+A - + &Close Tutup - + Ctrl+W Ctrl+W - + Zoom &In Per&besar - + Zoom &Out Per&kecil - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Salin ke Papan Klip - - + + Next File Berkas Berikutnya - - + + Previous File Berkas Sebelumnya - + Ctrl+= Ctrl+= + Open &With... + Buka Dengan... + + + &Recently Opened Files &File yang Baru Dibuka - - toolBar_2 - toolBar_2 + + &Open… + &Buka… - + &Reload File &Muat Ulang File - + Ctrl+R Ctrl+R - + PgDown PgDown - + PgUp PgUp - + Original Size Ukuran Asli - + Ctrl+0 Ctrl+0 - + &Fit &Pas - + &Rotate Clockwise Puta&r Searah Jarum Jam - + R R - + Rotate &Counterclockwise Putar Ber&lawanan Jarum Jam - + L L - + P&references P&referensi - + &Print &Cetak - + Ctrl+P Ctrl+P - + First File Berkas Pertama - + Home asumsi: nama tombol - Rumah + Home - + Last File Berkas Terakhir - + End asumsi: nama tombol - Akhir + End - + &New Window Je&ndela Baru - + Ctrl+N Ctrl+N - + Flip &Horizontally Balikkan Arah &Horisontal - + H H - + Capture Screenshot Ambil Cuplikan Layar - + F&ull Screen Layar Pen&uh - + F11 F11 - + Flip &Vertically Balikkan Arah &Vertikal - + V V - + &Paste from Clipboard Tem&pel dari Papan Klip - + &Slide Show Pertunjukan &Salindia - + &Delete Hapus - + Del Del - + Show Thumbnails Tampilkan Gambar Kecil - + T T - + File Properties Properti Berkas - + Open &Directory Buka &Direktori - + Ctrl+D Ctrl+D - + Upload Unggah - + Upload the image Unggah gambar - + Show EXIF Data Tampilkan Data EXIF - + No Tool Tanpa Alat - + Deselect all drawing tools Hapus centang semua alat gambar - + Draw Arrow Gambar Panah - + Draw an arrow Gambar sebuah panah - + Draw Rectangle Gambar persegi panjang - + Draw a hollow rectangle Gambar persegi panjang berongga - + Draw Circle Gambar lingkaran - + Draw a hollow circle Gambar lingkaran berongga - + Draw Number Gambar angka - + Draw incrementing numbers Gambar angka yang bertambah + + &Annotations Toolbar + &Keterangan Bilah alat + + + + + Show Outline + Tampilkan Garis Besar + + + + O + Hai + + + + Copy Pa&th + Salin Jalur + + + + Copy path + Salin Jalur + + + + Resize + Ubah ukuran + + &File - Berkas + &Berkas - + &Help Bantuan - + Go Ke - + &View Lihat - + &Edit Sunting - + Toolbar Bilah alat @@ -563,16 +650,104 @@ + Maximum number of recent files: + Jumlah maksimum file terakhir: + + + Slide show interval (seconds): Interval salindia (detik): + + Show image outline by default + Tampilkan garis besar gambar sebagai standar + + + + Show annotations toolbar by default + Tampilkan keterangan Bilah alat sebagai standar + + + + Shortcuts + Pintasan + + + + Action + Aksi + + + + Shortcut + Pintasan + + + + Default + + + General Umum + QObject + + + Error + Kesalahan + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -611,8 +786,8 @@ - seconds - detik + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_is.ts lximage-qt-0.16.0/src/translations/lximage-qt_is.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_is.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_is.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) - + [FILE1, FILE2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -57,53 +67,53 @@ - + Open File - - + + Image files (%1) - + Open directory - + Save File - + [*]%1 (Loading...) - Image Viewer - + [*]%1 (Failed to Load) - Image Viewer - + [*]%1 (%2x%3) - Image Viewer - + [*]Image Viewer - + Thumbnails - + EXIF Data @@ -111,12 +121,52 @@ LxImage::MruMenu - + &Clear + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -162,369 +212,406 @@ - - &About + + + Annotations Toolbar - - &Open File + + &About - + Ctrl+O - + &Save - + Ctrl+S - + Save &As - + Ctrl+A - + &Close - + Ctrl+W - + Zoom &In - + Zoom &Out - + Ctrl+- - + &Copy to Clipboard - - + + Next File - - + + Previous File - + PgDown + Open &With... + + + + &Recently Opened Files - - toolBar_2 + + &Open… - + &Reload File - + Ctrl+R - + Ctrl+= - + PgUp - + Original Size - + Ctrl+0 - + &Fit - + &Rotate Clockwise - + R - + Rotate &Counterclockwise - + L - + P&references - + &Print - + Ctrl+P - + First File - + Home - + Last File - + End - + &New Window - + Ctrl+N - + Flip &Horizontally - + H - + Capture Screenshot - + F&ull Screen - + F11 - + Flip &Vertically - + V - + &Paste from Clipboard - + &Slide Show - + &Delete - + Del - + Show Thumbnails - + T - + File Properties - + Open &Directory - + Ctrl+D - + Upload - + Upload the image - + Show EXIF Data - + No Tool - + Deselect all drawing tools - + Draw Arrow - + Draw an arrow - + Draw Rectangle - + Draw a hollow rectangle - + Draw Circle - + Draw a hollow circle - + Draw Number - + Draw incrementing numbers + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File - + &Help - + Go - + &View - + &Edit - + Toolbar @@ -553,16 +640,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General + QObject + + + Error + + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -601,7 +776,7 @@ - seconds + sec diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_it.ts lximage-qt-0.16.0/src/translations/lximage-qt_it.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_it.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_it.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Cattura una schermata + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + DIR - + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + [FILE1, FILE2,...] [FILE1, FILE2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Informazioni - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Apri file - - + + Image files (%1) File immagini (%1) - + Open directory Apri cartella - + Save File Salva file - + [*]%1 (Loading...) - Image Viewer [*]%1 (caricando...) - Visualizzatore immagini - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (caricamento non riuscito...) - Visualizzatore immagini - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Visualizzatore immagini - + [*]Image Viewer [*]Visualizzatore immagini - + Thumbnails Miniature - + EXIF Data Dati EXIF @@ -117,12 +127,53 @@ LxImage::MruMenu - + &Clear &Pulisci + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Usa un tasto modificatore per cancellare una +scorciatoia in modalità di modifica. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Attenzione: Scorciatoia presente due volte! rilevata</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Scorciatoia già in uso - non applicata.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Impossibile salvare in questo formato! + + + + LxImage::StatusBar + + + Size: + Dimensione: + + + + Path: + Percorso: + + + LxImage::UploadDialog @@ -168,370 +219,408 @@ Visualizzatore immagini - - &About - Inform&azioni + + + Annotations Toolbar + Barra degli strumenti delle annotazioni - - &Open File - &Apri file + + &About + &Informazioni - + Ctrl+O Ctrl+O - + &Save &Salva - + Ctrl+S Ctrl+S - + Save &As Salva con &nome - + Ctrl+A Ctrl+A - + &Close &Chiudi - + Ctrl+W Ctrl+W - + Zoom &In &Ingrandisci - + Zoom &Out &Rimpicciolisci - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Copia negli appunti - - + + Next File File successivo - - + + Previous File File precedente - + PgDown Pagina giù + Open &With... + Apri &con... + + + &Recently Opened Files File &recenti - - toolBar_2 - toolBar_2 + + &Open… + &Apri… + - + &Reload File &Ricarica file - + Ctrl+R Ctrl+R - + Ctrl+= Ctrl+= - + PgUp Pagina su - + Original Size Dimensioni originali - + Ctrl+0 Ctrl+0 - + &Fit &Adatta - + &Rotate Clockwise &Ruota in senso orario - + R R - + Rotate &Counterclockwise Ruota in &senso antiorario - + L L - + P&references P&referenze - + &Print Stam&pa - + Ctrl+P Ctrl+P - + First File Primo file - + Home Home - + Last File Ultimo file - + End Fine - + &New Window &Nuova finestra - + Ctrl+N Ctrl+N - + Flip &Horizontally Rispecchia &orizzontalmente - + H H - + Capture Screenshot Cattura schermata - + F&ull Screen &Schermo intero - + F11 F11 - + Flip &Vertically Rispecchia &verticalmente - + V V - + &Paste from Clipboard &Incolla dagli appunti - + &Slide Show &Presentazione - + &Delete &Elimina - + Del Canc - + Show Thumbnails - Mostra miniature + Mostra anteprime - + T T - + File Properties Übersetzung von 'file' weggelassen, da redundant. Proprietà del file - + Open &Directory Apri &cartella - + Ctrl+D Ctrl+D - + Upload Carica - + Upload the image Carica l'immagine - + Show EXIF Data Mostra data EXIF - + No Tool Nessuno strumento - + Deselect all drawing tools Deseleziona tutti gli strumenti - + Draw Arrow Disegna freccia - + Draw an arrow Disegna una freccia - + Draw Rectangle Disegna un rettangolo - + Draw a hollow rectangle Disegna un rettangolo vuoto - + Draw Circle Disegna un cerchio - + Draw a hollow circle Disegna un cerchio vuoto - + Draw Number Disegna un numero - + Draw incrementing numbers Disegna numeri crescenti + + &Annotations Toolbar + &Barra degli strumenti delle annotazioni + + + + + Show Outline + Mostra contorno + + + + O + O + + + + Copy Pa&th + Copia &percorso + + + + Copy path + Copia percorso + + + + Resize + Ridimensiona + + &File &File - + &Help &Aiuto - + Go Vai - + &View &Visualizza - + &Edit &Modifica - + Toolbar Barra degli strumenti @@ -560,16 +649,104 @@ + Maximum number of recent files: + Numero massimo di file recenti: + + + Slide show interval (seconds): Ritardo presentazione (secondi): + + Show image outline by default + Mostra sempre il contorno dell'immagine + + + + Show annotations toolbar by default + Mostra sempre la barra degli strumenti delle annotazioni + + + + Shortcuts + Scorciatoie + + + + Action + Azione + + + + Shortcut + Scorciatoia + + + + Default + Ripristina + + General Generali + QObject + + + Error + Errore + + + + ResizeImageDialog + + + Resize Image + Ridimensiona immagine + + + + Width + Larghezza + + + + Height + Altezza + + + + Current size: + Dimensione attuale: + + + + New size: + Dimensione nuova: + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + Mantieni le proporzioni + + + ScreenshotDialog @@ -608,8 +785,8 @@ - seconds - secondi + sec + sec diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_ja.desktop lximage-qt-0.16.0/src/translations/lximage-qt_ja.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt_ja.desktop 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_ja.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,3 @@ +Name[ja]=LXImage 画像ビューアー +GenericName[ja]=イメージビューアー Qt +Comment[ja]=シンプルで高速な画像ビューアーです LXQt diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_ja.ts lximage-qt-0.16.0/src/translations/lximage-qt_ja.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_ja.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_ja.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - スクリーンショットを撮る + + Take a screenshot (deprecated, please use screengrab instead) + スクリーンショットを撮る(非推奨、代わりにScreengrabを使用して下さい) + + + + DIR + DIR + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + スクリーンショットを作成し、GUIを表示せずにディレクトリに保存します(非推奨、代わりにScreengrabを使用して下さい) - + [FILE1, FILE2,...] [ファイル1, ファイル2,...] @@ -27,7 +37,7 @@ unknown error response - 未知のエラー + 未知のエラー @@ -41,12 +51,12 @@ LxImage::MainWindow - + About このアプリケーションについて - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -54,66 +64,113 @@ Authors: Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + LXImage-Qt - シンプルで高速な画像ビューアー + +Copyright (C) 2013 +LXQt Project: https://lxqt.org/ + +作者: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File ファイルを開く - - + + Image files (%1) 画像ファイル (%1) - + Open directory ディレクトリを開く - + Save File ファイルの保存 - + [*]%1 (Loading...) - Image Viewer - [*]%1 (ロード中...) - イメージビューア + [*]%1 (ロード中...) - 画像ビューアー - + [*]%1 (Failed to Load) - Image Viewer - [*]%1 (ロードに失敗) - イメージビューア + [*]%1 (読み込めません) - 画像ビューアー - + [*]%1 (%2x%3) - Image Viewer - [*]%1 (%2x%3) - イメージビューア + [*]%1 (%2x%3) - 画像ビューアー - + [*]Image Viewer - [*]イメージビューア + [*]画像ビューアー - + Thumbnails サムネイル - + EXIF Data - + EXIF データ LxImage::MruMenu - + &Clear - + クリア(&C) + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + ショートカットをクリアするには、編集モードで +修飾キー(訳注: Alt,Ctrl,Shift のみ)を押します。 + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>警告: 複数のショートカットを検出しました!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>複数のショートカットには対応しません。</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + この画像形式で保存できません! + + + + LxImage::StatusBar + + + Size: + サイズ: + + + + Path: + パス: @@ -126,7 +183,7 @@ ImgBB - + ImgBB @@ -159,344 +216,381 @@ Image Viewer - 画像ビューワ + 画像ビューアー - - &About - このアプリケーションについて(&A) + + + Annotations Toolbar + 注釈ツールバー - - &Open File - ファイルを開く(&O) + + &About + このアプリケーションについて(&A) - + Ctrl+O Ctrl+O - + &Save 保存(&S) - + Ctrl+S Ctrl+S - + Save &As 名前を付けて保存(&A) - + Ctrl+A Ctrl+A - + &Close 閉じる(&C) - + Ctrl+W Ctrl+W - + Zoom &In 拡大(&I) - + Zoom &Out 縮小(&O) - + Ctrl+- Ctrl+- - + &Copy to Clipboard クリップボードへコピー(&C) - - + + Next File 次のファイル - - + + Previous File 前のファイル - + Ctrl+= Ctrl+= + Open &With... + アプリケーションで開く(&W)... + + + &Recently Opened Files 最近開いたファイル(&R) - - toolBar_2 - + + &Open… + 開く(&O)… - + &Reload File - + ファイルの再読み込み(&R) - + Ctrl+R - + Ctrl+R - + PgDown - + PgDown - + PgUp - + PgUp - + Original Size 原寸大 - + Ctrl+0 Ctrl+0 - + &Fit フィット(&F) - + &Rotate Clockwise 時計方向に回転(&R) - + R - + R - + Rotate &Counterclockwise 反時計方向に回転(&C) - + L - + L - + P&references 設定(&R) - + &Print 印刷(&P) - + Ctrl+P Ctrl+P - + First File 最初のファイル - + Home Home - + Last File 最後のファイル - + End End - + &New Window - 新規ウィンドウ(&N) + 新しいウィンドウ(&N) - + Ctrl+N Ctrl+N - + Flip &Horizontally 水平方向に反転(&H) - + H - + H - + Capture Screenshot スクリーンショットを撮る - + F&ull Screen - 全画面(&U) + 全画面表示(&U) - + F11 F11 - + Flip &Vertically 垂直方向に反転(&V) - + V - + V - + &Paste from Clipboard - クリップボードからペースト(&P) + クリップボードから貼り付け(&P) - + &Slide Show スライドショー(&S) - + &Delete 削除(&D) - + Del Del - + Show Thumbnails - サムネイルを表示 + サムネイルの表示 - + T - + T - + File Properties ファイルのプロパティ - + Open &Directory ディレクトリを開く(&D) - + Ctrl+D - Ctrl+O + Ctrl+D - + Upload アップロード - + Upload the image - 画像をアップロード + 画像をアップロードする - + Show EXIF Data - + EXIF データの表示 - + No Tool - + ツール解除 - + Deselect all drawing tools - + 描画ツールの選択をすべて解除する - + Draw Arrow - + 矢印を描く - + Draw an arrow - + 矢印を描く - + Draw Rectangle - + 四角を描く - + Draw a hollow rectangle - + 中空の四角を描く - + Draw Circle - + 円を描く - + Draw a hollow circle - + 中空の円を描く - + Draw Number - + 番号を描く - + Draw incrementing numbers - + 増加する数字を描く + + + + &Annotations Toolbar + 注釈ツールバー(&A) + + + + + Show Outline + 枠線の表示 + + + + O + O + + + + Copy Pa&th + パスのコピー(&T) + + + + Copy path + パスのコピー + + + + Resize + サイズの変更 @@ -504,27 +598,27 @@ ファイル(&F) - + &Help ヘルプ(&H) - + Go 移動 - + &View 表示(&V) - + &Edit 編集(&E) - + Toolbar ツールバー @@ -549,17 +643,105 @@ Fullscreen background color: - フルスクリーン時の背景色: + 全画面表示の背景色: + Maximum number of recent files: + 最近使用したファイルの最大数: + + + Slide show interval (seconds): スライドショーの間隔(秒): + + Show image outline by default + 既定では画像の枠線を表示する + + + + Show annotations toolbar by default + 既定では注釈ツールバーを表示する + + + + Shortcuts + ショートカット + + + + Action + 動作 + + + + Shortcut + ショートカット + + + + Default + 既定値 + + General - + 一般 + + + + QObject + + + Error + エラー + + + + ResizeImageDialog + + + Resize Image + 画像のサイズを変更 + + + + Width + + + + + Height + 高さ + + + + Current size: + 現在のサイズ: + + + + New size: + 新しいサイズ: + + + + + px + ピクセル + + + + + % + % + + + + Keep aspect ratio + アスペクト比を保つ @@ -592,7 +774,7 @@ Capture an area of the screen - スクリーンの範囲をキャプチャーする + 画面の範囲をキャプチャーする @@ -601,13 +783,13 @@ - seconds + sec Delay: - 遅延: + 待ち時間: @@ -625,7 +807,7 @@ Copy - + コピーする diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_lt.ts lximage-qt-0.16.0/src/translations/lximage-qt_lt.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_lt.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_lt.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Padaryti ekrano kopiją + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [FAILAS1, FAILAS2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Apie - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Atverti failą - - + + Image files (%1) Paveikslų failai (%1) - + Open directory Atverti katalogą - + Save File Įrašyti failą - + [*]%1 (Loading...) - Image Viewer [*]%1 (Įkeliama...) - Paveikslų žiūryklė - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Nepavyko įkelti) - Paveikslų žiūryklė - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Paveikslų žiūryklė - + [*]Image Viewer [*]Paveikslų žiūryklė - + Thumbnails Miniatiūros - + EXIF Data EXIF duomenys @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear Iš&valyti + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,369 +218,406 @@ Paveikslų žiūryklė - + &Recently Opened Files &Paskiausiai atverti failai - - toolBar_2 - įrankiųJuosta_2 - - - + &About &Apie - - &Open File - A&tverti failą + + + Annotations Toolbar + Pastabų įrankių juosta - + + Open &With... + + + + + &Open… + &Atverti… + + + Ctrl+O Ctrl(Vald)+O - + &Reload File Į&kelti failą iš naujo - + Ctrl+R Ctrl(Vald)+R - + &Save Į&rašyti - + Ctrl+S Ctrl(Vald)+S - + Save &As Įrašyti k&aip - + Ctrl+A Ctrl(Vald)+A - + &Close &Užverti - + Ctrl+W Ctrl(Vald)+W - + Zoom &In D&idinti - + Ctrl+= Ctrl(Vald)+= - + Zoom &Out &Mažinti - + Ctrl+- Ctrl(Vald)+- - + &Copy to Clipboard &Kopijuoti į iškarpinę - - + + Next File Kitas failas - + PgDown PgDown(Tolesnis psl) - - + + Previous File Ankstesnis failas - + PgUp PgUp(Ankstesnis psl) - + Original Size Pradinis dydis - + Ctrl+0 Ctrl(Vald)+0 - + &Fit Pri&derinti - + &Rotate Clockwise Pasukti &pagal laikrodžio rodyklę - + R D - + Rotate &Counterclockwise Pasukti p&rieš laikrodžio rodyklę - + L K - + P&references N&uostatos - + &Print S&pausdinti - + Ctrl+P Ctrl(Vald)+P - + First File Pirmas failas - + Home Home(Prad) - + Last File Paskutinis failas - + End End(Pab) - + &New Window &Naujas langas - + Ctrl+N Ctrl(Vald)+N - + Flip &Horizontally Apversti &horizontaliai - + H H - + Capture Screenshot Padaryti ekrano kopiją - + F&ull Screen V&isas ekranas - + F11 F11 - + Flip &Vertically Apversti &vertikaliai - + V V - + &Paste from Clipboard Į&dėti iš iškarpinės - + &Slide Show &Skaidrių rodymas - + &Delete Iš&trinti - + Del Del(Šal) - + Show Thumbnails Rodyti miniatiūras - + T M - + File Properties Failo savybės - + Open &Directory Atverti &katalogą - + Ctrl+D Ctrl(Vald)+D - + Upload Įkelti - + Upload the image Įkelti paveikslą - + Show EXIF Data Rodyti EXIF duomenis - + No Tool Jokio įrankio - + Deselect all drawing tools Panaikinti bet kokių brėžimo įrankių pasirinkimą - + Draw Arrow Brėžti rodyklę - + Draw an arrow Nubrėžti rodyklę - + Draw Rectangle Brėžti stačiakampį - + Draw a hollow rectangle Nubrėžti tuščiavidurį stačiakampį - + Draw Circle Brėžti apskritimą - + Draw a hollow circle Nubrėžti tuščiavidurį apskritimą - + Draw Number Brėžti skaitmenį - + Draw incrementing numbers Nubrėžti didėjančius skaitmenis + + &Annotations Toolbar + &Pastabų įrankių juosta + + + + + Show Outline + Rodyti kontūrus + + + + O + K + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File &Failas - + &Help Ži&nynas - + Go Pereiti - + &View &Rodinys - + &Edit &Taisa - + Toolbar Įrankių juosta @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Skaidrių rodymo intervalas (sekundėmis): + + Show image outline by default + Pagal numatymą, rodyti paveikslo kontūrus + + + + Show annotations toolbar by default + Pagal numatymą, rodyti pastabų įrankių juostą + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Bendra + QObject + + + Error + Klaida + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - sekundžių + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_nb_NO.ts lximage-qt-0.16.0/src/translations/lximage-qt_nb_NO.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_nb_NO.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_nb_NO.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Ta et skjermbilde + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Om - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Åpne fil - - + + Image files (%1) Bildefiler (%1) - + Open directory Åpne mappe - + Save File Lagre fil - + [*]%1 (Loading...) - Image Viewer [*]%1 (Laster inn...) - Bildeviser - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Klarte ikke å laste inn) - Bildeviser - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Bildeviser - + [*]Image Viewer - [*]Bildeviser + [*] Bildeviser - + Thumbnails Forhåndsvisninger - + EXIF Data EXIF-data @@ -117,9 +127,49 @@ LxImage::MruMenu - + &Clear - &Fjern + &Slett + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + @@ -168,369 +218,406 @@ Bildeviser - + &Recently Opened Files &Nylig åpnede filer - - toolBar_2 - Verktøylinje_2 - - - + &About &Om - - &Open File - &Åpne fil + + + Annotations Toolbar + Verktøylinje for notater + + + + Open &With... + + + + + &Open… + &Åpne… - + Ctrl+O - + &Reload File &Last inn fil på nytt - + Ctrl+R Ctrl+R - + &Save &Lagre - + Ctrl+S - + Save &As Lagre &som - + Ctrl+A - + &Close &Lukk - + Ctrl+W - + Zoom &In Zoom &Inn - + Ctrl+= - + Zoom &Out Zoom &Ut - + Ctrl+- - + &Copy to Clipboard - &Kopier til utklippstavlen + &Kopier til utklippsboken - - + + Next File Neste fil - + PgDown - - + + Previous File Forrige fil - + PgUp - + Original Size Original størrelse - + Ctrl+0 - + &Fit &Tilpass - + &Rotate Clockwise &Roter med klokken - + R - + Rotate &Counterclockwise Roter &mot klokken - + L - + P&references I&nnstillinger - + &Print &Skriv ut - + Ctrl+P - + First File Første fil - + Home Hjem - + Last File Siste fil - + End - Slutt + End - + &New Window &Nytt vindu - + Ctrl+N - + Flip &Horizontally Snu &horisontalt - + H - + Capture Screenshot Ta skjermbilde - + F&ull Screen F&ullskjerm - + F11 - + Flip &Vertically Snu &vertikalt - + V - + &Paste from Clipboard - &Lim inn fra utklippsbok + &Lim inn fra utklippsboken - + &Slide Show &Lysbildeframvisning - + &Delete &Slett - + Del - Slett + Del - + Show Thumbnails Vis forhåndsvisninger - + T - + File Properties Filegenskaper - + Open &Directory Åpne &mappe - + Ctrl+D - + Upload Last opp - + Upload the image Last opp bildet - + Show EXIF Data Vis EXIF-Data - + No Tool Intet verktøy - + Deselect all drawing tools Velg fra alle tegneverktøy - + Draw Arrow Tegn pil - + Draw an arrow Tegn en pil - + Draw Rectangle Tegn rektangel - + Draw a hollow rectangle Tegn et rektangel uten fyll - + Draw Circle Tegn sirkel - + Draw a hollow circle Tegn sirkel uten fyll - + Draw Number Tegn tall - + Draw incrementing numbers Tegn tall i rekkefølge + + &Annotations Toolbar + &Verktøylinje for notater + + + + + Show Outline + Vis omriss + + + + O + O + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File &Fil - + &Help &Hjelp - + Go - + &View &Visning - + &Edit R&ediger - + Toolbar Verktøylinje @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Lysbildeframvisningstid (sekunder): + + Show image outline by default + Vis bildeomriss som standard + + + + Show annotations toolbar by default + Vis verktøylinje for notater som standard + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Generelt + QObject + + + Error + Feil + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - sekunder + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_nl.ts lximage-qt-0.16.0/src/translations/lximage-qt_nl.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_nl.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_nl.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Schermafdruk maken + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [Bestand1, Bestand2,...] @@ -27,7 +37,7 @@ unknown error response - 'onbekende fout'-antwoord + antwoord met onbekende fout @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Over - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Bestand openen - - + + Image files (%1) Afbeeldingbestanden (%1) - + Open directory Map openen - + Save File Bestand opslaan - + [*]%1 (Loading...) - Image Viewer [*]%1 (Laden...) - Afbeeldingkijker - + [*]%1 (Failed to Load) - Image Viewer - [*]%1 (Laden ist fehlgeschlagen) - Bildbetrachter + [*]%1 (Laden mislukt) - Afbeeldingenkijker - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Afbeeldingkijker - + [*]Image Viewer [*]Afbeeldingkijker - + Thumbnails Miniaturen - + EXIF Data EXIF-gegevens @@ -117,8 +127,48 @@ LxImage::MruMenu - + &Clear + Maak &leeg + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: @@ -132,7 +182,7 @@ ImgBB - + ImgBB @@ -142,17 +192,17 @@ Start - Beginnen + Begin Stop - Stoppen + Stop Close - Sluiten + Sluit @@ -168,343 +218,379 @@ Afbeeldingkijker - - &About - &Over + + + Annotations Toolbar + Aantekeningenwerkbalk - - &Open File - This should be "&Open" (without "File") imho. We are in the File menu. - Bestand &openen + + &About + &Over - + Ctrl+O Shortcuts are translated automatically. No need to manually translate it to "Strg+O". Ctrl+O - + &Save &Opslaan - + Ctrl+S Ctrl+S - + Save &As Opslaan &als - + Ctrl+A Ctrl+A - + &Close S&luiten - + Ctrl+W Ctrl+W - + Zoom &In Ver&groten - + Zoom &Out Ver&kleinen - + Ctrl+- Ctrl+- - + &Copy to Clipboard Kopieer naar &klembord - - + + Next File Volgende bestand - - + + Previous File Vorige bestand - + PgDown Omlaag - &Recently Opened Files + Open &With... - - toolBar_2 - + + &Recently Opened Files + &Onlangs Geopend + + + + &Open… + &Open… - + &Reload File - + &Herlaad Bestand - + Ctrl+R - + Ctrl+R - + Ctrl+= Ctrl+= - + PgUp Omhoog - + Original Size Oorspronkelijke grootte - + Ctrl+0 Ctrl+0 - + &Fit Passen&d - + &Rotate Clockwise Met de klok mee &draaien - + R R - + Rotate &Counterclockwise &Tegen de klok in draaien - + L L - + P&references &Voorkeuren - + &Print &Afdrukken - + Ctrl+P Ctrl+P - + First File Eerste bestand - + Home Thuis - + Last File Laatste bestand - + End Einde - + &New Window &Nieuw venster - + Ctrl+N Ctrl+N - + Flip &Horizontally &Horizontaal spiegelen - + H H - + Capture Screenshot Schermafdruk maken - + F&ull Screen - &Gesamter Bildschirm + &Volledig Scherm - + F11 F11 - + Flip &Vertically - &Verticaal spiegelen + Spiegel &verticaal - + V V - + &Paste from Clipboard - &Plakken vanuit klembord + &Plak vanuit klembord - + &Slide Show &Diapresentatie - + &Delete - &Wissen + &Wis - + Del Wis - + Show Thumbnails - Miniaturen tonen + Toon miniaturen - + T M - + File Properties Translation of 'file' skipped, it is redundant (this is the file menu). Eigenschappen - + Open &Directory - Map openen + Open map - + Ctrl+D Ctrl+D - + Upload Opsturen - + Upload the image Afbeelding opsturen - + Show EXIF Data Toon EXIF-gegevens - + No Tool - + Geen gereedschap - + Deselect all drawing tools - + Deselecteer alle tekengereedschappen - + Draw Arrow - + Teken pijl - + Draw an arrow - + Teken een pijl - + Draw Rectangle - + Teken rechthoek - + Draw a hollow rectangle - + Teken een rechthoek zonder inhoud - + Draw Circle - + Teken cirkel - + Draw a hollow circle - + Teken een cirkel zonder inhoud - + Draw Number - + Teken getal - + Draw incrementing numbers + Teken ophogende nummers + + + + &Annotations Toolbar + &Aantekeningenwerkbalk + + + + + Show Outline + Toon contour + + + + O + O + + + + Copy Pa&th + + + + + Copy path + + + + + Resize @@ -513,27 +599,27 @@ &Bestand - + &Help &Hulp - + Go Ga naar - + &View &Tonen - + &Edit &Bewerken - + Toolbar Werkbalk @@ -562,16 +648,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Tussenpoze voor diapresentatie (seconden): + + Show image outline by default + Toon standaard afbeeldingcontour + + + + Show annotations toolbar by default + Toon standaard aantekeningenwerkbalk + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Algemeen + QObject + + + Error + Fout + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -610,8 +784,8 @@ - seconds - Seconden + sec + @@ -634,7 +808,7 @@ Copy - + Kopiëren diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_pa.ts lximage-qt-0.16.0/src/translations/lximage-qt_pa.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_pa.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_pa.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) - + [FILE1, FILE2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -57,53 +67,53 @@ - + Open File - - + + Image files (%1) - + Open directory - + Save File - + [*]%1 (Loading...) - Image Viewer - + [*]%1 (Failed to Load) - Image Viewer - + [*]%1 (%2x%3) - Image Viewer - + [*]Image Viewer - + Thumbnails - + EXIF Data @@ -111,12 +121,52 @@ LxImage::MruMenu - + &Clear + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -162,369 +212,406 @@ - - &About + + + Annotations Toolbar - - &Open File + + &About - + Ctrl+O - + &Save - + Ctrl+S - + Save &As - + Ctrl+A - + &Close - + Ctrl+W - + Zoom &In - + Zoom &Out - + Ctrl+- - + &Copy to Clipboard - - + + Next File - - + + Previous File - + PgDown + Open &With... + + + + &Recently Opened Files - - toolBar_2 + + &Open… - + &Reload File - + Ctrl+R - + Ctrl+= - + PgUp - + Original Size - + Ctrl+0 - + &Fit - + &Rotate Clockwise - + R - + Rotate &Counterclockwise - + L - + P&references - + &Print - + Ctrl+P - + First File - + Home - + Last File - + End - + &New Window - + Ctrl+N - + Flip &Horizontally - + H - + Capture Screenshot - + F&ull Screen - + F11 - + Flip &Vertically - + V - + &Paste from Clipboard - + &Slide Show - + &Delete - + Del - + Show Thumbnails - + T - + File Properties - + Open &Directory - + Ctrl+D - + Upload - + Upload the image - + Show EXIF Data - + No Tool - + Deselect all drawing tools - + Draw Arrow - + Draw an arrow - + Draw Rectangle - + Draw a hollow rectangle - + Draw Circle - + Draw a hollow circle - + Draw Number - + Draw incrementing numbers + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File - + &Help - + Go - + &View - + &Edit - + Toolbar @@ -553,16 +640,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General + QObject + + + Error + + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -601,7 +776,7 @@ - seconds + sec diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_pl.ts lximage-qt-0.16.0/src/translations/lximage-qt_pl.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_pl.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_pl.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Wykonaj zrzut ekranu + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + DIR + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [PLIK1, PLIK2,…] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About O programie - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Otwórz plik - - + + Image files (%1) Pliki obrazów (%1) - + Open directory Otwórz katalog - + Save File Zapisz plik - + [*]%1 (Loading...) - Image Viewer [*]%1 (Ładowanie…) - Przeglądarka obrazów - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Ładowanie nie powiodło się) - Przeglądarka obrazów - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Przeglądarka obrazów - + [*]Image Viewer [*]Przeglądarka obrazów - + Thumbnails Miniaturki - + EXIF Data Dane EXIF @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear Wy&czyść + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,369 +218,406 @@ Przeglądarka obrazów - - &About - &O programie + + + Annotations Toolbar + Pasek przypisów - - &Open File - O&twórz plik + + &About + &O programie - + Ctrl+O Ctrl+O - + &Save &Zapisz - + Ctrl+S Ctrl+S - + Save &As Z&apisz jako - + Ctrl+A Ctrl+A - + &Close Zam&knij - + Ctrl+W Ctrl+W - + Zoom &In Po&większ - + Zoom &Out Po&mniejsz - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Kopiuj do schowka - - + + Next File Następny plik - - + + Previous File Poprzedni plik - + Ctrl+= Ctrl+= + Open &With... + + + + &Recently Opened Files Ostatnio otwie&rane pliki - - toolBar_2 - toolBar_2 + + &Open… + &Otwórz… - + &Reload File P&rzeładuj plik - + Ctrl+R Ctrl+R - + PgDown Page Down - + PgUp Page Up - + Original Size Rozmiar oryginalny - + Ctrl+0 Ctrl+0 - + &Fit Dopa&sowanie - + &Rotate Clockwise Ob&róć zgodnie z ruchem wskazówek zegara - + R R - + Rotate &Counterclockwise Obróć prze&ciwnie do ruchu wskazówek zegara - + L L - + P&references P&referencje - + &Print &Drukuj - + Ctrl+P Ctrl+P - + First File Pierwszy plik - + Home Początek - + Last File Ostatni plik - + End Koniec - + &New Window &Nowe okno - + Ctrl+N Ctrl+N - + Flip &Horizontally Od&bij w poziomie - + H H - + Capture Screenshot Przechwyć zrzut ekranu - + F&ull Screen &Pełny ekran - + F11 F11 - + Flip &Vertically Odbi&j w pionie - + V V - + &Paste from Clipboard &Wklej ze schowka - + &Slide Show Pokaz &slajdów - + &Delete & Usuń - + Del Del - + Show Thumbnails - Pokaż miniaturki + Pokaż miniatury - + T T - + File Properties Właściwości pliku - + Open &Directory Otwórz &katalog - + Ctrl+D Ctrl+D - + Upload Wyślij - + Upload the image Wyślij obraz - + Show EXIF Data Pokaż dane EXIF - + No Tool Brak narzędzia - + Deselect all drawing tools Odznacz wszystkie narzędzia rysowania - + Draw Arrow Narysuj strzałkę - + Draw an arrow Narysuj strzałkę - + Draw Rectangle Narysuj prostokąt - + Draw a hollow rectangle Narysuj obwód prostokąta - + Draw Circle Narysuj koło - + Draw a hollow circle Narysuj okrąg - + Draw Number Narysuj liczbę - + Draw incrementing numbers Narysuj rosnące liczby + + &Annotations Toolbar + P&asek przypisów + + + + + Show Outline + Pokazuj kontur + + + + O + O + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File &Plik - + &Help &Pomoc - + Go Przejdź - + &View &Widok - + &Edit &Edycja - + Toolbar Pasek narzędziowy @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Interwał pokazu slajdów (sekundy): + + Show image outline by default + Pokazuj domyślnie kontur obrazów + + + + Show annotations toolbar by default + Pokazuj domyślnie pasek przypisów + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Ogólne + QObject + + + Error + Błąd + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - sekund + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_pt_BR.ts lximage-qt-0.16.0/src/translations/lximage-qt_pt_BR.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_pt_BR.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_pt_BR.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Capturar a imagem da tela + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + Diretório - + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + [FILE1, FILE2,...] [ARQUIVO1, ARQUIVO2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Sobre - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Abrir arquivo - - + + Image files (%1) Arquivos de imagem (%1) - + Open directory Abrir diretório - + Save File Salvar arquivo - + [*]%1 (Loading...) - Image Viewer [*]%1 (Carregando...) - Visualizador de Imagens - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Falha no carregamento) - Visualizador de Imagens - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Visualizador de Imagens - + [*]Image Viewer [*]Visualizador de Imagens - + Thumbnails Miniaturas - + EXIF Data Dados EXIF @@ -117,12 +127,53 @@ LxImage::MruMenu - + &Clear &Limpar + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Use uma tecla modificadora para limpar +um atalho no modo de edição. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Aviso: Atalho ambíguo detectado!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,342 +219,379 @@ Visualizador de Imagens - - &About - &Sobre + + + Annotations Toolbar + Barra de Anotações - - &Open File - &Abrir arquivo + + &About + &Sobre - + Ctrl+O Ctrl+O - + &Save &Salvar - + Ctrl+S Ctrl+S - + Save &As - Sa&lvar como + Salvar &como - + Ctrl+A - + &Close &Fechar - + Ctrl+W - + Zoom &In - Ampl&iar + Ampliar &zoom - + Zoom &Out - &Diminuir zoom + Diminuir &zoom - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Copiar para a Área de Transferência - - + + Next File Próximo arquivo - - + + Previous File Arquivo anterior - + Ctrl+= Ctrl+= + Open &With... + + + + &Recently Opened Files Arquivos &recentes - - toolBar_2 - toolbar_2 + + &Open… + &Abrir… - + &Reload File &Recarregar arquivo - + Ctrl+R Ctrl+R - + PgDown - + PgUp - + Original Size Tamanho original - + Ctrl+0 - + &Fit - A&justar à tela + &Ajustar à tela - + &Rotate Clockwise - Girar em sentido &horário + &Girar em sentido horário - + R - + Rotate &Counterclockwise Girar em sentido &anti-horário - + L - + P&references P&referências - + &Print - Im&primir + &Imprimir - + Ctrl+P - + First File Primeiro arquivo - + Home - + Last File Último arquivo - + End - + &New Window &Nova janela - + Ctrl+N - + Flip &Horizontally - Espelhar &horizontalmente + Inverter &horizontalmente - + H - + Capture Screenshot Capturar tela - + F&ull Screen - &Tela cheia + Tela &cheia - + F11 - + Flip &Vertically - Espelhar &verticalmente + Inverter &verticalmente - + V V - + &Paste from Clipboard Has a problem, no similar caracter for shortcut. &Colar da Área de Transferência - + &Slide Show Apresentação de &slides - + &Delete &Excluir - + Del - + Show Thumbnails - Exibir miniaturas + Exibir Miniaturas - + T T - + File Properties Propriedades do arquivo - + Open &Directory Abrir &diretório - + Ctrl+D Ctrl+D - + Upload Enviar - + Upload the image Enviar a imagem - + Show EXIF Data Exibir dados EXIF - + No Tool Sem ferramentas - + Deselect all drawing tools - Desselecionar todas as ferramentas + Desmarcar todas as ferramentas de desenho - + Draw Arrow Desenhar Seta - + Draw an arrow Desenhar uma seta - + Draw Rectangle Desenhar Retângulo - + Draw a hollow rectangle Desenhar um retângulo sem preenchimento - + Draw Circle Desenhar Círculo - + Draw a hollow circle Desenhar um círculo sem preenchimento - + Draw Number Desenhar Número - + Draw incrementing numbers - Desenhar números que se incrementam + Desenhar números crescentes + + + + &Annotations Toolbar + Barra de &Anotações + + + + + Show Outline + Exibir Esboço + + + + O + O + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + @@ -511,27 +599,27 @@ &Arquivo - + &Help - Aj&uda + &Ajuda - + Go Ir - + &View &Exibir - + &Edit - E&ditar + &Editar - + Toolbar Barra de ferramentas @@ -560,16 +648,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Intervalo da apresentação entre os slides (em segundos): + + Show image outline by default + Exibir contorno da imagem por padrão + + + + Show annotations toolbar by default + Exibir barra de anotações por padrão + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Geral + QObject + + + Error + Erro + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -579,7 +755,7 @@ Take a screenshot - Capturar a tela + Fazer uma Captura de tela @@ -589,7 +765,7 @@ Whole screen - Toda a tela + Tela inteira @@ -608,8 +784,8 @@ - seconds - segundos + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_pt_PT.ts lximage-qt-0.16.0/src/translations/lximage-qt_pt_PT.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_pt_PT.ts 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_pt_PT.ts 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,806 @@ + + + + + LxImage::Application + + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + + [FILE1, FILE2,...] + + + + + LxImage::ImageShackUpload + + + unknown error response + + + + + LxImage::ImgBBUpload + + + unknown error response + + + + + LxImage::ImgurUpload + + + unknown error response + + + + + LxImage::MainWindow + + + About + + + + + LXImage-Qt - a simple and fast image viewer + +Copyright (C) 2013 +LXQt Project: https://lxqt.org/ + +Authors: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + + + + + Open File + + + + + + Image files (%1) + + + + + Open directory + + + + + Save File + + + + + [*]%1 (Loading...) - Image Viewer + + + + + [*]%1 (Failed to Load) - Image Viewer + + + + + [*]%1 (%2x%3) - Image Viewer + + + + + [*]Image Viewer + + + + + Thumbnails + + + + + EXIF Data + + + + + LxImage::MruMenu + + + &Clear + + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + + LxImage::UploadDialog + + + Imgur + + + + + ImgBB + + + + + ImageShack + + + + + Start + + + + + Stop + + + + + Close + + + + + Error + + + + + MainWindow + + + Image Viewer + + + + + &Recently Opened Files + + + + + &About + + + + + + Annotations Toolbar + + + + + Open &With... + + + + + &Open… + + + + + Ctrl+O + + + + + &Reload File + + + + + Ctrl+R + + + + + &Save + + + + + Ctrl+S + + + + + Save &As + + + + + Ctrl+A + + + + + &Close + + + + + Ctrl+W + + + + + Zoom &In + + + + + Ctrl+= + + + + + Zoom &Out + + + + + Ctrl+- + + + + + &Copy to Clipboard + + + + + + Next File + + + + + PgDown + + + + + + Previous File + + + + + PgUp + + + + + Original Size + + + + + Ctrl+0 + + + + + &Fit + + + + + &Rotate Clockwise + + + + + R + + + + + Rotate &Counterclockwise + + + + + L + + + + + P&references + + + + + &Print + + + + + Ctrl+P + + + + + First File + + + + + Home + + + + + Last File + + + + + End + + + + + &New Window + + + + + Ctrl+N + + + + + Flip &Horizontally + + + + + H + + + + + Capture Screenshot + + + + + F&ull Screen + + + + + F11 + + + + + Flip &Vertically + + + + + V + + + + + &Paste from Clipboard + + + + + &Slide Show + + + + + &Delete + + + + + Del + + + + + Show Thumbnails + + + + + T + + + + + File Properties + + + + + Open &Directory + + + + + Ctrl+D + + + + + Upload + + + + + Upload the image + + + + + Show EXIF Data + + + + + No Tool + + + + + Deselect all drawing tools + + + + + Draw Arrow + + + + + Draw an arrow + + + + + Draw Rectangle + + + + + Draw a hollow rectangle + + + + + Draw Circle + + + + + Draw a hollow circle + + + + + Draw Number + + + + + Draw incrementing numbers + + + + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + + + &File + + + + + &Help + + + + + Go + + + + + &View + + + + + &Edit + + + + + Toolbar + + + + + PreferencesDialog + + + Preferences + + + + + Icon theme: + + + + + Normal background color: + + + + + Fullscreen background color: + + + + + Maximum number of recent files: + + + + + Slide show interval (seconds): + + + + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + + + General + + + + + QObject + + + Error + + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + + ScreenshotDialog + + + Screenshot + + + + + Take a screenshot + + + + + Region + + + + + Whole screen + + + + + Current window only + + + + + Capture an area of the screen + + + + + Include mouse cursor + + + + + sec + + + + + Delay: + + + + + Include window title and frame + + + + + UploadDialog + + + Upload + + + + + Copy + + + + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_pt.ts lximage-qt-0.16.0/src/translations/lximage-qt_pt.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_pt.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_pt.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Obter captura de ecrã + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + Diretório + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [Ficheiro1, Ficheiro2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Acerca - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hang Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Abrir ficheiro - - + + Image files (%1) Ficheiros de imagem (%1) - + Open directory Abrir diretório - + Save File Guardar ficheiro - + [*]%1 (Loading...) - Image Viewer [*]%1 (A carregar...) - Visualizador de imagens - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Falha ao carregar...) - Visualizador de imagens - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Visualizador de imagens - + [*]Image Viewer [*]Visualizador de imagens - + Thumbnails Miniaturas - + EXIF Data Dados EXIF @@ -117,12 +127,53 @@ LxImage::MruMenu - + &Clear &Limpar + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Utilize uma tecla modificadora para +remover o atalho no modo de edição. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Aviso: detetado um atalho ambíguo!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Atalho ambíguo não aceite.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Não foi possível guardar com este formato! + + + + LxImage::StatusBar + + + Size: + Tamanho: + + + + Path: + Caminho: + + + LxImage::UploadDialog @@ -168,369 +219,406 @@ Visualizador de imagens - - &About - &Acerca + + + Annotations Toolbar + Barra de ferramentas Anotação - - &Open File - Abrir ficheir&o + + &About + &Acerca - + Ctrl+O Ctrl+O - + &Save &Guardar - + Ctrl+S Ctrl+S - + Save &As Gu&ardar como - + Ctrl+A Ctrl+A - + &Close Fe&char - + Ctrl+W Ctrl+W - + Zoom &In Ampl&iar - + Zoom &Out Redu&zir - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Copiar para área de transferência - - + + Next File Ficheiro seguinte - - + + Previous File Ficheiro anterior - + Ctrl+= Ctrl+= + Open &With... + Abrir &com... + + + &Recently Opened Files Ficheiros &recentes - - toolBar_2 - Barra de ferramentas 2 + + &Open… + &Abrir… - + &Reload File &Recarregar ficheiro - + Ctrl+R Ctrl+R - + PgDown PageDown - + PgUp PageUp - + Original Size Tamanho original - + Ctrl+0 Ctrl+0 - + &Fit Aj&ustar - + &Rotate Clockwise &Rodar à direita - + R R - + Rotate &Counterclockwise Rodar à &esquerda - + L L - + P&references P&referências - + &Print Im&primir - + Ctrl+P Ctrl+P - + First File Primeiro ficheiro - + Home Home - + Last File Último ficheiro - + End End - + &New Window &Nova janela - + Ctrl+N Ctrl+N - + Flip &Horizontally Inverter na &horizontal - + H H - + Capture Screenshot Captura de ecrã - + F&ull Screen E&crã completo - + F11 F11 - + Flip &Vertically Inverter na &vertical - + V V - + &Paste from Clipboard Colar da área de trans&ferência - + &Slide Show Apre&sentação - + &Delete - &Excluir + &Apagar - + Del Del - + Show Thumbnails Mostrar miniaturas - + T T - + File Properties Propriedades do ficheiro - + Open &Directory Abrir &diretório - + Ctrl+D Ctrl+D - + Upload Enviar - + Upload the image Enviar imagem - + Show EXIF Data Mostrar dados EXIF - + No Tool Sem ferramenta - + Deselect all drawing tools Desmarcar todas as ferramentas de desenho - + Draw Arrow Seta - + Draw an arrow Desenhar uma seta - + Draw Rectangle Retângulo - + Draw a hollow rectangle Desenhar um retângulo - + Draw Circle Círculo - + Draw a hollow circle Desenhar um círculo - + Draw Number Número - + Draw incrementing numbers Desenhar números por incremento + + &Annotations Toolbar + Barra de ferramentas &Anotação + + + + + Show Outline + Mostrar contorno + + + + O + O + + + + Copy Pa&th + Copiar camin&ho + + + + Copy path + Copiar caminho + + + + Resize + Redimensionar + + &File &Ficheiro - + &Help Aj&uda - + Go Ir - + &View &Ver - + &Edit &Editar - + Toolbar Barra de ferramentas @@ -559,16 +647,104 @@ + Maximum number of recent files: + Número máximo de ficheiros recentes: + + + Slide show interval (seconds): Intervalo entre imagens (segundos): + + Show image outline by default + Mostrar contorno da imagem, por definição + + + + Show annotations toolbar by default + Mostrar barra de anotações, por definição + + + + Shortcuts + Atalhos + + + + Action + Ação + + + + Shortcut + Atalho + + + + Default + Repor atalhos para os valores padrão + + General Geral + QObject + + + Error + Erro + + + + ResizeImageDialog + + + Resize Image + Redimensionar imagem + + + + Width + Largura + + + + Height + Altura + + + + Current size: + Tamanho atual: + + + + New size: + Novo tamanho: + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + Manter proporção + + + ScreenshotDialog @@ -607,8 +783,8 @@ - seconds - segundos + sec + seg. diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_ru.ts lximage-qt-0.16.0/src/translations/lximage-qt_ru.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_ru.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_ru.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Сделать снимок экрана + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + ДИРЕКТОРИЯ + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [ФАЙЛ1, ФАЙЛ2, ...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About О программе - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Хон Джене (PCMan) <pcman.tw@gmail.com> - + Open File Открыть файл - - + + Image files (%1) Файлы изображений (%1) - + Open directory Открыть каталог - + Save File Сохранить файл - + [*]%1 (Loading...) - Image Viewer [*]%1 (Загружается...) - Просмотрщик изображений - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Ошибка загрузки) - Просмотрщик изображений - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Просмотрщик изображений - + [*]Image Viewer [*]Просмотрщик изображений - + Thumbnails Эскизы - + EXIF Data Данные EXIF @@ -117,12 +127,53 @@ LxImage::MruMenu - + &Clear &Очистить + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Используйте клавишу-модификатор, чтобы очистить +комбинацию клавиш в режиме редактирования. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Внимание: обнаружено неоднозначное сочетание клавиш!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Неоднозначное сочетание клавиш не принято.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Невозможно сохранить изображение в данном формате! + + + + LxImage::StatusBar + + + Size: + Размер: + + + + Path: + Путь: + + + LxImage::UploadDialog @@ -168,369 +219,406 @@ Просмотрщик изображений - - &About - &О программе + + + Annotations Toolbar + Панель примечаний - - &Open File - &Открыть файл + + &About + &О программе - + Ctrl+O - + &Save &Сохранить - + Ctrl+S - + Save &As Сохранить &как - + Ctrl+A - + &Close &Закрыть - + Ctrl+W - + Zoom &In При&близить - + Zoom &Out От&далить - + Ctrl+- - + &Copy to Clipboard Скопировать в &буфер обмена - - + + Next File Следующий файл - - + + Previous File Предыдущий файл - + PgDown + Open &With... + Открыть с помощью... + + + &Recently Opened Files &Последние файлы - - toolBar_2 - Панель 2 + + &Open… + &Открыть… - + &Reload File Пере&загрузить файл - + Ctrl+R Ctrl+R - + Ctrl+= Ctrl+= - + PgUp - + Original Size Исходный размер - + Ctrl+0 - + &Fit &Заполнить - + &Rotate Clockwise Пове&рнуть по часовой стрелке - + R R - + Rotate &Counterclockwise Повернуть &против часовой стрелки - + L L - + P&references &Настройки - + &Print &Печать - + Ctrl+P - + First File Первый файл - + Home - + Last File Последний файл - + End - + &New Window &Новое окно - + Ctrl+N - + Flip &Horizontally Отразить &горизонтально - + H H - + Capture Screenshot Сделать снимок экрана - + F&ull Screen Полный &экран - + F11 - + Flip &Vertically Отразить &вертикально - + V V - + &Paste from Clipboard &Вставить из буфера обмена - + &Slide Show &Слайд-шоу - + &Delete &Удалить - + Del - + Show Thumbnails - Показать эскизы + Показывать эскизы - + T T - + File Properties Свойства файла - + Open &Directory Открыть &каталог - + Ctrl+D - + Upload - Загрузить + Загрузить на сервер - + Upload the image Загрузить изображение - + Show EXIF Data Показать данные EXIF - + No Tool Без инструмента - + Deselect all drawing tools Отменить выбор инструмента рисования - + Draw Arrow Нарисовать стрелку - + Draw an arrow Нарисовать стрелку - + Draw Rectangle Нарисовать прямоугольник - + Draw a hollow rectangle Нарисовать прямоугольник (без заливки) - + Draw Circle - Нарисовать окружность + Нарисовать круг - + Draw a hollow circle Нарисовать окружность - + Draw Number Нарисовать число - + Draw incrementing numbers Нарисовать число (с увеличением счётчика) + + &Annotations Toolbar + Панель &примечаний + + + + + Show Outline + Показать контур + + + + O + O + + + + Copy Pa&th + Скопировать путь + + + + Copy path + Скопировать путь + + + + Resize + Изменить размер + + &File &Файл - + &Help &Справка - + Go Перейти - + &View &Вид - + &Edit &Правка - + Toolbar Панель инструментов @@ -559,16 +647,104 @@ + Maximum number of recent files: + Максимальное количество последних файлов: + + + Slide show interval (seconds): Интервал слайд-шоу (в секундах): + + Show image outline by default + Показывать контур изображения по умолчанию + + + + Show annotations toolbar by default + Показывать панель примечаний по умолчанию + + + + Shortcuts + Кнопкосочетания + + + + Action + Действие + + + + Shortcut + Сочетание клавиш + + + + Default + По умолчанию + + General Общие + QObject + + + Error + Ошибка + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +783,8 @@ - seconds - секунд(ы) + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_gl.desktop lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_gl.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_gl.desktop 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_gl.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,3 @@ +Name[gl]=Captura da pantalla +GenericName[gl]=Captura da pantalla +Comment[gl]=Toma capturas da pantalla diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_hr.desktop lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_hr.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_hr.desktop 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_hr.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,4 @@ +#Translation +Name[hr]=Snimka ekrana +GenericName[hr]=Snimka ekrana +Comment[hr]=Snimi ekran diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_hu.desktop lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_hu.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_hu.desktop 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_hu.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -1,6 +1,6 @@ [Desktop Entry] -Name[hu]=LXQt képernyőfotó -GenericName[hu]=Képrnyőfénykép -Comment[hu]=Képernyőkép készítés +Name[hu]=LXQt képernyőkép +GenericName[hu]=Képernyőkép +Comment[hu]=Képernyőkép készítése #TRANSLATIONS_DIR=translations diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_ja.desktop lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_ja.desktop --- lximage-qt-0.14.1/src/translations/lximage-qt-screenshot_ja.desktop 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt-screenshot_ja.desktop 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,3 @@ +Name[ja]=スクリーンショット Qt +GenericName[ja]=スクリーンショット Qt +Comment[ja]=スクリーンショットを取得します LXImage-Qt diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_sl.ts lximage-qt-0.16.0/src/translations/lximage-qt_sl.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_sl.ts 1970-01-01 00:00:00.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_sl.ts 2020-11-02 22:25:19.000000000 +0000 @@ -0,0 +1,812 @@ + + + + + LxImage::Application + + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + + [FILE1, FILE2,...] + [DATOTEKA1, DATOTEKA2, ...] + + + + LxImage::ImageShackUpload + + + unknown error response + Strežnik je vrnil neznano napako + + + + LxImage::ImgBBUpload + + + unknown error response + Strežnik je vrnil neznano napako + + + + LxImage::ImgurUpload + + + unknown error response + Strežnik je vrnil neznano napako + + + + LxImage::MainWindow + + + About + O pregledovalniku + + + + LXImage-Qt - a simple and fast image viewer + +Copyright (C) 2013 +LXQt Project: https://lxqt.org/ + +Authors: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + LXImage-Qt - preprost in hiter pregledovalnik slik + +Copyright (C) 2013 +Projekt LXQt (https://lxqt.org) + +Avtor: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + + + + Open File + Odpri datoteko + + + + + Image files (%1) + Slikovne datoteke (%1) + + + + Open directory + Odpri mapo + + + + Save File + Shrani datoteko + + + + [*]%1 (Loading...) - Image Viewer + [*]%1 (Nalagam...) - Pregledovalnik slik + + + + [*]%1 (Failed to Load) - Image Viewer + [*]%1 (Napaka pri nalaganju) - Pregledovalnik slik + + + + [*]%1 (%2x%3) - Image Viewer + [*]%1 (%2x%3) - Pregledovalnik slik + + + + [*]Image Viewer + [*]Pregledovalnik slik + + + + Thumbnails + Sličice + + + + EXIF Data + Podatki EXIF + + + + LxImage::MruMenu + + + &Clear + Po&čisti + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + + LxImage::UploadDialog + + + Imgur + Imgur + + + + ImgBB + ImgBB + + + + ImageShack + ImageShack + + + + Start + Začni + + + + Stop + Končaj + + + + Close + Zapri + + + + Error + Napaka pri nalaganju + + + + MainWindow + + + Image Viewer + Pregledovalnik slik + + + + &Recently Opened Files + Nedavno odp&rte datoteke + + + + &About + &O programu + + + + + Annotations Toolbar + Orodna vrstica s pripombami + + + + Open &With... + + + + + &Open… + &Odpri… + + + + Ctrl+O + Ctrl+O + + + + &Reload File + P&onovno naloži + + + + Ctrl+R + Ctrl+R + + + + &Save + &Shrani + + + + Ctrl+S + Ctrl+S + + + + Save &As + Shrani &kot + + + + Ctrl+A + Ctrl+A + + + + &Close + &Zapri + + + + Ctrl+W + Ctrl+W + + + + Zoom &In + Pr&ibližaj + + + + Ctrl+= + Ctrl+= + + + + Zoom &Out + &Oddalji + + + + Ctrl+- + Ctrl+- + + + + &Copy to Clipboard + &Kopiraj v odložišče + + + + + Next File + Naslednja datoteka + + + + PgDown + PgDown + + + + + Previous File + Prejšnja datoteka + + + + PgUp + PgUp + + + + Original Size + Izvirna velikost + + + + Ctrl+0 + Ctrl+0 + + + + &Fit + Prila&godi oknu + + + + &Rotate Clockwise + Obrni v &smeri urinega kazalca + + + + R + R + + + + Rotate &Counterclockwise + Obrni v &nasprotni smeri urinega kazalca + + + + L + L + + + + P&references + &Nastavitve + + + + &Print + Na&tisni + + + + Ctrl+P + Ctrl+P + + + + First File + Prva datoteka + + + + Home + Home + + + + Last File + Zadnja datoteka + + + + End + End + + + + &New Window + &Novo okno + + + + Ctrl+N + Ctrl+N + + + + Flip &Horizontally + Obrni &vodoravno + + + + H + H + + + + Capture Screenshot + Zajemi posnetek zaslona + + + + F&ull Screen + C&el zaslon + + + + F11 + F11 + + + + Flip &Vertically + Obrni &navpično + + + + V + V + + + + &Paste from Clipboard + &Prilepi iz odložišča + + + + &Slide Show + &Diaprojekcija + + + + &Delete + I&zbriši + + + + Del + Del + + + + Show Thumbnails + Pokaži sličice + + + + T + T + + + + File Properties + Lastnosti datoteke + + + + Open &Directory + Odpri &mapo + + + + Ctrl+D + Ctrl+D + + + + Upload + + + + + Upload the image + + + + + Show EXIF Data + + + + + No Tool + + + + + Deselect all drawing tools + + + + + Draw Arrow + + + + + Draw an arrow + + + + + Draw Rectangle + + + + + Draw a hollow rectangle + + + + + Draw Circle + + + + + Draw a hollow circle + + + + + Draw Number + + + + + Draw incrementing numbers + + + + + &Annotations Toolbar + + + + + + Show Outline + Pokaži okvir + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + + + &File + &Datoteka + + + + &Help + Po&moč + + + + Go + Pojdi + + + + &View + &Pogled + + + + &Edit + &Uredi + + + + Toolbar + Orodna vrstica + + + + PreferencesDialog + + + Preferences + Možnosti + + + + Icon theme: + Ikonska tema: + + + + Normal background color: + + + + + Fullscreen background color: + + + + + Maximum number of recent files: + + + + + Slide show interval (seconds): + + + + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + + + General + + + + + QObject + + + Error + Napaka pri nalaganju + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + + ScreenshotDialog + + + Screenshot + + + + + Take a screenshot + Zajemi posnetek zaslona + + + + Region + + + + + Whole screen + + + + + Current window only + + + + + Capture an area of the screen + + + + + Include mouse cursor + + + + + sec + + + + + Delay: + Zakasnitev: + + + + Include window title and frame + + + + + UploadDialog + + + Upload + + + + + Copy + + + + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_sv.ts lximage-qt-0.16.0/src/translations/lximage-qt_sv.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_sv.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_sv.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,22 +4,32 @@ LxImage::Application - - Take a screenshot + + Take a screenshot (deprecated, please use screengrab instead) - - [FILE1, FILE2,...] + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + [FILE1, FILE2,...] + [FIL1, FIL2,...] + LxImage::ImageShackUpload unknown error response - + okänt felmeddelande @@ -27,7 +37,7 @@ unknown error response - + okänt felmeddelande @@ -35,69 +45,69 @@ unknown error response - + okänt felmeddelande LxImage::MainWindow - + About - + Om - + Open File - + Öppna fil - - + + Image files (%1) - + Bildfiler (%1) - + Save File - + Spara fil - + Thumbnails - + Tumnaglar - + EXIF Data - + EXIF Data - + [*]%1 (Loading...) - Image Viewer - + [*]%1 (Laddar...) - Bildvisare - + [*]%1 (Failed to Load) - Image Viewer - + [*]%1 (Det gick inte att ladda) - Bildvisare - + [*]%1 (%2x%3) - Image Viewer - + [*]%1 (%2x%3) - Bildvisare - + [*]Image Viewer - + [*] Bildvisare - + Open directory - + Öppna katalog - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -105,14 +115,60 @@ Authors: Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + LXImage-Qt - en enkel och snabb bildvisare + +Copyright (C) 2013 +LXQt-projekt: https://lxqt.org/ + +Författare: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> LxImage::MruMenu - + &Clear + &Rensa + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: @@ -121,37 +177,37 @@ Imgur - + Imgur ImgBB - + ImgBB ImageShack - + ImageShack Start - + Starta Stop - + Stoppa Close - + Stäng Error - + Fel @@ -159,372 +215,409 @@ Image Viewer - + Bildvisare - &Recently Opened Files + Open &With... - - toolBar_2 - + + &Recently Opened Files + &Nyligen öppnade filer - + &About - + &Om - - &Open File - - - - + Ctrl+O - + Ctrl+O - + &Reload File - + &Ladda om filen - + Ctrl+R - + Ctrl+R - + &Save - + &Spara - + Ctrl+S - + Ctrl+S - + Save &As - + S&para som - + Ctrl+A - + Ctrl+A - + &Close - + Stän&g - + Ctrl+W - + Ctrl+W - + Zoom &In - + Zooma &in - + Zoom &Out - + Zooma &ut - + Ctrl+- - + Ctrl+- - + &Copy to Clipboard - + &Kopiera till urklipp - - + + Next File - + Nästa fil - - + + Previous File - + Föregående fil - + Original Size - + Ursprunglig storlek - + &Fit - + &Anpassa - + &Rotate Clockwise - + &Rotera medurs - + R - + R - + Rotate &Counterclockwise - + Rotera m&oturs - + L - + L - + P&references - + I&nställningar - + &Print - + Skriv &ut - + First File - + Första filen - + Home - + Hem - + Last File - + Sista filen - + End - + Slut - + &New Window - + &Nytt fönster - + Ctrl+N - + Ctrl+N - + Flip &Horizontally - + H - + Capture Screenshot - + F&ull Screen - + F11 - + Flip &Vertically - + V - + &Paste from Clipboard - + &Slide Show - + &Delete - + &Ta bort - + Del - + Show EXIF Data - + No Tool - + Deselect all drawing tools - + Draw Arrow - + Draw an arrow - + Draw Rectangle - + Draw a hollow rectangle - + Draw Circle - + Draw a hollow circle - + Draw Number - + Draw incrementing numbers + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File - + &Fil - + &Help - + &Hjälp - + Go - + - + &View - + &Visa - + &Edit - + &Redigera - + Toolbar - + + + Annotations Toolbar + + + + + &Open… + + + + PgDown - + PgUp - + Ctrl+P - + Show Thumbnails - + T - + File Properties - + Ctrl+= - + Ctrl+0 - + Open &Directory - + Ctrl+D - + Upload - + Upload the image @@ -553,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General + QObject + + + Error + Fel + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -572,7 +753,7 @@ Take a screenshot - + Ta skärmbild @@ -596,7 +777,7 @@ - seconds + sec diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_tr.ts lximage-qt-0.16.0/src/translations/lximage-qt_tr.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_tr.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_tr.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Ekran görüntüsü al + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + DİZ + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [DOSYA1, DOSYA2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About Hakkında - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Dosya Aç - - + + Image files (%1) Resim dosyaları (%1) - + Open directory Dizin aç - + Save File Dosyayı Kaydet - + [*]%1 (Loading...) - Image Viewer [*]%1 (Yükleniyor...) - Resim Gösterici - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Yükleme Başarısız Oldu) - Resim Gösterici - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Resim Gösterici - + [*]Image Viewer [*]Resim Gösterici - + Thumbnails Önizleme - + EXIF Data EXIF Verileri @@ -117,12 +127,53 @@ LxImage::MruMenu - + &Clear &Temizle + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + Düzenleme kipinde bir kısayolu temizlemek +için bir değiştirici tuş kullanın. + + + + <b>Warning: Ambiguous shortcut detected!</b> + <b>Uyarı: Belirsiz kısayol algılandı!</b> + + + + <b>Ambiguous shortcut not accepted.</b> + <b>Belirsiz kısayol kabul edilmiyor.</b> + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + Bu görüntü biçimiyle kaydedilemez! + + + + LxImage::StatusBar + + + Size: + Boyut: + + + + Path: + Yol: + + + LxImage::UploadDialog @@ -168,369 +219,406 @@ Resim Gösterici - + &Recently Opened Files &Son Açılan Belgeler - - toolBar_2 - Araç_Çubuğu_2 - - - + &About &Hakkında - - &Open File - &Dosya Aç + + + Annotations Toolbar + Dipnot Araç Çubuğu - + + Open &With... + &Birlikte Aç... + + + + &Open… + &Aç… + + + Ctrl+O Ctrl+O - + &Reload File Dosyayı &Yeniden Yükle - + Ctrl+R Ctrl+R - + &Save &Kaydet - + Ctrl+S Ctrl+S - + Save &As Farklı K&aydet - + Ctrl+A Ctrl+A - + &Close &Kapat - + Ctrl+W Ctrl+W - + Zoom &In Büyü&t - + Ctrl+= Ctrl+= - + Zoom &Out Küç&ült - + Ctrl+- Ctrl+- - + &Copy to Clipboard Panoya &Kopyala - - + + Next File Sonraki Dosya - + PgDown PgDown - - + + Previous File Önceki Dosya - + PgUp PgUp - + Original Size Özgün Boyut - + Ctrl+0 Ctrl+0 - + &Fit &Uydur - + &Rotate Clockwise &Saat Yönüne Döndür - + R R - + Rotate &Counterclockwise Saat Yönünün &Tersine Döndür - + L L - + P&references &Tercihler - + &Print Ya&zdır - + Ctrl+P Ctrl+P - + First File İlk Dosya - + Home - Ev + Ev Dizini - + Last File Son Dosya - + End End - + &New Window &Yeni Pencere - + Ctrl+N Ctrl+N - + Flip &Horizontally &Yatay Çevir - + H H - + Capture Screenshot Ekran Görüntüsü Yakala - + F&ull Screen &Tam Ekran - + F11 F11 - + Flip &Vertically Dikey Çe&vir - + V V - + &Paste from Clipboard &Panodan Yapıştır - + &Slide Show &Slayt Gösterisi - + &Delete &Sil - + Del Sil - + Show Thumbnails - Küçükresimleri Göster + Önizlemeleri Göster - + T T - + File Properties Dosya Özellikleri - + Open &Directory &Dizin Aç - + Ctrl+D Ctrl+D - + Upload Yükle - + Upload the image Resim yükle - + Show EXIF Data EXIF Verisini Göster - + No Tool Araç Yok - + Deselect all drawing tools Tüm çizim araçlarının seçimini kaldır - + Draw Arrow Ok Çiz - + Draw an arrow Bir ok çiz - + Draw Rectangle - Dikdörtgen çiz + Dikdörtgen Çiz - + Draw a hollow rectangle Boş bir dikdörtgen çiz - + Draw Circle Daire Çiz - + Draw a hollow circle Boş bir daire çiz - + Draw Number Sayı Çiz - + Draw incrementing numbers Artan sayılar çiz + + &Annotations Toolbar + &Dipnot Araç Çubuğu + + + + + Show Outline + Dış Sınırı Göster + + + + O + O + + + + Copy Pa&th + &Yolu Kopyala + + + + Copy path + Yolu kopyala + + + + Resize + Yeniden Boyutlandır + + &File &Dosya - + &Help &Yardım - + Go Git - + &View &Görünüm - + &Edit &Düzenle - + Toolbar Araç Çubuğu @@ -545,7 +633,7 @@ Icon theme: - Simge seti teması: + Simge teması: @@ -559,16 +647,104 @@ + Maximum number of recent files: + Son kullanılan en fazla dosya sayısı: + + + Slide show interval (seconds): Slayt gösterisi aralığı (saniye): + + Show image outline by default + Her zaman resim dış sınırını göster + + + + Show annotations toolbar by default + Her zaman dipnot araç çubuğunu göster + + + + Shortcuts + Kısayollar + + + + Action + Eylem + + + + Shortcut + Kısayol + + + + Default + Varsayılan + + General Genel + QObject + + + Error + Hata + + + + ResizeImageDialog + + + Resize Image + Resmi Yeniden Boyutlandır + + + + Width + Genişlik + + + + Height + Yükseklik + + + + Current size: + Mevcut boyut: + + + + New size: + Yeni boyut: + + + + + px + px + + + + + % + % + + + + Keep aspect ratio + En-boy oranını koru + + + ScreenshotDialog @@ -603,12 +779,12 @@ Include mouse cursor - Fare imlecini de al + Fare imlecini dahil et - seconds - saniye + sec + san diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt.ts lximage-qt-0.16.0/src/translations/lximage-qt.ts --- lximage-qt-0.14.1/src/translations/lximage-qt.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR - + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + [FILE1, FILE2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -57,53 +67,53 @@ - + Open File - - + + Image files (%1) - + Open directory - + Save File - + [*]%1 (Loading...) - Image Viewer - + [*]%1 (Failed to Load) - Image Viewer - + [*]%1 (%2x%3) - Image Viewer - + [*]Image Viewer - + Thumbnails - + EXIF Data @@ -111,12 +121,52 @@ LxImage::MruMenu - + &Clear + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -162,369 +212,406 @@ - + &Recently Opened Files - - toolBar_2 + + &About - - &About + + + Annotations Toolbar + + + + + Open &With... - - &Open File + + &Open… - + Ctrl+O - + &Reload File - + Ctrl+R - + &Save - + Ctrl+S - + Save &As - + Ctrl+A - + &Close - + Ctrl+W - + Zoom &In - + Ctrl+= - + Zoom &Out - + Ctrl+- - + &Copy to Clipboard - - + + Next File - + PgDown - - + + Previous File - + PgUp - + Original Size - + Ctrl+0 - + &Fit - + &Rotate Clockwise - + R - + Rotate &Counterclockwise - + L - + P&references - + &Print - + Ctrl+P - + First File - + Home - + Last File - + End - + &New Window - + Ctrl+N - + Flip &Horizontally - + H - + Capture Screenshot - + F&ull Screen - + F11 - + Flip &Vertically - + V - + &Paste from Clipboard - + &Slide Show - + &Delete - + Del - + Show Thumbnails - + T - + File Properties - + Open &Directory - + Ctrl+D - + Upload - + Upload the image - + Show EXIF Data - + No Tool - + Deselect all drawing tools - + Draw Arrow - + Draw an arrow - + Draw Rectangle - + Draw a hollow rectangle - + Draw Circle - + Draw a hollow circle - + Draw Number - + Draw incrementing numbers + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File - + &Help - + Go - + &View - + &Edit - + Toolbar @@ -553,16 +640,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General + QObject + + + Error + + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -601,7 +776,7 @@ - seconds + sec diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_uk.ts lximage-qt-0.16.0/src/translations/lximage-qt_uk.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_uk.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_uk.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - Зробити знімок + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + - + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + + + + [FILE1, FILE2,...] [ФАЙЛ1, ФАЙЛ2,...] @@ -19,7 +29,7 @@ unknown error response - + відповідь сервера містить помилку без опису @@ -27,7 +37,7 @@ unknown error response - + відповідь сервера містить помилку без опису @@ -35,18 +45,18 @@ unknown error response - + відповідь сервера містить помилку без опису LxImage::MainWindow - + About Про програму - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -54,65 +64,111 @@ Authors: Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + LXImage-Qt - простий і швидкий переглядач зображень + +Copyright (C) 2013 +Проєкт LXQt: https://lxqt.org/ + +Автори: +Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File Відкрити файл - - + + Image files (%1) Файли зображень (%1) - + Open directory - + Відкрити каталог - + Save File Зберегти файл - + [*]%1 (Loading...) - Image Viewer [*]%1 (Завантаження...) - Переглядач малюнків - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (Не вдалося завантажити) - Переглядач малюнків - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - Переглядач малюнків - + [*]Image Viewer [*]Переглядач малюнків - + Thumbnails Значки - + EXIF Data - + Дані EXIF LxImage::MruMenu - + &Clear + &Очистити + + + + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: @@ -121,37 +177,37 @@ Imgur - + Imgur ImgBB - + ImgBB ImageShack - + ImageShack Start - + Почати Stop - + Зупинити Close - + Закрити Error - + Помилка @@ -162,340 +218,377 @@ Переглядач зображень - - &About - &Про програму + + + Annotations Toolbar + Панель анотацій - - &Open File - &Відкрити файл + + &About + &Про програму - + Ctrl+O Ctrl+O - + &Save &Зберегти - + Ctrl+S Ctrl+S - + Save &As Зберегти &як - + Ctrl+A Ctrl+A - + &Close &Закрити - + Ctrl+W Ctrl+W - + Zoom &In З&більшити - + Zoom &Out &Зменшити - + Ctrl+- Ctrl+- - + &Copy to Clipboard &Копіювати до буфера - - + + Next File Наступний файл - - + + Previous File Попередній Файл - + Ctrl+= - + Ctrl+= - &Recently Opened Files + Open &With... - - toolBar_2 - + + &Recently Opened Files + &Нещодавні файли + + + + &Open… + &Відкрити - + &Reload File - + &Перезавантажити файл - + Ctrl+R - + Ctrl+R - + PgDown PgDown - + PgUp PgUp - + Original Size Оригінальний розмір - + Ctrl+0 - + Ctrl+0 - + &Fit &Підігнати - + &Rotate Clockwise &Обернути за год. стрілкою - + R - + R - + Rotate &Counterclockwise Обернути проти &год. стрілки - + L - + L - + P&references На&лаштування - + &Print &Друк - + Ctrl+P Ctrl+P - + First File Перший файл - + Home Home - + Last File Останній файл - + End End - + &New Window &Нове вікно - + Ctrl+N Ctrl+N - + Flip &Horizontally Віддзеркалити &горизонтально - + H - + H - + Capture Screenshot Зробити знімок екрана - + F&ull Screen П&овний екран - + F11 F11 - + Flip &Vertically Віддзеркалити &вертикально - + V - + V - + &Paste from Clipboard &Вставити з буфера обміну - + &Slide Show &Показ слайдів - + &Delete В&илучити - + Del Del - + Show Thumbnails Показати значки - + T - + T - + File Properties Властивості файлу - + Open &Directory - + Відкрити &Каталог - + Ctrl+D - + Ctrl+D - + Upload - + Вивантажити - + Upload the image - + Вивантажити це зображення - + Show EXIF Data - + Показати дані EXIF - + No Tool - + Не малювати - + Deselect all drawing tools - + Скасувати вибір інструменту малювання - + Draw Arrow - + Стрілка - + Draw an arrow - + Малювати стрілку - + Draw Rectangle - + Прямокутник - + Draw a hollow rectangle - + Малювати прямокутну раму - + Draw Circle - + Коло - + Draw a hollow circle - + Малювати еліптичну раму - + Draw Number - + Цифри - + Draw incrementing numbers + Малювати цифри у зростаючому порядку + + + + &Annotations Toolbar + &Панель анотацій + + + + + Show Outline + Показувати контур + + + + O + O + + + + Copy Pa&th + + + + + Copy path + + + + + Resize @@ -504,27 +597,27 @@ &Файл - + &Help &Довідка - + Go Перейти - + &View П&ерегляд - + &Edit &Редагування - + Toolbar Панель інструментів @@ -553,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): Інтервал слайд-шоу (секунди): + + Show image outline by default + Типово показувати контур + + + + Show annotations toolbar by default + Типово показувати панель анотацій + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General Загальне + QObject + + + Error + Помилка + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -592,7 +773,7 @@ Capture an area of the screen - + Захопити частину екрану @@ -601,8 +782,8 @@ - seconds - секунд + sec + @@ -620,12 +801,12 @@ Upload - + Вивантажити Copy - + Копіювати diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_zh_CN.ts lximage-qt-0.16.0/src/translations/lximage-qt_zh_CN.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_zh_CN.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_zh_CN.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - 抓取屏幕截图 + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [文件1, 文件2,...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About 关于 - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -63,53 +73,53 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File 打开文件 - - + + Image files (%1) 图像文件 (%1) - + Open directory 打开目录 - + Save File 保存文件 - + [*]%1 (Loading...) - Image Viewer [*]%1 (正在加载...) - 图像查看器 - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (加载失败) - 图像查看器 - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - 图像查看器 - + [*]Image Viewer [*]图像查看器 - + Thumbnails 缩略图 - + EXIF Data EXIF数据 @@ -117,12 +127,52 @@ LxImage::MruMenu - + &Clear 清除(&C) + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,369 +218,406 @@ 图像查看器 - - &About - 关于(&A) + + + Annotations Toolbar + 工具栏注释 - - &Open File - 打开文件(&O) + + &About + 关于(&A) - + Ctrl+O Ctrl+O - + &Save 保存(&S) - + Ctrl+S Ctrl+S - + Save &As 另存为(&A) - + Ctrl+A Ctrl+A - + &Close 关闭(&C) - + Ctrl+W Ctrl+W - + Zoom &In 放大(&I) - + Zoom &Out 缩小(&O) - + Ctrl+- Ctrl+- - + &Copy to Clipboard 复制到剪贴板(&C) - - + + Next File 下一个文件 - - + + Previous File 上一个文件 - + Ctrl+= + Open &With... + + + + &Recently Opened Files 最近打开的文件(&R) - - toolBar_2 - toolBar_2 + + &Open… + &打开… - + &Reload File 重新载入文件(&R) - + Ctrl+R Ctrl+R - + PgDown - + PgUp - + Original Size 原始尺寸 - + Ctrl+0 - + &Fit 适合(&F) - + &Rotate Clockwise 顺时针旋转(&R) - + R R - + Rotate &Counterclockwise 逆时针旋转(&C) - + L L - + P&references 偏好设置(&R) - + &Print 打印(&P) - + Ctrl+P - + First File 第一个文件 - + Home 起始 - + Last File 最后一个文件 - + End 结束 - + &New Window 新建窗口(&N) - + Ctrl+N Ctrl+N - + Flip &Horizontally 水平翻转(&H) - + H H - + Capture Screenshot 抓取屏幕截图 - + F&ull Screen 全屏(&U) - + F11 F11 - + Flip &Vertically 垂直翻转(&V) - + V V - + &Paste from Clipboard 从剪贴板粘贴(&P) - + &Slide Show 幻灯片放映(&S) - + &Delete 删除(&D) - + Del 删除 - + Show Thumbnails 显示缩略图 - + T T - + File Properties 文件属性 - + Open &Directory 打开目录(&D) - + Ctrl+D - + Upload 上传 - + Upload the image 上传图像 - + Show EXIF Data 显示EXIF数据 - + No Tool 无工具 - + Deselect all drawing tools 取消选择所有绘图工具 - + Draw Arrow 画箭头 - + Draw an arrow 画一个箭头 - + Draw Rectangle 画矩形 - + Draw a hollow rectangle 画一个中空的矩形 - + Draw Circle 画圆形 - + Draw a hollow circle 画一个中空的圆形 - + Draw Number 画数字 - + Draw incrementing numbers 画递增的数字 + + &Annotations Toolbar + &工具栏注释 + + + + + Show Outline + 显示大纲 + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize + + + &File 文件(&F) - + &Help 帮助(&H) - + Go 转到 - + &View 查看(&V) - + &Edit 编辑(&E) - + Toolbar 工具栏 @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): 幻灯片放映间隔(秒): + + Show image outline by default + 默认显示图像轮廓 + + + + Show annotations toolbar by default + 默认显示工具栏注释 + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General 常规 + QObject + + + Error + 错误 + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - + sec + diff -Nru lximage-qt-0.14.1/src/translations/lximage-qt_zh_TW.ts lximage-qt-0.16.0/src/translations/lximage-qt_zh_TW.ts --- lximage-qt-0.14.1/src/translations/lximage-qt_zh_TW.ts 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/translations/lximage-qt_zh_TW.ts 2020-11-02 22:25:19.000000000 +0000 @@ -4,12 +4,22 @@ LxImage::Application - - Take a screenshot - 拍攝螢幕快照 + + Take a screenshot (deprecated, please use screengrab instead) + + + + + DIR + + + + + Take a screenshot and save it to the directory without showing the GUI (deprecated, please use screengrab instead) + - + [FILE1, FILE2,...] [檔案1、檔案2...] @@ -41,12 +51,12 @@ LxImage::MainWindow - + About 關於 - + LXImage-Qt - a simple and fast image viewer Copyright (C) 2013 @@ -54,7 +64,7 @@ Authors: Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage-Qt - 一個簡單又快速的圖像觀測器 + LXImage-Qt - 一個簡單又快速的看圖軟體 Copyright (C) 2013 LXQt Project: https://lxqt.org/ @@ -63,66 +73,106 @@ Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - + Open File 開啟檔案 - - + + Image files (%1) 影像檔案 (%1) - + Open directory 打開資料夾 - + Save File 儲存檔案 - + [*]%1 (Loading...) - Image Viewer [*]%1 (讀取中...) - 看圖軟體 - + [*]%1 (Failed to Load) - Image Viewer [*]%1 (讀取失敗) - 看圖軟體 - + [*]%1 (%2x%3) - Image Viewer [*]%1 (%2x%3) - 看圖軟體 - + [*]Image Viewer [*]看圖軟體 - + Thumbnails 縮圖 - + EXIF Data - EXIF 資料 + EXIF資訊 LxImage::MruMenu - + &Clear 清除(&C) + LxImage::PreferencesDialog + + + Use a modifier key to clear a shortcut +in the editing mode. + + + + + <b>Warning: Ambiguous shortcut detected!</b> + + + + + <b>Ambiguous shortcut not accepted.</b> + + + + + LxImage::SaveImageJob + + + Cannot save with this image format! + + + + + LxImage::StatusBar + + + Size: + + + + + Path: + + + + LxImage::UploadDialog @@ -168,340 +218,377 @@ 圖片檢視程式 - - &About - 關於(&A) + + + Annotations Toolbar + - - &Open File - 開啟檔案(&O) + + &About + 關於(&A) - + Ctrl+O Ctrl+O - + &Save 儲存(&S) - + Ctrl+S Ctrl+S - + Save &As 另存新檔(&A) - + Ctrl+A Ctrl+A - + &Close 關閉(&C) - + Ctrl+W Ctrl+W - + Zoom &In 放大(&I) - + Zoom &Out 縮小(&O) - + Ctrl+- Ctrl+- - + &Copy to Clipboard 複製到剪貼簿(&C) - - + + Next File 下一個檔案 - - + + Previous File 前一個檔案 - + Ctrl+= Ctrl+= + Open &With... + + + + &Recently Opened Files 最近開啟的檔案(&R) - - toolBar_2 + + &Open… - + &Reload File 重新載入檔案(&R) - + Ctrl+R Ctrl+R - + PgDown PgDown - + PgUp PgUp - + Original Size 原始尺寸 - + Ctrl+0 Ctrl+0 - + &Fit 適合視窗大小(&F) - + &Rotate Clockwise 順時鐘旋轉(&R) - + R R - + Rotate &Counterclockwise - 逆時鐘旋轉(&C) + 逆時針旋轉(&C) - + L L - + P&references 偏好設定(&R) - + &Print 列印(&P) - + Ctrl+P Ctrl+P - + First File 第一個檔案 - + Home - + Last File 最後一個檔案 - + End - + &New Window 新視窗(&N) - + Ctrl+N Ctrl+N - + Flip &Horizontally 水平翻轉(&H) - + H H - + Capture Screenshot 拍攝螢幕快照 - + F&ull Screen 全螢幕(&U) - + F11 F11 - + Flip &Vertically 垂直翻轉(&V) - + V V - + &Paste from Clipboard 從剪貼簿貼上(&P) - + &Slide Show 投影片播放(&S) - + &Delete 刪除(&D) - + Del Del - + Show Thumbnails 顯示縮圖 - + T T - + File Properties 檔案屬性 - + Open &Directory 打開資料夾(&D) - + Ctrl+D Ctrl+D - + Upload 上傳 - + Upload the image 上傳影像 - + Show EXIF Data - 顯示EXIF資料 + 顯示EXIF資訊 - + No Tool - 不使用註解工具 + 不使用註解工具 - + Deselect all drawing tools - + 取消選擇所有繪圖工具 - + Draw Arrow - + 畫箭頭 - + Draw an arrow - + 畫一個箭頭 - + Draw Rectangle - + 畫矩形 - + Draw a hollow rectangle - + 畫一個空心的矩形 - + Draw Circle - + 畫圓形 - + Draw a hollow circle - + 畫一個空心的圓形 - + Draw Number - + 畫數字 - + Draw incrementing numbers + 畫遞增的數字 + + + + &Annotations Toolbar + + + + + + Show Outline + + + + + O + + + + + Copy Pa&th + + + + + Copy path + + + + + Resize @@ -510,27 +597,27 @@ 檔案(&F) - + &Help 說明(&H) - + Go 前往 - + &View 檢視(&V) - + &Edit 編輯(&E) - + Toolbar 工具列 @@ -550,7 +637,7 @@ Normal background color: - 預設背影顏色: + 預設背景顏色: @@ -559,16 +646,104 @@ + Maximum number of recent files: + + + + Slide show interval (seconds): 幻燈片放映間隔(秒): + + Show image outline by default + + + + + Show annotations toolbar by default + + + + + Shortcuts + + + + + Action + + + + + Shortcut + + + + + Default + + + General 一般 + QObject + + + Error + 錯誤 + + + + ResizeImageDialog + + + Resize Image + + + + + Width + + + + + Height + + + + + Current size: + + + + + New size: + + + + + + px + + + + + + % + + + + + Keep aspect ratio + + + + ScreenshotDialog @@ -607,8 +782,8 @@ - seconds - + sec + @@ -631,7 +806,7 @@ Copy - + 複製 diff -Nru lximage-qt-0.14.1/src/upload/imageshackprovider.cpp lximage-qt-0.16.0/src/upload/imageshackprovider.cpp --- lximage-qt-0.14.1/src/upload/imageshackprovider.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/upload/imageshackprovider.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -29,14 +29,14 @@ using namespace LxImage; -const QString gUploadURL = "https://api.imageshack.com/v2/images"; +const QString gUploadURL = QStringLiteral("https://api.imageshack.com/v2/images"); const QByteArray gAPIKey = "4DINORVXbcbda9ac64b424a0e6b37caed4cf3b8b"; Upload *ImageShackProvider::upload(QIODevice *device) { // Construct the URL that will be used for the upload QUrlQuery query; - query.addQueryItem("api_key", gAPIKey); + query.addQueryItem(QStringLiteral("api_key"), QString::fromUtf8(gAPIKey)); QUrl url(gUploadURL); url.setQuery(query); @@ -45,7 +45,7 @@ filePart.setBodyDevice(device); filePart.setHeader( QNetworkRequest::ContentDispositionHeader, - R"(form-data; name="file"; filename="upload.jpg")" + QString::fromLatin1(R"(form-data; name="file"; filename="upload.jpg")") ); // Create the multipart and append the file part diff -Nru lximage-qt-0.14.1/src/upload/imageshackupload.cpp lximage-qt-0.16.0/src/upload/imageshackupload.cpp --- lximage-qt-0.14.1/src/upload/imageshackupload.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/upload/imageshackupload.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -38,19 +38,19 @@ QJsonObject object(QJsonDocument::fromJson(data).object()); // Attempt to retrieve the link - bool success = object.value("success").toBool(); - QString link = object.value("result").toObject().value("images").toArray() - .at(0).toObject().value("direct_link").toString(); + bool success = object.value(QStringLiteral("success")).toBool(); + QString link = object.value(QStringLiteral("result")).toObject().value(QStringLiteral("images")).toArray() + .at(0).toObject().value(QStringLiteral("direct_link")).toString(); // Check for success if (!success || link.isNull()) { - QString errorMessage = object.value("error").toObject() - .value("error_message").toString(); + QString errorMessage = object.value(QStringLiteral("error")).toObject() + .value(QStringLiteral("error_message")).toString(); if (errorMessage.isNull()) { errorMessage = tr("unknown error response"); } Q_EMIT error(errorMessage); } else { - Q_EMIT completed("https://" + link); + Q_EMIT completed(QStringLiteral("https://") + link); } } diff -Nru lximage-qt-0.14.1/src/upload/imgbbprovider.cpp lximage-qt-0.16.0/src/upload/imgbbprovider.cpp --- lximage-qt-0.14.1/src/upload/imgbbprovider.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/upload/imgbbprovider.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -27,7 +27,7 @@ using namespace LxImage; -const QUrl gUploadURL("https://imgbb.com/json"); +const QUrl gUploadURL(QStringLiteral("https://imgbb.com/json")); Upload *ImgBBProvider::upload(QIODevice *device) { @@ -36,21 +36,21 @@ filePart.setBodyDevice(device); filePart.setHeader( QNetworkRequest::ContentDispositionHeader, - R"(form-data; name="source"; filename="upload.jpg")" + QStringLiteral(R"(form-data; name="source"; filename="upload.jpg")") ); // Create the parts for the two parameters QHttpPart typePart; - typePart.setBody("file"); + typePart.setBody(QByteArrayLiteral("file")); typePart.setHeader( QNetworkRequest::ContentDispositionHeader, - "form-data; name=\"type\"" + QStringLiteral("form-data; name=\"type\"") ); QHttpPart actionPart; - actionPart.setBody("upload"); + actionPart.setBody(QByteArrayLiteral("upload")); actionPart.setHeader( QNetworkRequest::ContentDispositionHeader, - "form-data; name=\"action\"" + QStringLiteral("form-data; name=\"action\"") ); // Create the multipart and append the parts diff -Nru lximage-qt-0.14.1/src/upload/imgbbupload.cpp lximage-qt-0.16.0/src/upload/imgbbupload.cpp --- lximage-qt-0.14.1/src/upload/imgbbupload.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/upload/imgbbupload.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -35,11 +35,11 @@ QJsonObject object(QJsonDocument::fromJson(data).object()); // Attempt to retrieve the image->url value - QString url = object.value("image").toObject().value("url").toString(); + QString url = object.value(QStringLiteral("image")).toObject().value(QStringLiteral("url")).toString(); // Check for success if (url.isNull()) { - QString message = object.value("error").toObject().value("message").toString(); + QString message = object.value(QStringLiteral("error")).toObject().value(QStringLiteral("message")).toString(); if (message.isNull()) { message = tr("unknown error response"); } diff -Nru lximage-qt-0.14.1/src/upload/imgurprovider.cpp lximage-qt-0.16.0/src/upload/imgurprovider.cpp --- lximage-qt-0.14.1/src/upload/imgurprovider.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/upload/imgurprovider.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -27,7 +27,7 @@ using namespace LxImage; -const QUrl gUploadURL("https://api.imgur.com/3/upload.json"); +const QUrl gUploadURL(QStringLiteral("https://api.imgur.com/3/upload.json")); const QByteArray gAuthHeader = "Client-ID 63ff047cd8bcf9e"; const QByteArray gTypeHeader = "application/x-www-form-urlencoded"; diff -Nru lximage-qt-0.14.1/src/upload/imgurupload.cpp lximage-qt-0.16.0/src/upload/imgurupload.cpp --- lximage-qt-0.14.1/src/upload/imgurupload.cpp 2019-02-25 22:09:21.000000000 +0000 +++ lximage-qt-0.16.0/src/upload/imgurupload.cpp 2020-11-02 22:25:19.000000000 +0000 @@ -36,10 +36,10 @@ QJsonObject object(QJsonDocument::fromJson(data).object()); // Attempt to retrieve the value for "success" and "data->link" - bool success = object.value("success").toBool(); - QJsonObject dataObject = object.value("data").toObject(); - QString dataLink = dataObject.value("link").toString(); - QString dataError = dataObject.value("error").toString(); + bool success = object.value(QStringLiteral("success")).toBool(); + QJsonObject dataObject = object.value(QStringLiteral("data")).toObject(); + QString dataLink = dataObject.value(QStringLiteral("link")).toString(); + QString dataError = dataObject.value(QStringLiteral("error")).toString(); // Ensure that "success" is true & link is valid, otherwise throw an error if (!success || dataLink.isNull()) {