1 Commits
0.5.3 ... 0.4.4

Author SHA1 Message Date
e92ccb0986 Revert "feat: fit by width"
This reverts commit 038d04b3da.
2021-05-29 11:00:47 +08:00
39 changed files with 1308 additions and 2001 deletions

View File

@ -6,7 +6,7 @@ Yet another image viewer.
|macOS Build|![macOS CI](https://github.com/BLumia/pineapple-pictures/workflows/macOS%20CI/badge.svg)|
|Ubuntu 20.04 Build|![Ubuntu 20.04 CI](https://github.com/BLumia/pineapple-pictures/workflows/Ubuntu%2020.04%20CI/badge.svg)|
![Pineapple Pictures - Main Window](https://repository-images.githubusercontent.com/211888654/e8697600-e370-11eb-9b2a-b71e05262954)
![Pineapple Pictures - Main Window](https://repository-images.githubusercontent.com/211888654/21fb6300-269f-11ea-8e85-953e5d57da44)
## Summary
@ -64,7 +64,7 @@ The normal build steps for Linux is also applied to Windows, but since Windows d
For the Windows binary I provided, kimageformats plugin is used (for formats like kra, xcf, psd and etc.). You can take `appveyor.yml` as a reference to learn what I did when building the Windows binary.
[KDE Craft](https://community.kde.org/Craft) environment also can be used to build and package this program. I did also created a blueprint for building this project that you can found it at [here](https://github.com/BearKidsTeam/craft-shmooprint-bkt). It's not the way I used to create the release binary, but still worth trying.
[KDE Craft](https://community.kde.org/Craft) environment also can be used to build and package this program. I did also created a blueprint for building this project, but since I don't have a CI to run KDE Craft build, the blueprint repo are not provided here. Maybe sometimes later.
### macOS

View File

@ -6,7 +6,7 @@
|macOS Build|![macOS CI](https://github.com/BLumia/pineapple-pictures/workflows/macOS%20CI/badge.svg)|
|Ubuntu 20.04 Build|![Ubuntu 20.04 CI](https://github.com/BLumia/pineapple-pictures/workflows/Ubuntu%2020.04%20CI/badge.svg)|
![Pineapple Pictures - Main Window](https://repository-images.githubusercontent.com/211888654/e8697600-e370-11eb-9b2a-b71e05262954)
![Pineapple Pictures - Main Window](https://repository-images.githubusercontent.com/211888654/21fb6300-269f-11ea-8e85-953e5d57da44)
## 简介
@ -64,7 +64,7 @@ $ cmake --build . # 如果你使用 Makefile 作为 CMake 生成器,也可以
我们所提供的预编译好的 Windows 程序包含了 kimageformats 插件来提供额外kra, xcf, psd 等)格式的支持。您可以参考 `appveyor.yml` 来查看我们是如何构建并打包 Windows 可执行程序的。
[KDE Craft](https://community.kde.org/Craft) 环境也可以被用来构建此应用程序。我也创建了一个蓝图来进行此项目的构建和打包,可参见[这里](https://github.com/BearKidsTeam/craft-shmooprint-bkt)。尽管这不是我用于构建发布二进制所使用的方案,但仍值得一试
[KDE Craft](https://community.kde.org/Craft) 环境也可以被用来构建此应用程序。我也创建了一个蓝图来进行此项目的构建和打包。但由于暂时并未配置 CI 部署此环境来进行 KDE Craft 环境下的构建,故对应的蓝图仓库也尚未公开提供,或许后续会开放出来
### macOS

View File

@ -4,20 +4,10 @@
#include <QCoreApplication>
#define ICON_NAME(name)\
QStringLiteral(":/icons/" #name "")
#define SETUP_NEW_ACTION(window, action)\
action->setObjectName(QString::fromUtf8( #action ));\
window->addAction(action);
#define CREATE_NEW_ACTION(window, action)\
action = new QAction(window);\
SETUP_NEW_ACTION(window, action)
#define CREATE_NEW_ICON_ACTION(window, action, iconname)\
action = new QAction(QIcon(ICON_NAME(iconname)), QString(), window);\
SETUP_NEW_ACTION(window, action)
action->setObjectName(QString::fromUtf8( #action ));\
window->addAction(action);
ActionManager::ActionManager()
{
@ -31,23 +21,13 @@ ActionManager::~ActionManager()
void ActionManager::setupAction(MainWindow *mainWindow)
{
CREATE_NEW_ICON_ACTION(mainWindow, actionActualSize, zoom-original);
CREATE_NEW_ICON_ACTION(mainWindow, actionToggleMaximize, view-fullscreen);
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomIn, zoom-in);
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomOut, zoom-out);
CREATE_NEW_ICON_ACTION(mainWindow, actionToggleCheckerboard, view-background-checkerboard);
CREATE_NEW_ICON_ACTION(mainWindow, actionRotateClockwise, object-rotate-right);
CREATE_NEW_ACTION(mainWindow, actionPrevPicture);
CREATE_NEW_ACTION(mainWindow, actionNextPicture);
CREATE_NEW_ACTION(mainWindow, actionOpen);
CREATE_NEW_ACTION(mainWindow, actionZoomIn);
CREATE_NEW_ACTION(mainWindow, actionZoomOut);
CREATE_NEW_ACTION(mainWindow, actionHorizontalFlip);
CREATE_NEW_ACTION(mainWindow, actionFitInView);
CREATE_NEW_ACTION(mainWindow, actionFitByWidth);
CREATE_NEW_ACTION(mainWindow, actionCopyPixmap);
CREATE_NEW_ACTION(mainWindow, actionCopyFilePath);
CREATE_NEW_ACTION(mainWindow, actionPaste);
CREATE_NEW_ACTION(mainWindow, actionToggleCheckerboard);
CREATE_NEW_ACTION(mainWindow, actionToggleStayOnTop);
CREATE_NEW_ACTION(mainWindow, actionToggleProtectMode);
CREATE_NEW_ACTION(mainWindow, actionSettings);
@ -64,24 +44,13 @@ void ActionManager::retranslateUi(MainWindow *mainWindow)
{
Q_UNUSED(mainWindow);
actionOpen->setText(QCoreApplication::translate("MainWindow", "&Open...", nullptr));
actionActualSize->setText(QCoreApplication::translate("MainWindow", "Actual size", nullptr));
actionToggleMaximize->setText(QCoreApplication::translate("MainWindow", "Toggle maximize", nullptr));
actionZoomIn->setText(QCoreApplication::translate("MainWindow", "Zoom in", nullptr));
actionZoomOut->setText(QCoreApplication::translate("MainWindow", "Zoom out", nullptr));
actionToggleCheckerboard->setText(QCoreApplication::translate("MainWindow", "Toggle Checkerboard", nullptr));
actionRotateClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate right", nullptr));
actionPrevPicture->setText(QCoreApplication::translate("MainWindow", "Previous image", nullptr));
actionNextPicture->setText(QCoreApplication::translate("MainWindow", "Next image", nullptr));
actionHorizontalFlip->setText(QCoreApplication::translate("MainWindow", "Flip &Horizontally", nullptr));
actionFitInView->setText("Fit in view"); // TODO: what should it called?
actionFitByWidth->setText("Fit by width"); // TODO: what should it called?
actionCopyPixmap->setText(QCoreApplication::translate("MainWindow", "Copy P&ixmap", nullptr));
actionCopyFilePath->setText(QCoreApplication::translate("MainWindow", "Copy &File Path", nullptr));
actionPaste->setText(QCoreApplication::translate("MainWindow", "&Paste", nullptr));
actionToggleCheckerboard->setText(QCoreApplication::translate("MainWindow", "Toggle Checkerboard", nullptr));
actionToggleStayOnTop->setText(QCoreApplication::translate("MainWindow", "Stay on top", nullptr));
actionToggleProtectMode->setText(QCoreApplication::translate("MainWindow", "Protected mode", nullptr));
actionSettings->setText(QCoreApplication::translate("MainWindow", "Configure...", nullptr));
@ -92,24 +61,14 @@ void ActionManager::retranslateUi(MainWindow *mainWindow)
void ActionManager::setupShortcuts()
{
actionOpen->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_O));
actionActualSize->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_0));
actionZoomIn->setShortcut(QKeySequence(QKeySequence::ZoomIn));
actionZoomOut->setShortcut(QKeySequence(QKeySequence::ZoomOut));
actionPrevPicture->setShortcuts({
QKeySequence(Qt::Key_PageUp),
QKeySequence(Qt::Key_Left),
});
actionNextPicture->setShortcuts({
QKeySequence(Qt::Key_PageDown),
QKeySequence(Qt::Key_Right),
});
actionHorizontalFlip->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_R));
actionHorizontalFlip->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R));
actionCopyPixmap->setShortcut(QKeySequence(QKeySequence::Copy));
actionPaste->setShortcut(QKeySequence::Paste);
actionHelp->setShortcut(QKeySequence::HelpContents);
actionSettings->setShortcut(QKeySequence::Preferences);
actionProperties->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_I));
actionProperties->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_I));
actionQuitApp->setShortcuts({
QKeySequence(Qt::Key_Space),
QKeySequence(Qt::Key_Escape)

View File

@ -16,24 +16,13 @@ public:
void setupShortcuts();
public:
QAction *actionOpen;
QAction *actionActualSize;
QAction *actionToggleMaximize;
QAction *actionZoomIn;
QAction *actionZoomOut;
QAction *actionToggleCheckerboard;
QAction *actionRotateClockwise;
QAction *actionPrevPicture;
QAction *actionNextPicture;
QAction *actionHorizontalFlip;
QAction *actionFitInView;
QAction *actionFitByWidth;
QAction *actionCopyPixmap;
QAction *actionCopyFilePath;
QAction *actionPaste;
QAction *actionToggleCheckerboard;
QAction *actionToggleStayOnTop;
QAction *actionToggleProtectMode;
QAction *actionSettings;

View File

@ -4,11 +4,11 @@
#include <functional>
#include <QToolButton>
#include <QPushButton>
#include <QVBoxLayout>
#include <QDebug>
BottomButtonGroup::BottomButtonGroup(const std::vector<QAction *> &actionList, QWidget *parent)
BottomButtonGroup::BottomButtonGroup(QWidget *parent)
: QGroupBox (parent)
, m_opacityHelper(new OpacityHelper(this))
{
@ -23,24 +23,37 @@ BottomButtonGroup::BottomButtonGroup(const std::vector<QAction *> &actionList, Q
"border-style: none;"
"background-color:rgba(0,0,0,120)"
"}"
"QToolButton {"
"background:transparent;"
"}"
"QToolButton:!focus {"
"QPushButton {"
"background-color:rgba(225,255,255,0);"
"color: white;"
"border-style: none;"
"}");
auto newActionBtn = [this](QAction * action) -> QToolButton * {
QToolButton * btn = new QToolButton(this);
btn->setDefaultAction(action);
auto newBtn = [](QString text, std::function<void()> func) -> QPushButton * {
QPushButton * btn = new QPushButton(QIcon(QStringLiteral(":/icons/") + text), "");
btn->setIconSize(QSize(40, 40));
btn->setFixedSize(40, 40);
QObject::connect(btn, &QAbstractButton::clicked, btn, func);
return btn;
};
for (QAction * action : actionList) {
addButton(newActionBtn(action));
}
addButton(newBtn("zoom-original", [this]() {
emit resetToOriginalBtnClicked();
}));
addButton(newBtn("view-fullscreen", [this]() {
emit toggleWindowMaximum();
}));
addButton(newBtn("zoom-in", [this]() {
emit zoomInBtnClicked();
}));
addButton(newBtn("zoom-out", [this]() {
emit zoomOutBtnClicked();
}));
addButton(newBtn("view-background-checkerboard", [this]() {
emit toggleCheckerboardBtnClicked();
}));
addButton(newBtn("object-rotate-right", [this]() {
emit rotateRightBtnClicked();
}));
}
void BottomButtonGroup::setOpacity(qreal opacity, bool animated)

View File

@ -1,8 +1,6 @@
#ifndef BOTTOMBUTTONGROUP_H
#define BOTTOMBUTTONGROUP_H
#include <vector>
#include <QAbstractButton>
#include <QGroupBox>
@ -11,11 +9,19 @@ class BottomButtonGroup : public QGroupBox
{
Q_OBJECT
public:
explicit BottomButtonGroup(const std::vector<QAction *> & actionList, QWidget *parent = nullptr);
explicit BottomButtonGroup(QWidget *parent = nullptr);
void setOpacity(qreal opacity, bool animated = true);
void addButton(QAbstractButton *button);
signals:
void resetToOriginalBtnClicked();
void toggleWindowMaximum();
void zoomInBtnClicked();
void zoomOutBtnClicked();
void toggleCheckerboardBtnClicked();
void rotateRightBtnClicked();
private:
OpacityHelper * m_opacityHelper;
};

View File

@ -34,7 +34,7 @@ void Exiv2Wrapper::cacheSection(Collection collection)
QString label = QString::fromLocal8Bit(it->tagLabel().c_str());
std::ostringstream stream;
stream << *it;
QString value = QString::fromUtf8(stream.str().c_str());
QString value = QString::fromLocal8Bit(stream.str().c_str());
m_metadataValue.insert(key, value);
m_metadataLabel.insert(key, label);
@ -99,24 +99,3 @@ QString Exiv2Wrapper::value(const QString &key) const
return m_metadataValue.value(key);
}
QString Exiv2Wrapper::XmpValue(const QString &rawValue)
{
QString ignored;
return Exiv2Wrapper::XmpValue(rawValue, ignored);
}
QString Exiv2Wrapper::XmpValue(const QString &rawValue, QString &language)
{
if (rawValue.size() > 6 && rawValue.startsWith(QLatin1String("lang=\""))) {
int pos = rawValue.indexOf('"', 6);
if (pos != -1) {
language = rawValue.mid(6, pos - 6);
return (rawValue.mid(pos + 2));
}
}
language.clear();
return rawValue;
}

View File

@ -23,9 +23,6 @@ public:
QString label(const QString & key) const;
QString value(const QString & key) const;
static QString XmpValue(const QString &rawValue);
static QString XmpValue(const QString &rawValue, QString & language);
private:
std::unique_ptr<Exiv2::Image> m_exivImage;
QMap<QString, QString> m_metadataValue;

View File

@ -17,7 +17,7 @@ FramelessWindow::FramelessWindow(QWidget *parent)
// https://bugreports.qt.io/browse/QTBUG-91226
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);
m_centralLayout->setContentsMargins(QMargins());
m_centralLayout->setMargin(0);
}
void FramelessWindow::setCentralWidget(QWidget *widget)
@ -31,7 +31,7 @@ void FramelessWindow::setCentralWidget(QWidget *widget)
m_centralWidget = widget;
}
bool FramelessWindow::nativeEvent(const QByteArray &eventType, void *message, NATIVE_RESULT *result)
bool FramelessWindow::nativeEvent(const QByteArray &eventType, void *message, long *result)
{
#ifdef _WIN32
// https://stackoverflow.com/questions/43505580/qt-windows-resizable-frameless-window

View File

@ -3,12 +3,6 @@
#include <QWidget>
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
typedef qintptr NATIVE_RESULT;
#else
typedef long NATIVE_RESULT;
#endif // QT_VERSION_CHECK(6, 0, 0)
QT_BEGIN_NAMESPACE
class QVBoxLayout;
QT_END_NAMESPACE
@ -22,7 +16,7 @@ public:
void setCentralWidget(QWidget * widget);
protected:
bool nativeEvent(const QByteArray& eventType, void* message, NATIVE_RESULT* result) override;
bool nativeEvent(const QByteArray& eventType, void* message, long* result) override;
private:
QVBoxLayout * m_centralLayout = nullptr;

View File

@ -10,38 +10,6 @@
#include <QLabel>
#include <QPainter>
class PGraphicsPixmapItem : public QGraphicsPixmapItem
{
public:
PGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr)
: QGraphicsPixmapItem(pixmap, parent)
{}
void setScaleHint(float scaleHint) {
m_scaleHint = scaleHint;
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget) override
{
if (transformationMode() == Qt::FastTransformation) {
return QGraphicsPixmapItem::paint(painter, option, widget);
} else {
// painter->setRenderHints(QPainter::Antialiasing);
QSizeF resizedScale(boundingRect().size());
resizedScale *= m_scaleHint;
painter->drawPixmap(QRectF(offset(), boundingRect().size()).toRect(),
pixmap().scaled(resizedScale.toSize(),
Qt::KeepAspectRatio,
Qt::SmoothTransformation)
);
}
}
private:
float m_scaleHint = 1;
};
GraphicsScene::GraphicsScene(QObject *parent)
: QGraphicsScene(parent)
{
@ -56,8 +24,7 @@ GraphicsScene::~GraphicsScene()
void GraphicsScene::showImage(const QPixmap &pixmap)
{
this->clear();
PGraphicsPixmapItem * pixmapItem = new PGraphicsPixmapItem(pixmap);
this->addItem(pixmapItem);
QGraphicsPixmapItem * pixmapItem = this->addPixmap(pixmap);
pixmapItem->setShapeMode(QGraphicsPixmapItem::BoundingRectShape);
m_theThing = pixmapItem;
this->setSceneRect(m_theThing->boundingRect());
@ -95,12 +62,11 @@ void GraphicsScene::showAnimated(const QString &filepath)
this->setSceneRect(m_theThing->boundingRect());
}
bool GraphicsScene::trySetTransformationMode(Qt::TransformationMode mode, float scaleHint)
bool GraphicsScene::trySetTransformationMode(Qt::TransformationMode mode)
{
PGraphicsPixmapItem * pixmapItem = qgraphicsitem_cast<PGraphicsPixmapItem *>(m_theThing);
QGraphicsPixmapItem * pixmapItem = qgraphicsitem_cast<QGraphicsPixmapItem *>(m_theThing);
if (pixmapItem) {
pixmapItem->setTransformationMode(mode);
pixmapItem->setScaleHint(scaleHint);
return true;
}
@ -109,11 +75,6 @@ bool GraphicsScene::trySetTransformationMode(Qt::TransformationMode mode, float
QPixmap GraphicsScene::renderToPixmap()
{
PGraphicsPixmapItem * pixmapItem = qgraphicsitem_cast<PGraphicsPixmapItem *>(m_theThing);
if (pixmapItem) {
return pixmapItem->pixmap();
}
QPixmap pixmap(sceneRect().toRect().size());
pixmap.fill(Qt::transparent);
QPainter p(&pixmap);

View File

@ -15,7 +15,7 @@ public:
void showSvg(const QString &filepath);
void showAnimated(const QString &filepath);
bool trySetTransformationMode(Qt::TransformationMode mode, float scaleHint);
bool trySetTransformationMode(Qt::TransformationMode mode);
QPixmap renderToPixmap();

View File

@ -75,35 +75,35 @@ void GraphicsView::showImage(const QPixmap &pixmap)
{
resetTransform();
scene()->showImage(pixmap);
displayScene();
checkAndDoFitInView();
}
void GraphicsView::showImage(const QImage &image)
{
resetTransform();
scene()->showImage(QPixmap::fromImage(image));
displayScene();
checkAndDoFitInView();
}
void GraphicsView::showText(const QString &text)
{
resetTransform();
scene()->showText(text);
displayScene();
checkAndDoFitInView();
}
void GraphicsView::showSvg(const QString &filepath)
{
resetTransform();
scene()->showSvg(filepath);
displayScene();
checkAndDoFitInView();
}
void GraphicsView::showAnimated(const QString &filepath)
{
resetTransform();
scene()->showAnimated(filepath);
displayScene();
checkAndDoFitInView();
}
GraphicsScene *GraphicsView::scene() const
@ -162,7 +162,6 @@ void GraphicsView::flipView(bool horizontal)
void GraphicsView::resetScale()
{
setTransform(resetScale(transform()));
applyTransformationModeByScaleFactor();
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
}
@ -172,55 +171,18 @@ void GraphicsView::fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRadio
applyTransformationModeByScaleFactor();
}
void GraphicsView::fitByOrientation(Qt::Orientation ori, bool scaleDownOnly)
void GraphicsView::checkAndDoFitInView(bool markItOnAnyway)
{
resetScale();
QRectF viewRect = this->viewport()->rect().adjusted(2, 2, -2, -2);
QRectF imageRect = transform().mapRect(sceneRect());
qreal ratio;
if (ori == Qt::Horizontal) {
ratio = viewRect.width() / imageRect.width();
} else {
ratio = viewRect.height() / imageRect.height();
}
if (scaleDownOnly && ratio > 1) ratio = 1;
scale(ratio, ratio);
centerOn(imageRect.top(), 0);
m_enableFitInView = false;
applyTransformationModeByScaleFactor();
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
}
void GraphicsView::displayScene()
{
if (isSceneBiggerThanView()) {
if (!isThingSmallerThanWindowWith(transform())) {
m_enableFitInView = true;
fitInView(sceneRect(), Qt::KeepAspectRatio);
}
m_enableFitInView = true;
}
bool GraphicsView::isSceneBiggerThanView() const
{
if (!isThingSmallerThanWindowWith(transform())) {
return true;
} else {
return false;
if (markItOnAnyway) {
m_enableFitInView = true;
}
}
// Automately do fit in view when viewport(window) smaller than image original size.
void GraphicsView::setEnableAutoFitInView(bool enable)
{
m_enableFitInView = enable;
}
inline double zeroOrOne(double number)
{
return qFuzzyIsNull(number) ? 0 : (number > 0 ? 1 : -1);
@ -263,13 +225,9 @@ void GraphicsView::mouseMoveEvent(QMouseEvent *event)
void GraphicsView::mouseReleaseEvent(QMouseEvent *event)
{
if (event->button() == Qt::ForwardButton || event->button() == Qt::BackButton) {
QGraphicsItem *item = itemAt(event->pos());
if (!item) {
event->ignore();
} else {
QGraphicsItem *item = itemAt(event->pos());
if (!item) {
event->ignore();
}
}
return QGraphicsView::mouseReleaseEvent(event);
@ -397,8 +355,8 @@ void GraphicsView::setCheckerboardEnabled(bool enabled, bool invertColor)
void GraphicsView::applyTransformationModeByScaleFactor()
{
if (this->scaleFactor() < 1) {
scene()->trySetTransformationMode(Qt::SmoothTransformation, this->scaleFactor());
scene()->trySetTransformationMode(Qt::SmoothTransformation);
} else {
scene()->trySetTransformationMode(Qt::FastTransformation, this->scaleFactor());
scene()->trySetTransformationMode(Qt::FastTransformation);
}
}

View File

@ -30,11 +30,8 @@ public:
void flipView(bool horizontal = true);
void resetScale();
void fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRadioMode = Qt::IgnoreAspectRatio);
void fitByOrientation(Qt::Orientation ori = Qt::Horizontal, bool scaleDownOnly = false);
void displayScene();
bool isSceneBiggerThanView() const;
void setEnableAutoFitInView(bool enable = true);
void checkAndDoFitInView(bool markItOnAnyway = true);
static QTransform resetScale(const QTransform & orig);
@ -62,9 +59,6 @@ private:
void setCheckerboardEnabled(bool enabled, bool invertColor = false);
void applyTransformationModeByScaleFactor();
// Consider switch to 3 state for "no fit", "always fit" and "fit when view is smaller"?
// ... or even more? e.g. "fit/snap width" things...
// Currently it's "no fit" when it's false and "fit when view is smaller" when it's true.
bool m_enableFitInView = false;
bool m_checkerboardEnabled = false;
bool m_isLastCheckerboardColorInverted = false;

View File

@ -25,10 +25,7 @@
#include <QClipboard>
#include <QMimeData>
#include <QWindow>
#include <QFile>
#include <QTimer>
#include <QFileDialog>
#include <QStandardPaths>
MainWindow::MainWindow(QWidget *parent)
: FramelessWindow(parent)
@ -108,16 +105,24 @@ MainWindow::MainWindow(QWidget *parent)
connect(m_nextButton, &QAbstractButton::clicked,
this, &MainWindow::galleryNext);
m_am->setupAction(this);
m_bottomButtonGroup = new BottomButtonGroup(this);
m_bottomButtonGroup = new BottomButtonGroup({
m_am->actionActualSize,
m_am->actionToggleMaximize,
m_am->actionZoomIn,
m_am->actionZoomOut,
m_am->actionToggleCheckerboard,
m_am->actionRotateClockwise
}, this);
connect(m_bottomButtonGroup, &BottomButtonGroup::resetToOriginalBtnClicked,
this, [ = ](){ m_graphicsView->resetScale(); });
connect(m_bottomButtonGroup, &BottomButtonGroup::toggleWindowMaximum,
this, &MainWindow::toggleMaximize);
connect(m_bottomButtonGroup, &BottomButtonGroup::zoomInBtnClicked,
this, &MainWindow::on_actionZoomIn_triggered);
connect(m_bottomButtonGroup, &BottomButtonGroup::zoomOutBtnClicked,
this, &MainWindow::on_actionZoomOut_triggered);
connect(m_bottomButtonGroup, &BottomButtonGroup::toggleCheckerboardBtnClicked,
this, &MainWindow::toggleCheckerboard);
connect(m_bottomButtonGroup, &BottomButtonGroup::rotateRightBtnClicked,
this, [ = ](){
m_graphicsView->rotateView();
m_graphicsView->checkAndDoFitInView();
m_gv->setVisible(false);
});
m_bottomButtonGroup->setOpacity(0, false);
m_gv->setOpacity(0, false);
@ -128,10 +133,20 @@ MainWindow::MainWindow(QWidget *parent)
m_nextButton->setVisible(galleryFileCount > 1);
});
QShortcut * prevPictureShorucut = new QShortcut(QKeySequence(Qt::Key_PageUp), this);
connect(prevPictureShorucut, &QShortcut::activated,
this, &MainWindow::galleryPrev);
QShortcut * nextPictureShorucut = new QShortcut(QKeySequence(Qt::Key_PageDown), this);
connect(nextPictureShorucut, &QShortcut::activated,
this, &MainWindow::galleryNext);
QShortcut * fullscreenShorucut = new QShortcut(QKeySequence(QKeySequence::FullScreen), this);
connect(fullscreenShorucut, &QShortcut::activated,
this, &MainWindow::toggleFullscreen);
m_am->setupAction(this);
centerWindow();
QTimer::singleShot(0, this, [this](){
@ -240,7 +255,7 @@ void MainWindow::showEvent(QShowEvent *event)
return FramelessWindow::showEvent(event);
}
void MainWindow::enterEvent(QT_ENTER_EVENT *event)
void MainWindow::enterEvent(QEvent *event)
{
m_bottomButtonGroup->setOpacity(1);
m_gv->setOpacity(1);
@ -297,26 +312,11 @@ void MainWindow::mouseReleaseEvent(QMouseEvent *event)
{
m_clickedOnWindow = false;
// It seems the forward/back mouse button won't generate a key event [1] so we can't use
// QShortcut or QKeySequence to indicate these shortcuts, so we do it here.
// Reference:
// [1]: https://codereview.qt-project.org/c/qt/qtbase/+/177475
if (event->button() == Qt::ForwardButton || event->button() == Qt::BackButton) {
event->button() == Qt::BackButton ? galleryPrev() : galleryNext();
event->accept();
}
return FramelessWindow::mouseReleaseEvent(event);
}
void MainWindow::mouseDoubleClickEvent(QMouseEvent *event)
{
// The forward/back mouse button can also used to trigger a mouse double-click event
// Since we use that for gallery navigation so we ignore these two buttons.
if (event->buttons() & Qt::ForwardButton || event->buttons() & Qt::BackButton) {
return;
}
switch (Settings::instance()->doubleClickBehavior()) {
case ActionCloseWindow:
quitAppAction();
@ -408,10 +408,6 @@ void MainWindow::contextMenuEvent(QContextMenuEvent *event)
QAction * helpAction = m_am->actionHelp;
QAction * propertiesAction = m_am->actionProperties;
#if 0
menu->addAction(m_am->actionOpen);
#endif // 0
if (copyMenu->actions().count() == 1) {
menu->addActions(copyMenu->actions());
} else {
@ -425,10 +421,7 @@ void MainWindow::contextMenuEvent(QContextMenuEvent *event)
menu->addSeparator();
menu->addAction(m_am->actionHorizontalFlip);
#if 0
menu->addAction(m_am->actionFitInView);
menu->addAction(m_am->actionFitByWidth);
#endif // 0
menu->addSeparator();
menu->addAction(stayOnTopMode);
menu->addAction(protectedMode);
@ -471,14 +464,19 @@ void MainWindow::closeWindow()
void MainWindow::updateWidgetsPosition()
{
m_closeButton->move(width() - m_closeButton->width(), 0);
m_prevButton->move(25, (height() - m_prevButton->sizeHint().height()) / 2);
m_nextButton->move(width() - m_nextButton->sizeHint().width() - 25,
(height() - m_prevButton->sizeHint().height()) / 2);
m_prevButton->move(25, (height() - m_prevButton->height()) / 2);
m_nextButton->move(width() - m_nextButton->width() - 25,
(height() - m_prevButton->height()) / 2);
m_bottomButtonGroup->move((width() - m_bottomButtonGroup->width()) / 2,
height() - m_bottomButtonGroup->height());
m_gv->move(width() - m_gv->width(), height() - m_gv->height());
}
void MainWindow::toggleCheckerboard()
{
m_graphicsView->toggleCheckerboard(QGuiApplication::queryKeyboardModifiers().testFlag(Qt::ShiftModifier));
}
void MainWindow::toggleProtectedMode()
{
m_protectedMode = !m_protectedMode;
@ -493,12 +491,12 @@ void MainWindow::toggleStayOnTop()
show();
}
bool MainWindow::stayOnTop() const
bool MainWindow::stayOnTop()
{
return windowFlags().testFlag(Qt::WindowStaysOnTopHint);
}
bool MainWindow::canPaste() const
bool MainWindow::canPaste()
{
const QMimeData * clipboardData = QApplication::clipboard()->mimeData();
if (clipboardData->hasImage()) {
@ -546,28 +544,6 @@ QSize MainWindow::sizeHint() const
return QSize(710, 530);
}
void MainWindow::on_actionOpen_triggered()
{
QStringList picturesLocations = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation);
QUrl pictureUrl = picturesLocations.isEmpty() ? QUrl::fromLocalFile(picturesLocations.first())
: QUrl::fromLocalFile(QDir::homePath());
QList<QUrl> urls(QFileDialog::getOpenFileUrls(this, QString(), pictureUrl));
if (!urls.isEmpty()) {
showUrls(urls);
}
}
void MainWindow::on_actionActualSize_triggered()
{
m_graphicsView->resetScale();
m_graphicsView->setEnableAutoFitInView(false);
}
void MainWindow::on_actionToggleMaximize_triggered()
{
toggleMaximize();
}
void MainWindow::on_actionZoomIn_triggered()
{
if (m_graphicsView->scaleFactor() < 1000) {
@ -585,17 +561,6 @@ void MainWindow::on_actionHorizontalFlip_triggered()
m_graphicsView->flipView();
}
void MainWindow::on_actionFitInView_triggered()
{
m_graphicsView->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
m_graphicsView->setEnableAutoFitInView(m_graphicsView->scaleFactor() <= 1);
}
void MainWindow::on_actionFitByWidth_triggered()
{
m_graphicsView->fitByOrientation();
}
void MainWindow::on_actionCopyPixmap_triggered()
{
QClipboard *cb = QApplication::clipboard();
@ -644,25 +609,7 @@ void MainWindow::on_actionPaste_triggered()
void MainWindow::on_actionToggleCheckerboard_triggered()
{
// TODO: is that okay to do this since we plan to support custom shortcuts?
m_graphicsView->toggleCheckerboard(QGuiApplication::queryKeyboardModifiers().testFlag(Qt::ShiftModifier));
}
void MainWindow::on_actionRotateClockwise_triggered()
{
m_graphicsView->rotateView();
m_graphicsView->displayScene();
m_gv->setVisible(false);
}
void MainWindow::on_actionPrevPicture_triggered()
{
galleryPrev();
}
void MainWindow::on_actionNextPicture_triggered()
{
galleryNext();
m_graphicsView->toggleCheckerboard();
}
void MainWindow::on_actionToggleStayOnTop_triggered()

View File

@ -7,12 +7,6 @@
#include <QPropertyAnimation>
#include <QPushButton>
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
typedef QEnterEvent QT_ENTER_EVENT;
#else
typedef QEvent QT_ENTER_EVENT;
#endif // QT_VERSION_CHECK(6, 0, 0)
QT_BEGIN_NAMESPACE
class QGraphicsOpacityEffect;
class QGraphicsView;
@ -43,7 +37,7 @@ public:
protected slots:
void showEvent(QShowEvent *event) override;
void enterEvent(QT_ENTER_EVENT *event) override;
void enterEvent(QEvent *event) override;
void leaveEvent(QEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
@ -56,10 +50,11 @@ protected slots:
void centerWindow();
void closeWindow();
void updateWidgetsPosition();
void toggleCheckerboard();
void toggleProtectedMode();
void toggleStayOnTop();
bool stayOnTop() const;
bool canPaste() const;
bool stayOnTop();
bool canPaste();
void quitAppAction(bool force = false);
void toggleFullscreen();
void toggleMaximize();
@ -68,24 +63,13 @@ protected:
QSize sizeHint() const override;
private slots:
void on_actionOpen_triggered();
void on_actionActualSize_triggered();
void on_actionToggleMaximize_triggered();
void on_actionZoomIn_triggered();
void on_actionZoomOut_triggered();
void on_actionToggleCheckerboard_triggered();
void on_actionRotateClockwise_triggered();
void on_actionPrevPicture_triggered();
void on_actionNextPicture_triggered();
void on_actionHorizontalFlip_triggered();
void on_actionFitInView_triggered();
void on_actionFitByWidth_triggered();
void on_actionCopyPixmap_triggered();
void on_actionCopyFilePath_triggered();
void on_actionPaste_triggered();
void on_actionToggleCheckerboard_triggered();
void on_actionToggleStayOnTop_triggered();
void on_actionToggleProtectMode_triggered();
void on_actionSettings_triggered();

View File

@ -40,12 +40,10 @@ void MetadataModel::setFile(const QString &imageFilePath)
appendSection(QStringLiteral("GPS"), tr("GPS", "Section name."));
appendSection(QStringLiteral("File"), tr("File", "Section name."));
if (imgReader.supportsOption(QImageIOHandler::Size)) {
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.Dimensions"),
tr("Dimensions"), imageDimensionsString);
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.SizeRatio"),
tr("Aspect ratio"), imageRatioString);
}
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.Dimensions"),
tr("Dimensions"), imageDimensionsString);
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.SizeRatio"),
tr("Aspect ratio"), imageRatioString);
if (imgReader.supportsAnimation() && imgReader.imageCount() > 1) {
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.FrameCount"),
tr("Frame count"), QString::number(imgReader.imageCount()));
@ -68,14 +66,8 @@ void MetadataModel::setFile(const QString &imageFilePath)
if (wrapper.load(imageFilePath)) {
wrapper.cacheSections();
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
QStringLiteral("Xmp.dc.title"), tr("Title"), true);
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
QStringLiteral("Exif.Image.ImageDescription"), tr("Subject"), true);
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
QStringLiteral("Exif.Image.Rating"), tr("Rating"));
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
QStringLiteral("Xmp.dc.subject"), tr("Tags"));
appendPropertyIfNotEmpty(QStringLiteral("Description"), QStringLiteral("Description.Comments"),
tr("Comments"), wrapper.comment());
@ -83,10 +75,6 @@ void MetadataModel::setFile(const QString &imageFilePath)
QStringLiteral("Exif.Image.Artist"), tr("Authors"));
appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
QStringLiteral("Exif.Photo.DateTimeOriginal"), tr("Date taken"));
// FIXME: We may fetch the same type of metadata from different metadata collection.
// Current implementation is not pretty and may need to do a rework...
// appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
// QStringLiteral("Xmp.xmp.CreatorTool"), tr("Program name"));
appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
QStringLiteral("Exif.Image.Software"), tr("Program name"));
appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
@ -183,14 +171,14 @@ QString MetadataModel::imageSizeRatio(const QSize &size)
return tr("%1 : %2").arg(QString::number(size.width() / gcd), QString::number(size.height() / gcd));
}
bool MetadataModel::appendSection(const QString &sectionKey, QStringView sectionDisplayName)
bool MetadataModel::appendSection(const QString &sectionKey, const QString &sectionDisplayName)
{
if (m_sections.contains(sectionKey)) {
return false;
}
m_sections.append(sectionKey);
m_sectionProperties[sectionKey] = qMakePair<QString, QList<QString> >(sectionDisplayName.toString(), {});
m_sectionProperties[sectionKey] = qMakePair<QString, QList<QString> >(sectionDisplayName, {});
return true;
}
@ -202,7 +190,7 @@ bool MetadataModel::appendPropertyIfNotEmpty(const QString &sectionKey, const QS
return appendProperty(sectionKey, propertyKey, propertyDisplayName, propertyValue);
}
bool MetadataModel::appendProperty(const QString &sectionKey, const QString &propertyKey, QStringView propertyDisplayName, QStringView propertyValue)
bool MetadataModel::appendProperty(const QString &sectionKey, const QString &propertyKey, const QString &propertyDisplayName, const QString &propertyValue)
{
if (!m_sections.contains(sectionKey)) {
return false;
@ -213,18 +201,28 @@ bool MetadataModel::appendProperty(const QString &sectionKey, const QString &pro
propertyList.append(propertyKey);
}
m_properties[propertyKey] = qMakePair<QString, QString>(propertyDisplayName.toString(), propertyValue.toString());
m_properties[propertyKey] = qMakePair<QString, QString>(propertyDisplayName, propertyValue);
return true;
}
bool MetadataModel::appendExivPropertyIfExist(const Exiv2Wrapper &wrapper, const QString &sectionKey, const QString &exiv2propertyKey, const QString &propertyDisplayName, bool isXmpString)
bool MetadataModel::updateProperty(const QString &propertyKey, const QString &propertyValue)
{
if (m_properties.contains(propertyKey)) {
m_properties[propertyKey].second = propertyValue;
return true;
}
return false;
}
bool MetadataModel::appendExivPropertyIfExist(const Exiv2Wrapper &wrapper, const QString &sectionKey, const QString &exiv2propertyKey, const QString &propertyDisplayName)
{
const QString & value = wrapper.value(exiv2propertyKey);
if (!value.isEmpty()) {
appendProperty(sectionKey, exiv2propertyKey,
propertyDisplayName.isEmpty() ? wrapper.label(exiv2propertyKey) : propertyDisplayName,
isXmpString ? Exiv2Wrapper::XmpValue(value) : value);
value);
return true;
}
return false;

View File

@ -15,14 +15,14 @@ public:
void setFile(const QString & imageFilePath);
static QString imageSize(const QSize &size);
static QString imageSizeRatio(const QSize &size);
bool appendSection(const QString & sectionKey, QStringView sectionDisplayName);
bool appendSection(const QString & sectionKey, const QString & sectionDisplayName);
bool appendPropertyIfNotEmpty(const QString & sectionKey, const QString & propertyKey,
const QString & propertyDisplayName, const QString & propertyValue = QString());
bool appendProperty(const QString & sectionKey, const QString & propertyKey,
QStringView propertyDisplayName, QStringView propertyValue = QString());
const QString & propertyDisplayName, const QString & propertyValue = QString());
bool updateProperty(const QString & propertyKey, const QString & propertyValue);
bool appendExivPropertyIfExist(const Exiv2Wrapper & wrapper, const QString & sectionKey,
const QString & exiv2propertyKey, const QString & propertyDisplayName = QString(),
bool isXmpString = false);
const QString & exiv2propertyKey, const QString & propertyDisplayName = QString());
private:
enum RowType : quintptr {

View File

@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation type="unfinished"></translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
@ -192,12 +192,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation type="unfinished"></translation>
</message>

View File

@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation>Ziehen Sie das Bild hierher</translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation>Die Datei-URL-Liste ist leer</translation>
</message>
@ -192,12 +192,12 @@
<translation>Bilddaten sind ungültig oder werden derzeit nicht unterstützt</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation>Bilddaten sind ungültig</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation>Nicht unterstützte Mimedaten: %1</translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation>Die Datei-URL-Liste ist leer</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation>&amp;Kopieren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation>P&amp;ixmap kopieren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation>&amp;Dateipfad kopieren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation>Eigenschaften</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation>Oben bleiben</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation>Geschützter Modus</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation type="unfinished">Maximieren umschalten</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation>Konfigurieren&#xa0;</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation>Hilfe</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation>Bewertung</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation>Kommentare</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation>Autoren</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation>Datum genommen</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation>Programmname</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation>Horizontale Auflösung</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation>Vertikale Auflösung</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation>Auflösungseinheit</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation>Farbdarstellung</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation>Kamerahersteller</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation>Kameramodell</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation>Blendenzahl</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation>Belichtungszeit</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation>ISO-Geschwindigkeit</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation>Belichtungskorrektur</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation>Brennweite</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation>Maximale Blende</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation>Messmodus</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation>Flash-Modus</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation>35&#xa0;mm Brennweite</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation>Objektivmodell</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation>Helligkeit</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation>Belichtungsprogramm</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation>Sättigung</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation>Schärfe</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation>Weißabgleich</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation>Digitaler Zoom</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation>EXIF-Version</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation>Breitengrad</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation>Längengrad</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation>Höhe</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation>%1 × %2</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation>%1 : %2</translation>
</message>

View File

@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation type="unfinished"></translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
@ -192,12 +192,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation type="unfinished"></translation>
</message>

View File

@ -21,7 +21,7 @@
<message>
<location filename="../aboutdialog.cpp" line="28"/>
<source>None of the operations in this application will alter the pictures on disk.</source>
<translation>Aucun opération dans cette application ne modifiera les fichiers image.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="29"/>
@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation>Faites glisser l&apos;image ici</translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation>La liste des URL du fichier est vide</translation>
</message>
@ -192,12 +192,12 @@
<translation>Les données d&apos;image ne sont pas valides ou ne sont actuellement pas prises en charge</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation>Les données d&apos;image ne sont pas valides</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation>Mimedata non pris en charge&#xa0;: %1</translation>
</message>
@ -205,96 +205,81 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation>La liste des URL de fichiers est vide</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation>&amp;Copier</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation>Copier P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation>Copier le &amp;chemin du fichier</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation>Propriétés</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation>Rester en-haut</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation>Mode protégé</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation>Zoom avant</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation>Zoom arrière</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation>Retourner &amp;horizontalement</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation>Co&amp;ller</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation>Dés/activer le damier</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation>Taille actuelle</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation>Dés/activer l&apos;agrandissement</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation>Pivoter vers la droite</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation>Configurer</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation>Quitter</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -367,7 +352,7 @@
<message>
<location filename="../metadatamodel.cpp" line="49"/>
<source>Frame count</source>
<translation>Nombre d&apos;images</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="53"/>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation>Titre</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation>Sujet</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation>Évaluation</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation>Étiquettes</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation>Commentaires</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation>Auteurs</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation>Date prise</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation>Nom du programme</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation>Copyright</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation>Résolution horizontale</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation>Résolution verticale</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation>Unité de résolution</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation>Représentation des couleurs</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation>Fabricant de l&apos;appareil photo</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation>Modèle d&apos;appareil photo</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation>Nombre d&apos;ouverture</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation>Temps d&apos;exposition</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation>Vitesse ISO</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation>Biais d&apos;exposition</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation>Distance focale</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation>Ouverture maximale</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation>Mode de mesure</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation>Mode flash</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation>Distance focale de 35&#xa0;mm</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation>Modèle d&apos;objectif</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation>Luminosité</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation>Programme d&apos;exposition</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation>Saturation</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation>Netteté</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation>Balance des blancs</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation>Zoom numérique</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation>Version EXIF</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation>Référence de latitude</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation>Latitude</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation>Référence de longitude</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation>Longitude</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation>Référence d&apos;altitude</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation>Altitude</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation>%1 × %2</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation>%1 : %2</translation>
</message>
@ -635,12 +605,12 @@
<message>
<location filename="../settingsdialog.cpp" line="27"/>
<source>Zoom in and out</source>
<translation>Zoom avant et arrière</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="28"/>
<source>View next or previous item</source>
<translation>Voir l&apos;élément suivant ou précédent</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="41"/>
@ -655,7 +625,7 @@
<message>
<location filename="../settingsdialog.cpp" line="43"/>
<source>Mouse wheel behavior</source>
<translation>Comportement de la molette de la souris</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View File

@ -1,674 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="id">
<context>
<name>AboutDialog</name>
<message>
<location filename="../aboutdialog.cpp" line="23"/>
<source>About</source>
<translation>Tentang</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="26"/>
<source>Launch application with image file path as argument to load the file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="27"/>
<source>Drag and drop image file onto the window is also supported.</source>
<translation>Tarik dan lepaskan gambar ke jendela juga didukung.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="28"/>
<source>None of the operations in this application will alter the pictures on disk.</source>
<translation>Semua operasi pada aplikasi ini tidak akan mengubah gambar pada diska.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="29"/>
<source>Context menu option explanation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="36"/>
<source>Make window stay on top of all other windows.</source>
<translation>Buat jendela tetap di atas semua jendela lainnya.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="39"/>
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
<translation>Hindari penutupan jendela secara tidak sengaja (contoh dengan mengklik jendela dua kali)</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="47"/>
<source>Version: %1</source>
<translation>Versi: %1</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="50"/>
<source>Copyright (c) 2020 %1</source>
<translation>Hak Cipta (c) 2020 %1</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="52"/>
<source>Logo designed by %1</source>
<translation>Logo didesain oleh %1</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="54"/>
<source>Built with Qt %1 (%2)</source>
<translation>Dibuat dengan Qt %1 (%2)</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="55"/>
<source>Source code</source>
<translation>Kode sumber</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="65"/>
<source>Contributors</source>
<translation>Kontributor-kontributor</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="67"/>
<source>List of contributors on GitHub</source>
<translation>Daftar kontributor di GitHub</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="68"/>
<source>Thanks to all people who contributed to this project.</source>
<translation>Terima kasih kepada semua orang yang telah berkontribusi ke proyek ini.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="72"/>
<source>Translators</source>
<translation>Penerjemah</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="73"/>
<source>I would like to thank the following people who volunteered to translate this application.</source>
<translation>Saya ingin berterima kasih orang-orang berikut yang secara sukarela menerjemahkan aplikasi ini.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="117"/>
<source>%1 is built on the following free software libraries:</source>
<comment>Free as in freedom</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="141"/>
<source>&amp;Special Thanks</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="143"/>
<source>&amp;Third-party Libraries</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="79"/>
<source>Your Rights</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="81"/>
<source>%1 is released under the MIT License.</source>
<translation>%1 diluncurkan di bawah lisensi MIT.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="82"/>
<source>This license grants people a number of freedoms:</source>
<translation>Lisensi ini memberikan orang-orang beberapa kebebasan:</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="83"/>
<source>You are free to use %1, for any purpose</source>
<translation>Anda bebas menggunakan %1, untuk tujuan apapun</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="84"/>
<source>You are free to distribute %1</source>
<translation>Anda bebas mendistribusikan %1</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="85"/>
<source>You can study how %1 works and change it</source>
<translation>Anda dapat mempelajari bagaimana cara %1 bekerja dan mengubahnya</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="86"/>
<source>You can distribute changed versions of %1</source>
<translation>Anda dapat mendistribusikan versi %1 yang telah diubah</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="88"/>
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="116"/>
<source>Third-party Libraries used by %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="139"/>
<source>&amp;Help</source>
<translation>&amp;Dukungan</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="140"/>
<source>&amp;About</source>
<translation>Tentan&amp;g</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="142"/>
<source>&amp;License</source>
<translation>&amp;Lisensi</translation>
</message>
</context>
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<source>Drag image here</source>
<translation>Tarik gambar ke sini</translation>
</message>
</context>
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<source>Image data is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<source>&amp;Copy</source>
<translation>&amp;Salin</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<source>Copy P&amp;ixmap</source>
<translation>Salin P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<source>Copy &amp;File Path</source>
<translation>Salin &amp;Path Berkas</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<source>Properties</source>
<translation>Properti</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<source>Stay on top</source>
<translation>Tetap di atas</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<source>Protected mode</source>
<translation>Mode Terlindungi</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<source>Zoom in</source>
<translation>Perbesar</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<source>Zoom out</source>
<translation>Perkecil</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<source>Flip &amp;Horizontally</source>
<translation>Putar Secara &amp;Horizontal</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<source>&amp;Paste</source>
<translation>&amp;Tempel</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation>Ukuran asli</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation>Putar ke kanan</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<source>Configure...</source>
<translation>Konfigurasi...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<source>Help</source>
<translation>Dukungan</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<source>Quit</source>
<translation>Keluar</translation>
</message>
</context>
<context>
<name>MetadataDialog</name>
<message>
<location filename="../metadatadialog.cpp" line="80"/>
<source>Image Metadata</source>
<translation>Metadata Gambar</translation>
</message>
</context>
<context>
<name>MetadataModel</name>
<message>
<location filename="../metadatamodel.cpp" line="36"/>
<source>Origin</source>
<comment>Section name.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="37"/>
<source>Image</source>
<comment>Section name.</comment>
<translation>Gambar</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="41"/>
<source>File</source>
<comment>Section name.</comment>
<translation>Berkas</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="38"/>
<source>Camera</source>
<comment>Section name.</comment>
<translation>Kamera</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="28"/>
<source>%1 File</source>
<translation>%1 Berkas</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="35"/>
<source>Description</source>
<comment>Section name.</comment>
<translation>Keterangan</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="39"/>
<source>Advanced photo</source>
<comment>Section name.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="40"/>
<source>GPS</source>
<comment>Section name.</comment>
<translation>GPS</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="44"/>
<source>Dimensions</source>
<translation>Dimensi</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="46"/>
<source>Aspect ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="49"/>
<source>Frame count</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="53"/>
<source>Name</source>
<translation>Nama</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="55"/>
<source>Item type</source>
<translation>Jenis item</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="57"/>
<source>Folder path</source>
<translation>Path folder</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="59"/>
<source>Size</source>
<translation>Ukuran</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="61"/>
<source>Date created</source>
<translation>Tanggal dibuat</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="63"/>
<source>Date modified</source>
<translation>Tanggal dimodifikasi</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation>Judul</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation>Subyek</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation>Tag</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<source>Comments</source>
<translation>Komentar</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Authors</source>
<translation>Penulis</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<source>Date taken</source>
<translation>Tanggal diambil</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<source>Program name</source>
<translation>Nama program</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<source>Copyright</source>
<translation>Hak cipta</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<source>Horizontal resolution</source>
<translation>Resolusi horizontal</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<source>Vertical resolution</source>
<translation>Resolusi vertikal</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<source>Resolution unit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<source>Colour representation</source>
<translation type="unfinished">Representasi warna</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Camera maker</source>
<translation>Pembuat kamera</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Camera model</source>
<translation>Model kamera</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<source>F-stop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Exposure time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<source>ISO speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<source>Exposure bias</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<source>Focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<source>Max aperture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<source>Metering mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<source>Flash mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<source>35mm focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<source>Lens model</source>
<translation>Model lensa</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Brightness</source>
<translation>Kecerahan</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<source>Exposure program</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<source>Saturation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<source>Sharpness</source>
<translation>Ketajaman</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<source>White balance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<source>Digital zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<source>EXIF version</source>
<translation>Versi EXIF</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Latitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<source>Latitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<source>Longitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<source>Longitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<source>Altitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<source>Altitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<source>%1 x %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<source>%1 : %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="306"/>
<source>Property</source>
<translation>Properti</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="306"/>
<source>Value</source>
<translation>Nilai</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settingsdialog.cpp" line="16"/>
<source>Settings</source>
<translation>Pengaturan</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="21"/>
<source>Do nothing</source>
<translation>Jangan lakukan apapun</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="22"/>
<source>Close the window</source>
<translation>Tutup jendela</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="23"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="27"/>
<source>Zoom in and out</source>
<translation>Perbesar dan perkecil</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="28"/>
<source>View next or previous item</source>
<translation>Lihat item berikutnya atau sebelumnya</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="41"/>
<source>Stay on top when start-up</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="42"/>
<source>Double-click behavior</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="43"/>
<source>Mouse wheel behavior</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main</name>
<message>
<location filename="../main.cpp" line="31"/>
<source>Pineapple Pictures</source>
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="35"/>
<source>File list.</source>
<translation>Daftar berkas.</translation>
</message>
</context>
</TS>

View File

@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation>Dra bilde hit</translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation>Listen over filnettadresser er tom</translation>
</message>
@ -192,12 +192,12 @@
<translation>Ugyldig bildedata, eller for tiden ustøttet</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation>Ugyldig bildedata</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation>Ustøttet MIME-data: %1</translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation>Listen over filnettadresser er ugyldig</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation>&amp;Kopier</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation type="unfinished">Kopier p&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation>Kopier %filsti</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation>Egenskaper</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation>Behold øverst</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation>Beskyttet modus</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation>Førstørr</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation>Forminsk</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation>Vent &amp;vanrett</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation>&amp;Lim inn</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished">Skru av/ rutemønster</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation>Faktisk størrelse</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation type="unfinished">Veksle maksimering</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation>Roter til høyre</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation>Sett opp </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation>Hjelp</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation>Avslutt</translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation>Tittel</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation>Emne</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation>Vurdering</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation>Etiketter</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation>Kommentarer</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation type="unfinished">Opphavsmenn</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation>Dato tatt</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation>Programnavn</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation>Opphavsrett</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation>Vannrett oppløsning</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation>Loddrett oppløsning</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation>Oppløsningsenhet</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation>Fargerepresentasjon</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation>Kamerafabrikat</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation>Kameramodell</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation>Blenderåpning</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation>Eksponeringstid</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation>ISO-hastighet</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation type="unfinished">Eksponeringskorrigering</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation>Brennvidde</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation type="unfinished">Maks. blenderåpning</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation type="unfinished">Målingsmodus</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation>Blitz-modus</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation type="unfinished">35 mm-brennvidde</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation>Linsemodell</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation>Lysstyrke</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation type="unfinished">Eksponeringsprogram</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation>Metning</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation>Skarphet</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation>Hvitbalanse</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation>Digital forstørrelse</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation>EXIF-versjon</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation>Breddegradsreferanse</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation>Breddegrad</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation>Lengdegradsreferanse</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation>Lengdegrad</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation>Høydereferanse</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation>Høyde</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation>%1 : %2</translation>
</message>

View File

@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation>Sleep een afbeelding hierheen</translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation>De bestandspadlijst is leeg</translation>
</message>
@ -192,12 +192,12 @@
<translation>De afbeeldingsgegevens zijn beschadigd of worden niet ondersteund</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation>Beschadigde afbeeldingsgegevens</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation>Niet-ondersteunde mime-gegevens: %1</translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation>De bestandspadlijst is leeg</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation>&amp;Kopiëren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation>P&amp;ixmap kopiëren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation>&amp;Bestandspad kopiëren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation>Eigenschappen</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation>Altijd bovenop</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation>Beschermde modus</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation>Inzoomen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation>Uitzoomen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation>&amp;Horizontaal spiegelen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation>&amp;Plakken</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation>Schaakbordpatroon aan/uit</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation>Ware grootte</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation>Maximaliseren aan/uit</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation>Naar rechts draaien</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation>Instellen...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation>Hulp</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation>Afsluiten</translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation>Naam</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation>Onderwerp</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation>Waardering</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation>Labels</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation>Opmerkingen</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation>Makers</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation>Genomen op</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation>Programmanaam</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation>Copyright</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation>Horizontale resolutie</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation>Verticale resolutie</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation>Resolutie-eenheid</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation>Kleurweergave</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation>Camerafabrikant</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation>Cameramodel</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation>Openingsverhouding</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation>Belichtingstijd</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation>ISO-snelheid</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation>Belichtingsvertekening</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation>Focale lengte</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation>Max. opening</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation>Metermodus</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation>Flitsmodus</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation>35mm focale lengte</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation>Lensmodel</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation>Helderheid</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation>Belichtingsprogramma</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation>Verzadiging</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation>Scherpte</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation>Witbalans</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation>Digitale zoom</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation>EXIF-versie</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation>Breedtegraadverwijzing</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation>Breedtegraad</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation>Lengtegraadverwijzing</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation>Lengtegraad</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation>Hoogteverwijzing</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation>Hoogte</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation>%1 : %2</translation>
</message>

View File

@ -16,7 +16,7 @@
<message>
<location filename="../aboutdialog.cpp" line="27"/>
<source>Drag and drop image file onto the window is also supported.</source>
<translation>Также поддерживается перетаскивание файла изображения в окно.</translation>
<translation>Перетаскивание файла изображения в окно также поддерживается.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="28"/>
@ -26,17 +26,17 @@
<message>
<location filename="../aboutdialog.cpp" line="29"/>
<source>Context menu option explanation:</source>
<translation>Пояснение к параметрам контекстного меню:</translation>
<translation>Объяснение пунктов контекстного меню:</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="36"/>
<source>Make window stay on top of all other windows.</source>
<translation>Расположить окно поверх всех остальных окон.</translation>
<translation>Сделать окно поверх всех остальных окон.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="39"/>
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
<translation>Избегать случайного закрытия окна. (например, двойным щелчком по окну)</translation>
<translation>Избежать случайного закрытия окна (например, двойным щелчком по окну).</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="47"/>
@ -76,7 +76,7 @@
<message>
<location filename="../aboutdialog.cpp" line="68"/>
<source>Thanks to all people who contributed to this project.</source>
<translation>Спасибо всем, кто внес свой вклад в этот проект.</translation>
<translation>Спасибо всем, кто внёс свой вклад в этот проект.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="72"/>
@ -86,13 +86,13 @@
<message>
<location filename="../aboutdialog.cpp" line="73"/>
<source>I would like to thank the following people who volunteered to translate this application.</source>
<translation>Я бы хотел поблагодарить следующих людей, которые приняли участие в переводе этого приложения.</translation>
<translation>Я хотел бы поблагодарить следующих людей, которые вызвались перевести это приложение.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="117"/>
<source>%1 is built on the following free software libraries:</source>
<comment>Free as in freedom</comment>
<translation>%1 создан на следующих бесплатных библиотеках программного обеспечения:</translation>
<translation>%1 собран на следующих бесплатных библиотеках программного обеспечения:</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="141"/>
@ -142,7 +142,7 @@
<message>
<location filename="../aboutdialog.cpp" line="88"/>
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
<translation>Лицензия MIT гарантирует вам эту свободу. Никому и никогда не разрешается забирать ее.</translation>
<translation>Лицензия MIT гарантирует вам эту свободу. Никому и никогда не разрешается забирать её.</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="116"/>
@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation>Перетащите изображение сюда</translation>
</message>
@ -176,28 +176,28 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation>Список URL-адресов файлов пуст</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Файл не является допустимым изображением</translation>
<translation>Файл не является действительным изображением</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Параметры изображения недействительны или не поддерживаются в настоящее время</translation>
<translation>Данные изображения недействительны или в настоящее время не поддерживаются</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation>Параметры изображения недействительны</translation>
<translation>Данные изображения недействительны</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation>Неподдерживаемые mimedata: %1</translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation>Список URL-адресов файлов пуст</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation>&amp;Скопировать</translation>
<translation>&amp;Копировать</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation>Скопировать P&amp;ixmap</translation>
<translation>Копировать P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation>Скопировать &amp;путь к файлу</translation>
<translation>Копировать &amp;путь к файлу</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation>Свойства</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation>Поверх всех окон</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation>Защищенный режим</translation>
<translation>Защищённый режим</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation>Увеличить</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation>Уменьшить</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation>Отразить по &amp;горизонтали</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation>&amp;Вставить</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation>Переключить фоновый рисунок</translation>
<translation>Переключить шахматную доску</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation>Фактический размер</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation>Переключить окно</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation>Повернуть вправо</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation>Параметры...</translation>
<translation>Настроить...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation>Помощь</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation>Выход</translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation>Заголовок</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation>Тема</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation>Рейтинг</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation>Теги</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation>Комментарии</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation>Авторы</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation>Дата съемки</translation>
<translation>Дата захвата</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation>Название программы</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation>Авторские права</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation>Разрешение по горизонтали</translation>
<translation>Горизонтальное разрешение</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation>Разрешение по вертикали</translation>
<translation>Вертикальное разрешение</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation>Единица разрешения</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation>Цветопередача</translation>
<translation>Цветовое представление</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation>Производитель камеры</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation>Модель камеры</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation>Величина диафрагмы</translation>
<translation>F-stop</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation>Время экспозиции</translation>
<translation>Экспозиция</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation>Чувствительность ISO</translation>
<translation>ISO</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation>Смещение экспозиции</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation>Фокусное расстояние</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation>Максимальная апертура</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation>Режим измерения</translation>
<translation>Режим замера</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation>Режим вспышки</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation>Фокусное расстояние 35 мм</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation>Модель объектива</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation>Яркость</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation>Программа экспозиции</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation>Насыщенность</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation>Четкость</translation>
<translation>Чёткость</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation>Баланс белого</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation>Цифровое увеличение</translation>
<translation>Цифровой зум</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation>Версия EXIF</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation>Ссылка на широту</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation>Широта</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation>Ссылка на долготу</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation>Долгота</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation>Ссылка на высоту</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation>Высота</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation>%1 : %2</translation>
</message>
@ -615,7 +585,7 @@
<message>
<location filename="../settingsdialog.cpp" line="16"/>
<source>Settings</source>
<translation>Параметры</translation>
<translation>Настройки</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="21"/>
@ -630,12 +600,12 @@
<message>
<location filename="../settingsdialog.cpp" line="23"/>
<source>Toggle maximize</source>
<translation>Переключить окно</translation>
<translation>Развернуть окно</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="27"/>
<source>Zoom in and out</source>
<translation>Увеличение и уменьшение масштаба</translation>
<translation>Увеличение или уменьшение изображения</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="28"/>

View File

@ -152,12 +152,12 @@
<message>
<location filename="../aboutdialog.cpp" line="139"/>
<source>&amp;Help</source>
<translation></translation>
<translation>&amp;</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="140"/>
<source>&amp;About</source>
<translation></translation>
<translation>&amp;</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="142"/>
@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation type="unfinished"></translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation type="unfinished"> ... (url) </translation>
</message>
@ -192,12 +192,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation> </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation> ... (url) </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation>&amp;</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation> </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation>%1 : %2</translation>
</message>

View File

@ -168,7 +168,7 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../graphicsscene.cpp" line="48"/>
<location filename="../graphicsscene.cpp" line="16"/>
<source>Drag image here</source>
<translation></translation>
</message>
@ -176,7 +176,7 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="329"/>
<location filename="../graphicsview.cpp" line="291"/>
<source>File url list is empty</source>
<translation> URL </translation>
</message>
@ -192,12 +192,12 @@
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="337"/>
<location filename="../graphicsview.cpp" line="299"/>
<source>Image data is invalid</source>
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="344"/>
<location filename="../graphicsview.cpp" line="306"/>
<source>Not supported mimedata: %1</source>
<translation> MimeData %1</translation>
</message>
@ -205,94 +205,79 @@
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="163"/>
<location filename="../mainwindow.cpp" line="173"/>
<source>File url list is empty</source>
<translation> URL </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="374"/>
<location filename="../mainwindow.cpp" line="384"/>
<source>&amp;Copy</source>
<translation>(&amp;C)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="73"/>
<location filename="../actionmanager.cpp" line="50"/>
<source>Copy P&amp;ixmap</source>
<translation>(&amp;I)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="74"/>
<location filename="../actionmanager.cpp" line="51"/>
<source>Copy &amp;File Path</source>
<translation>(&amp;F)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="80"/>
<location filename="../actionmanager.cpp" line="58"/>
<source>Properties</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="35"/>
<location filename="../actionmanager.cpp" line="76"/>
<location filename="../actionmanager.cpp" line="54"/>
<source>Stay on top</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../actionmanager.cpp" line="77"/>
<location filename="../actionmanager.cpp" line="55"/>
<source>Protected mode</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="65"/>
<location filename="../actionmanager.cpp" line="47"/>
<source>Zoom in</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="66"/>
<location filename="../actionmanager.cpp" line="48"/>
<source>Zoom out</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="70"/>
<location filename="../actionmanager.cpp" line="49"/>
<source>Flip &amp;Horizontally</source>
<translation>(&amp;H)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="75"/>
<location filename="../actionmanager.cpp" line="52"/>
<source>&amp;Paste</source>
<translation>(&amp;P)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="67"/>
<location filename="../actionmanager.cpp" line="53"/>
<source>Toggle Checkerboard</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="63"/>
<source>Actual size</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="64"/>
<source>Toggle maximize</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="68"/>
<source>Rotate right</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="78"/>
<location filename="../actionmanager.cpp" line="56"/>
<source>Configure...</source>
<translation>...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="79"/>
<location filename="../actionmanager.cpp" line="57"/>
<source>Help</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="81"/>
<location filename="../actionmanager.cpp" line="59"/>
<source>Quit</source>
<translation>退</translation>
</message>
@ -401,201 +386,186 @@
</message>
<message>
<location filename="../metadatamodel.cpp" line="70"/>
<source>Title</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Subject</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="74"/>
<source>Rating</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="76"/>
<source>Tags</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="78"/>
<location filename="../metadatamodel.cpp" line="72"/>
<source>Comments</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="81"/>
<location filename="../metadatamodel.cpp" line="75"/>
<source>Authors</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="83"/>
<location filename="../metadatamodel.cpp" line="77"/>
<source>Date taken</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="89"/>
<location filename="../metadatamodel.cpp" line="79"/>
<source>Program name</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="91"/>
<location filename="../metadatamodel.cpp" line="81"/>
<source>Copyright</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="94"/>
<location filename="../metadatamodel.cpp" line="84"/>
<source>Horizontal resolution</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="96"/>
<location filename="../metadatamodel.cpp" line="86"/>
<source>Vertical resolution</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="98"/>
<location filename="../metadatamodel.cpp" line="88"/>
<source>Resolution unit</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="100"/>
<location filename="../metadatamodel.cpp" line="90"/>
<source>Colour representation</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="103"/>
<location filename="../metadatamodel.cpp" line="93"/>
<source>Camera maker</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="105"/>
<location filename="../metadatamodel.cpp" line="95"/>
<source>Camera model</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="107"/>
<location filename="../metadatamodel.cpp" line="97"/>
<source>F-stop</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="109"/>
<location filename="../metadatamodel.cpp" line="99"/>
<source>Exposure time</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="111"/>
<location filename="../metadatamodel.cpp" line="101"/>
<source>ISO speed</source>
<translation>ISO </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="113"/>
<location filename="../metadatamodel.cpp" line="103"/>
<source>Exposure bias</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="115"/>
<location filename="../metadatamodel.cpp" line="105"/>
<source>Focal length</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="117"/>
<location filename="../metadatamodel.cpp" line="107"/>
<source>Max aperture</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="119"/>
<location filename="../metadatamodel.cpp" line="109"/>
<source>Metering mode</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="121"/>
<location filename="../metadatamodel.cpp" line="111"/>
<source>Flash mode</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="123"/>
<location filename="../metadatamodel.cpp" line="113"/>
<source>35mm focal length</source>
<translation> 35mm </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="126"/>
<location filename="../metadatamodel.cpp" line="116"/>
<source>Lens model</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="128"/>
<location filename="../metadatamodel.cpp" line="118"/>
<source>Brightness</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="130"/>
<location filename="../metadatamodel.cpp" line="120"/>
<source>Exposure program</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="132"/>
<location filename="../metadatamodel.cpp" line="122"/>
<source>Saturation</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="134"/>
<location filename="../metadatamodel.cpp" line="124"/>
<source>Sharpness</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="136"/>
<location filename="../metadatamodel.cpp" line="126"/>
<source>White balance</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="138"/>
<location filename="../metadatamodel.cpp" line="128"/>
<source>Digital zoom</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="140"/>
<location filename="../metadatamodel.cpp" line="130"/>
<source>EXIF version</source>
<translation>EXIF </translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="143"/>
<location filename="../metadatamodel.cpp" line="133"/>
<source>Latitude reference</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="145"/>
<location filename="../metadatamodel.cpp" line="135"/>
<source>Latitude</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="147"/>
<location filename="../metadatamodel.cpp" line="137"/>
<source>Longitude reference</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="149"/>
<location filename="../metadatamodel.cpp" line="139"/>
<source>Longitude</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="151"/>
<location filename="../metadatamodel.cpp" line="141"/>
<source>Altitude reference</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="153"/>
<location filename="../metadatamodel.cpp" line="143"/>
<source>Altitude</source>
<translation></translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="163"/>
<location filename="../metadatamodel.cpp" line="153"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
<message>
<location filename="../metadatamodel.cpp" line="181"/>
<location filename="../metadatamodel.cpp" line="171"/>
<source>%1 : %2</source>
<translation>%1 : %2</translation>
</message>

View File

@ -49,7 +49,7 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER%
# install AOM for libavif AV1 decoding support...
- cd 3rdparty
- git clone -b v3.1.2 --depth 1 https://aomedia.googlesource.com/aom
- git clone -b v2.0.1 --depth 1 https://aomedia.googlesource.com/aom
- cd aom
- mkdir build.libavif
- cd build.libavif
@ -59,9 +59,9 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER%
# install libavif for avif format support of KImageFormats
- cd %LIBAVIF%
- curl -fsSL -o libavif-v0_9_0.zip https://github.com/AOMediaCodec/libavif/archive/v0.9.0.zip
- 7z x libavif-v0_9_0.zip -y
- cd libavif-0.9.0
- curl -fsSL -o libavif-v0_8_4.zip https://github.com/AOMediaCodec/libavif/archive/v0.8.4.zip
- 7z x libavif-v0_8_4.zip -y
- cd libavif-0.8.4
- mkdir build
- cd build
- cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_ROOT% -DAVIF_CODEC_AOM=ON
@ -81,17 +81,17 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER%
# build libexpat for libexiv2
- cd %LIBEXPAT%
- curl -fsSL -o R_2_4_1.zip https://github.com/libexpat/libexpat/archive/R_2_4_1.zip
- 7z x R_2_4_1.zip -y
- cd libexpat-R_2_4_1/expat/
- curl -fsSL -o R_2_2_10.zip https://github.com/libexpat/libexpat/archive/R_2_2_10.zip
- 7z x R_2_2_10.zip -y
- cd libexpat-R_2_2_10/expat/
- cmake -G "Ninja" . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_ROOT% -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF
- cmake --build . --target install/strip
- cd %APPVEYOR_BUILD_FOLDER%
# build libexiv2
- cd %LIBEXIV2%
- curl -fsSL -o v0.27.4.zip https://github.com/Exiv2/exiv2/archive/v0.27.4.zip
- 7z x v0.27.4.zip -y
- cd exiv2-0.27.4
- curl -fsSL -o v0.27.3.zip https://github.com/Exiv2/exiv2/archive/v0.27.3.zip
- 7z x v0.27.3.zip -y
- cd exiv2-0.27.3
- cmake -G "Ninja" . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_ROOT% -DEXIV2_BUILD_SAMPLES=OFF -DEXIV2_ENABLE_WIN_UNICODE=ON
- cmake --build . --target install/strip
- cd %APPVEYOR_BUILD_FOLDER%
@ -128,9 +128,9 @@ build_script:
- copy %APPVEYOR_BUILD_FOLDER%\3rdparty\aom\LICENSE License.aom.txt
- copy %APPVEYOR_BUILD_FOLDER%\3rdparty\karchive\LICENSES\LGPL-2.0-or-later.txt License.KArchive.txt
- copy %APPVEYOR_BUILD_FOLDER%\3rdparty\kimageformats\LICENSES\LGPL-2.1-or-later.txt License.kimageformats.txt
- copy %LIBEXPAT%\libexpat-R_2_4_1\expat\COPYING License.expat.txt
- copy %LIBAVIF%\libavif-0.9.0\LICENSE License.libavif.txt
- copy %LIBEXIV2%\exiv2-0.27.4\COPYING License.exiv2.txt
- copy %LIBEXPAT%\libexpat-R_2_2_10\expat\COPYING License.expat.txt
- copy %LIBAVIF%\libavif-0.8.4\LICENSE License.libavif.txt
- copy %LIBEXIV2%\exiv2-0.27.3\COPYING License.exiv2.txt
# TODO: Qt, zlib
- cd ..
# for debug..

View File

@ -1,15 +1,79 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 75 75" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;">
<g transform="matrix(1,0,0,1,-119,-102)">
<g id="go-next" transform="matrix(1.25,0,0,1.44231,119,-7.61538)">
<rect x="0" y="76" width="60" height="52" style="fill:none;"/>
<g transform="matrix(0.8,0,0,0.693333,0.260244,25.056)">
<circle cx="37.175" cy="110.977" r="33.175" style="fill-opacity:0.15;stroke:white;stroke-width:2px;"/>
</g>
<g id="path867" transform="matrix(0.8,0,0,0.693333,1.80436,76.0055)">
<path d="M31.578,26.175L42.911,37.508L31.578,48.809" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:2px;"/>
</g>
</g>
</g>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="75"
height="75"
viewBox="0 0 19.84375 19.843751"
version="1.1"
id="svg8"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="go-next.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#282929"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.76862745"
inkscape:pageshadow="2"
inkscape:zoom="16.000001"
inkscape:cx="35.333099"
inkscape:cy="37.582065"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
units="px"
inkscape:pagecheckerboard="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1">
<sodipodi:guide
position="11.453565,9.9198082"
orientation="0,-1"
id="guide857" />
<sodipodi:guide
position="9.9229088,19.564698"
orientation="1,0"
id="guide837" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="图层 1"
inkscape:groupmode="layer"
id="layer1">
<ellipse
style="opacity:1;fill:#000000;fill-opacity:0.15678;stroke:#ffffff;stroke-width:0.396875;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path849"
cx="9.9368067"
cy="9.915391"
rx="8.6764698"
ry="8.9158831" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 8.3550725,6.9255115 11.353504,9.9239423 8.3550725,12.91402"
id="path867" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,15 +1,79 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 75 75" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;">
<g transform="matrix(1,0,0,1,-39,-102)">
<g id="go-previous" transform="matrix(1.25,0,0,1.44231,39,-7.61538)">
<rect x="0" y="76" width="60" height="52" style="fill:none;"/>
<g transform="matrix(0.8,0,0,0.693333,0.260244,25.056)">
<circle cx="37.175" cy="110.977" r="33.175" style="fill-opacity:0.15;stroke:white;stroke-width:2px;"/>
</g>
<g id="path867" transform="matrix(0.8,0,0,0.693333,-1.8205,76.0055)">
<path d="M43.442,26.175L32.109,37.508L43.442,48.809" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:2px;"/>
</g>
</g>
</g>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="go-previous.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
id="svg8"
version="1.1"
viewBox="0 0 19.84375 19.843751"
height="75"
width="75">
<defs
id="defs2" />
<sodipodi:namedview
inkscape:window-maximized="1"
inkscape:window-y="-9"
inkscape:window-x="-9"
inkscape:window-height="1001"
inkscape:window-width="1920"
inkscape:guide-bbox="true"
showguides="true"
inkscape:pagecheckerboard="false"
units="px"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="45.995918"
inkscape:cx="29.794477"
inkscape:zoom="11.313709"
inkscape:pageshadow="2"
inkscape:pageopacity="0.76862745"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#282929"
id="base">
<sodipodi:guide
id="guide857"
orientation="0,-1"
position="11.453565,9.9198082" />
<sodipodi:guide
id="guide837"
orientation="1,0"
position="9.9229088,19.564698" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="图层 1">
<ellipse
ry="8.9158831"
rx="8.6764698"
cy="9.915391"
cx="9.9368067"
id="path849"
style="opacity:1;fill:#000000;fill-opacity:0.15678;stroke:#ffffff;stroke-width:0.396875;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path867"
d="M 11.494016,6.9255115 8.4955849,9.9239423 11.494016,12.91402"
style="fill:none;stroke:#ffffff;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,17 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<g transform="matrix(1,0,0,1,-74,-7.10543e-15)">
<g id="object-rotate-right" transform="matrix(1,0,0,1,74,7.10543e-15)">
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
<g transform="matrix(1,0,0,1,-1,-0.275147)">
<g transform="matrix(1,0,0,1,-74,-7.10543e-15)">
<path d="M100,18C100,22.967 95.967,27 91,27C86.033,27 82,22.967 82,18C82,13.033 86.033,9 91,9" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(0.984136,-0.177418,0.177418,0.984136,-74.2676,16.4198)">
<path d="M89,13L93,9L89,5" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
</g>
</g>
</g>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 8.4666665 8.4666669"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="object-rorate-right.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.69803922"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="13.471207"
inkscape:cy="14.931415"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-288.5333)">
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 6.2474252,294.57784 c -1.6704347,1.43657 -3.1237125,0.51783 -3.1237125,0.51783 -0.650925,-0.38244 -0.9769945,-1.03846 -1.0690781,-1.42823 -0.032148,-0.5952 -0.1092884,-1.34357 0.3591432,-1.95439 0.5186761,-0.51984 0.9614825,-0.84964 1.4783346,-0.9271 l 1.302939,-0.0167"
id="path21"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 4.5352297,289.82545 c 0.6598217,0.9438 0.6598217,0.9438 0.6598217,0.9438 l -0.626413,0.94379 -0.033409,0.0334"
id="path25"
inkscape:connector-curvature="0" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,24 +1,87 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<g transform="matrix(1,0,0,1,0,-37)">
<g id="view-background-checkerboard" transform="matrix(1,0,0,1,0,37)">
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
<g id="rect814" transform="matrix(0.964431,0,0,0.907545,0.187581,-988.266)">
<rect x="6.027" y="1095.56" width="10.369" height="11.019" style="fill:white;fill-opacity:0.87;"/>
</g>
<g id="rect814-4" transform="matrix(0.984615,0,0,0.898704,-0.143354,-978.502)">
<rect x="16.396" y="1106.6" width="10.156" height="11.127" style="fill:white;fill-opacity:0.87;"/>
</g>
<g id="rect814-2" transform="matrix(0.963684,0,0,0.898697,0.199828,-978.495)">
<rect x="6.019" y="1106.6" width="10.377" height="11.127" style="fill:white;fill-opacity:0.07;"/>
</g>
<g id="rect814-2-6" transform="matrix(0.980558,0,0,0.898693,-0.0768322,-978.47)">
<rect x="16.396" y="1095.45" width="10.198" height="11.127" style="fill:white;fill-opacity:0.07;"/>
</g>
<g transform="matrix(1,0,0,0.952381,-74,-34)">
<rect x="80" y="42" width="20" height="21" style="fill:none;stroke:white;stroke-width:2.05px;"/>
</g>
</g>
</g>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 8.4666665 8.4666669"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="view-background-checkerboard.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.69803922"
inkscape:pageshadow="2"
inkscape:zoom="44.8"
inkscape:cx="14.891202"
inkscape:cy="11.596232"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-288.5333)">
<rect
style="fill:#ffffff;fill-opacity:0.87058824;stroke:none;stroke-width:0.37041664;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect814"
width="2.7434142"
height="2.9153748"
x="1.5945871"
y="289.86566" />
<rect
style="fill:#ffffff;fill-opacity:0.87058824;stroke:none;stroke-width:0.37041664;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect814-4"
width="2.6871748"
height="2.9440556"
x="4.3380013"
y="292.78696" />
<rect
style="fill:#ffffff;fill-opacity:0.07843137;stroke:#ffffff;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect814-2"
width="2.7455406"
height="2.9440758"
x="1.5924606"
y="292.78696" />
<rect
style="fill:#ffffff;fill-opacity:0.07843137;stroke:#ffffff;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect814-2-6"
width="2.6982937"
height="2.9440918"
x="4.3380013"
y="289.83694" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,24 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<g transform="matrix(1,0,0,1,-37,-37)">
<g id="view-fullscreen" transform="matrix(1,0,0,1,37,37)">
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
<g transform="matrix(1,0,0,1,-36,-37)">
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(-1,1.22465e-16,1.22465e-16,1,68,-37)">
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(1,-2.46519e-32,-2.46519e-32,-1,-36,69)">
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(1.11111,0,0,1.14286,-42.3333,-42.8571)">
<rect x="48" y="48" width="9" height="7" style="fill:none;stroke:white;stroke-width:1.77px;"/>
</g>
<g transform="matrix(-1,-1.22465e-16,1.22465e-16,-1,68,69)">
<path d="M42,49L42,43L48,43" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
</g>
</g>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 8.4666665 8.4666669"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="view-fullscreen-a.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.69803922"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="6.127457"
inkscape:cy="14.931415"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-288.5333)">
<rect
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.37041667;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect835"
width="2.4214098"
height="1.8308237"
x="3.0710566"
y="291.59018" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 1.630022,292.00359 1.615848,290.14918 H 3.6380209"
id="path837"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26531255px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 6.9097992,291.96816 0.014252,-1.85441 -2.0333353,0"
id="path837-6"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 6.9306311,293.21954 0.014174,1.85441 H 4.9226322"
id="path837-9"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26531255px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 1.6393869,293.16031 -0.014252,1.85441 h 2.0333353"
id="path837-6-4"
inkscape:connector-curvature="0" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,17 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<rect id="zoom-in" x="0" y="0" width="32" height="32" style="fill:none;"/>
<g id="zoom-in1" serif:id="zoom-in">
<g>
<g transform="matrix(1,0,0,1,-1,0)">
<circle cx="16" cy="15" r="9" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(0.8,0.8,-0.8,0.8,27.6,-17.2)">
<path d="M21,28L26,28" style="fill:none;stroke:white;stroke-width:2.65px;"/>
</g>
<path d="M11,15L19,15" style="fill:none;stroke:white;stroke-width:2px;"/>
<path d="M15,11L15,19" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
</g>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 8.4666665 8.4666669"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="zoom-in-a.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.69803922"
inkscape:pageshadow="2"
inkscape:zoom="16"
inkscape:cx="17.492176"
inkscape:cy="13.486663"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-288.5333)">
<circle
style="fill:none;stroke:#ffffff;stroke-width:0.26458332;stroke-opacity:1"
id="path825"
cx="3.8955173"
cy="292.02957"
r="1.9725631" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 2.8678944,292.07683 H 4.9703868"
id="path827"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3.9309524,290.90746 0.035435,2.29149"
id="path829"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 5.2066218,293.63598 1.3465403,1.42922 v 0"
id="path831"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -1,24 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:square;stroke-miterlimit:1.5;">
<g transform="matrix(1,0,0,1,-74,-37)">
<g id="zoom-original" transform="matrix(1,0,0,1,74,37)">
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
<g transform="matrix(1,0,0,1,-73,-37)">
<path d="M85,57L85,49L84,49" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(1,0,0,1,-74,-37)">
<rect x="89" y="50" width="2" height="2" style="fill:white;"/>
</g>
<g transform="matrix(1,0,0,1,-74,-33)">
<rect x="89" y="50" width="2" height="2" style="fill:white;"/>
</g>
<g transform="matrix(1,0,0,1,-64,-37)">
<path d="M85,57L85,49L84,49" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(1,0,0,0.952381,-74,-34)">
<rect x="80" y="42" width="20" height="21" style="fill:none;stroke:white;stroke-width:2.05px;stroke-linecap:round;stroke-linejoin:round;"/>
</g>
</g>
</g>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 8.4666665 8.4666669"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="zoom-original-a.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.69803922"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="22.610899"
inkscape:cy="17.020554"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-288.5333)">
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.30979729px;line-height:6.44362354px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.25774494;"
x="1.0365982"
y="259.85211"
id="text819"
transform="scale(0.88039913,1.1358485)"><tspan
sodipodi:role="line"
id="tspan817"
x="1.0365982"
y="259.85211"
style="font-size:5.84221935px;stroke-width:0.25774494;fill:#ffffff;fill-opacity:1;">1:1</tspan></text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,18 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<g transform="matrix(1,0,0,1,-74,0)">
<g id="zoom-out" transform="matrix(1,0,0,1,74,0)">
<rect x="0" y="0" width="32" height="32" style="fill:none;"/>
<g>
<g transform="matrix(1,0,0,1,-1,0)">
<circle cx="16" cy="15" r="9" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
<g transform="matrix(0.8,0.8,-0.8,0.8,27.6,-17.2)">
<path d="M21,28L26,28" style="fill:none;stroke:white;stroke-width:2.65px;"/>
</g>
<path d="M11,15L19,15" style="fill:none;stroke:white;stroke-width:2px;"/>
</g>
</g>
</g>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 8.4666665 8.4666669"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="zoom-out-a.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.69803922"
inkscape:pageshadow="2"
inkscape:zoom="16"
inkscape:cx="17.492176"
inkscape:cy="13.486663"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-288.5333)">
<circle
style="fill:none;stroke:#ffffff;stroke-width:0.26458332;stroke-opacity:1"
id="path825"
cx="3.8955173"
cy="292.02957"
r="1.9725631" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 2.8678944,292.07683 H 4.9703868"
id="path827"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 5.2066218,293.63598 1.3465403,1.42922 v 0"
id="path831"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,11 +1,10 @@
<ul>
<li><u>Chinese (Simplified)</u>: Percy Hong</li>
<li><u>Dutch</u>: Heimen Stoffels</li>
<li><u>French</u>: J. Lavoie, K. Herbert, Maxime Leroy</li>
<li><u>French</u>: J. Lavoie, K. Herbert</li>
<li><u>German</u>: K. Herbert, J. Lavoie</li>
<li><u>Indonesian</u>: liimee</li>
<li><u>Norwegian Bokmål</u>: Allan Nordhøy</li>
<li><u>Russian</u>: Sergey Shornikov, Artem, Andrey</li>
<li><u>Russian</u>: Sergey Shornikov, Artem</li>
<li><u>Sinhala</u>: HelaBasa</li>
<li><u>Spanish</u>: William(ѕ)ⁿ</li>
</ul>

View File

@ -1,5 +1,4 @@
QT += core widgets gui svg
greaterThan(QT_MAJOR_VERSION, 5): QT += svgwidgets
TARGET = ppic
TEMPLATE = app
@ -63,8 +62,7 @@ TRANSLATIONS = \
app/translations/PineapplePictures_nb_NO.ts \
app/translations/PineapplePictures_nl.ts \
app/translations/PineapplePictures_ru.ts \
app/translations/PineapplePictures_si.ts \
app/translations/PineapplePictures_id.ts
app/translations/PineapplePictures_si.ts
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin