Page MenuHomePhabricator (Chris)

No OneTemporary

Authored By
Unknown
Size
657 KB
Referenced Files
None
Subscribers
None
This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/dialogs/areadialog.cpp b/dialogs/areadialog.cpp
index 346abc0..6e665a8 100644
--- a/dialogs/areadialog.cpp
+++ b/dialogs/areadialog.cpp
@@ -1,585 +1,587 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
******
*
* Based on KDE's KSnapshot regiongrabber.cpp, revision 796531, Copyright 2007 Luca Gugelmann <lucag@student.ethz.ch>
* released under the GNU LGPL <http://www.gnu.org/licenses/old-licenses/library.txt>
*
*/
#include "areadialog.h"
#include "../tools/os.h"
#include "../tools/screenshot.h"
#include "../tools/screenshotmanager.h"
#include <QApplication>
#include <QDesktopWidget>
#include <QHBoxLayout>
#include <QMouseEvent>
#include <QPainter>
#include <QPushButton>
#include <QSettings>
#include <QTimer>
#include <QToolTip>
#include <QDebug>
AreaDialog::AreaDialog(Screenshot *screenshot) :
QDialog(0), mScreenshot(screenshot), mMouseDown(false), mMouseMagnifier(false),
mNewSelection(false), mHandleSize(10), mMouseOverHandle(0), mIdleTimer(),
mShowHelp(true), mGrabbing(false), mOverlayAlpha(1), mAutoclose(false),
mTLHandle(0, 0, mHandleSize, mHandleSize), mTRHandle(0, 0, mHandleSize, mHandleSize),
mBLHandle(0, 0, mHandleSize, mHandleSize), mBRHandle(0, 0, mHandleSize, mHandleSize),
mLHandle(0, 0, mHandleSize, mHandleSize), mTHandle(0, 0, mHandleSize, mHandleSize),
mRHandle(0, 0, mHandleSize, mHandleSize), mBHandle(0, 0, mHandleSize, mHandleSize)
{
mHandles << &mTLHandle << &mTRHandle << &mBLHandle << &mBRHandle
<< &mLHandle << &mTHandle << &mRHandle << &mBHandle;
mMouseOverHandle = 0;
setMouseTracking(true);
setWindowTitle(tr("Lightscreen Area Mode"));
setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint);
setCursor(Qt::CrossCursor);
connect(&mIdleTimer, SIGNAL(timeout()), this, SLOT(displayHelp()));
mIdleTimer.start(2000);
mAutoclose = ScreenshotManager::instance()->settings()->value("options/areaAutoclose").toBool();
if (mAutoclose)
return; // Avoid creating the accept widget if it's not going to get used.
// Creating accept widget:
mAcceptWidget = new QWidget(this);
mAcceptWidget->resize(110, 60);
mAcceptWidget->setWindowOpacity(0.4);
mAcceptWidget->setGraphicsEffect(os::shadow(QColor(50, 50, 50, 255), 8));
mAcceptWidget->setStyleSheet("QWidget { background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(140, 140, 140, 230), stop:1 rgba(80, 80, 80, 230)); padding: 6px 10px; border: 1px solid rgba(0, 0, 0, 200); border-radius: 8px; } QPushButton { background: transparent; border: none; height: 50px; color: white; padding: 0; } QPushButton:hover { cursor: hand; }");
QPushButton *awAcceptButton = new QPushButton(QIcon(":/icons/yes.big"), "", this);
connect(awAcceptButton, SIGNAL(clicked()), this, SLOT(grabRect()));
awAcceptButton->setCursor(Qt::PointingHandCursor);
awAcceptButton->setIconSize(QSize(48, 48));
awAcceptButton->setGraphicsEffect(os::shadow(QColor(50, 50, 50, 255)));
QPushButton *awRejectButton = new QPushButton(QIcon(":/icons/no.big"), "", this);
connect(awRejectButton, SIGNAL(clicked()), this, SLOT(cancel()));
awRejectButton->setCursor(Qt::PointingHandCursor);
awRejectButton->setIconSize(QSize(48, 48));
awRejectButton->setGraphicsEffect(os::shadow(QColor(50, 50, 50, 255)));
QHBoxLayout *awLayout = new QHBoxLayout(this);
awLayout->addWidget(awAcceptButton);
awLayout->addWidget(awRejectButton);
awLayout->setMargin(0);
awLayout->setSpacing(0);
mAcceptWidget->setLayout(awLayout);
mAcceptWidget->setVisible(false);
}
QRect &AreaDialog::resultRect()
{
return mSelection;
}
void AreaDialog::animationTick(int frame)
{
mOverlayAlpha = frame;
update();
}
void AreaDialog::cancel()
{
reject();
}
void AreaDialog::displayHelp()
{
mShowHelp = true;
update();
}
void AreaDialog::grabRect()
{
QRect r = mSelection.normalized();
if (!r.isNull() && r.isValid()) {
mGrabbing = true;
accept();
}
}
void AreaDialog::keyPressEvent(QKeyEvent* e)
{
if (e->key() == Qt::Key_Escape) {
cancel();
}
else if (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return) {
grabRect();
}
else {
e->ignore();
}
}
void AreaDialog::mouseDoubleClickEvent(QMouseEvent*)
{
grabRect();
}
void AreaDialog::mouseMoveEvent(QMouseEvent* e)
{
mMouseMagnifier = false;
if (mMouseDown) {
mMousePos = e->pos();
if (mNewSelection) {
QRect r = rect();
mSelection = QRect(mDragStartPoint, limitPointToRect(mMousePos, r)).normalized();
}
else if (mMouseOverHandle == 0) { // moving the whole selection
QRect r = rect().normalized(), s = mSelectionBeforeDrag.normalized();
QPoint p = s.topLeft() + e->pos() - mDragStartPoint;
r.setBottomRight(r.bottomRight() - QPoint(s.width(), s.height()));
if (!r.isNull() && r.isValid())
mSelection.moveTo(limitPointToRect(p, r));
}
else {// dragging a handle
QRect r = mSelectionBeforeDrag;
QPoint offset = e->pos() - mDragStartPoint;
if (mMouseOverHandle == &mTLHandle || mMouseOverHandle == &mTHandle
|| mMouseOverHandle == &mTRHandle) // dragging one of the top handles
{
r.setTop(r.top() + offset.y());
}
if (mMouseOverHandle == &mTLHandle || mMouseOverHandle == &mLHandle
|| mMouseOverHandle == &mBLHandle) // dragging one of the left handles
{
r.setLeft(r.left() + offset.x());
}
if (mMouseOverHandle == &mBLHandle || mMouseOverHandle == &mBHandle
|| mMouseOverHandle == &mBRHandle) // dragging one of the bottom handles
{
r.setBottom(r.bottom() + offset.y());
}
if (mMouseOverHandle == &mTRHandle || mMouseOverHandle == &mRHandle
|| mMouseOverHandle == &mBRHandle) // dragging one of the right handles
{
r.setRight(r.right() + offset.x());
}
r = r.normalized();
r.setTopLeft(limitPointToRect(r.topLeft(), rect()));
r.setBottomRight(limitPointToRect(r.bottomRight(), rect()));
mSelection = r;
}
if (qApp->keyboardModifiers() & Qt::ControlModifier)
{
// The lazy 1:1 aspect ratio approach!
mSelection.setHeight(mSelection.width());
}
if (mAcceptWidget) {
QPoint acceptPos = e->pos();
QRect acceptRect = QRect(acceptPos, QSize(120, 70));
- if ((acceptPos.x()+120) > mScreenshot->pixmap().rect().width())
- acceptPos.setX(acceptPos.x()-120);
-
- if ((acceptPos.y()+70) > mScreenshot->pixmap().rect().height())
- acceptPos.setY(acceptPos.y()-70);
-
// Prevent the widget from overlapping the handles
if (acceptRect.intersects(mTLHandle)) {
acceptPos = mTLHandle.bottomRight() + QPoint(2, 2); // Corner case
}
if (acceptRect.intersects(mBRHandle)) {
acceptPos = mBRHandle.bottomRight();
}
if (acceptRect.intersects(mBHandle)) {
acceptPos = mBHandle.bottomRight();
}
if (acceptRect.intersects(mRHandle)) {
acceptPos = mRHandle.topRight();
}
+ if (acceptRect.intersects(mTHandle)) {
+ acceptPos = mTHandle.bottomRight();
+ }
+
+ if ((acceptPos.x()+120) > mScreenshot->pixmap().rect().width())
+ acceptPos.setX(acceptPos.x()-120);
+
+ if ((acceptPos.y()+70) > mScreenshot->pixmap().rect().height())
+ acceptPos.setY(acceptPos.y()-70);
+
mAcceptWidget->move(acceptPos);
}
update();
}
else
{
if (mSelection.isNull()) {
mMouseMagnifier = true;
update();
return;
}
bool found = false;
foreach(QRect* r, mHandles) {
-
if (r->contains(e->pos())) {
mMouseOverHandle = r;
found = true;
break;
}
-
}
if (!found) {
mMouseOverHandle = 0;
if (mSelection.contains(e->pos()))
setCursor(Qt::OpenHandCursor);
else if (mAcceptWidget && QRect(mAcceptWidget->mapToParent(mAcceptWidget->pos()), QSize(100, 60)).contains(e->pos()))
setCursor(Qt::PointingHandCursor);
else
setCursor(Qt::CrossCursor);
}
else {
if (mMouseOverHandle == &mTLHandle || mMouseOverHandle == &mBRHandle)
setCursor(Qt::SizeFDiagCursor);
if (mMouseOverHandle == &mTRHandle || mMouseOverHandle == &mBLHandle)
setCursor(Qt::SizeBDiagCursor);
if (mMouseOverHandle == &mLHandle || mMouseOverHandle == &mRHandle)
setCursor(Qt::SizeHorCursor);
if (mMouseOverHandle == &mTHandle || mMouseOverHandle == &mBHandle)
setCursor(Qt::SizeVerCursor);
}
}
}
void AreaDialog::mousePressEvent(QMouseEvent* e)
{
mShowHelp = false;
mIdleTimer.stop();
if (mAcceptWidget)
mAcceptWidget->hide();
if (e->button() == Qt::LeftButton) {
mMouseDown = true;
mDragStartPoint = e->pos();
mSelectionBeforeDrag = mSelection;
if (!mSelection.contains(e->pos())) {
mNewSelection = true;
mSelection = QRect();
mShowHelp = true;
setCursor(Qt::CrossCursor);
}
else {
setCursor(Qt::ClosedHandCursor);
}
}
else if (e->button() == Qt::RightButton
|| e->button() == Qt::MidButton)
{
cancel();
}
update();
}
void AreaDialog::mouseReleaseEvent(QMouseEvent* e)
{
if (mAutoclose)
grabRect();
if (!mSelection.isNull() && mAcceptWidget)
mAcceptWidget->show();
mMouseDown = false;
mNewSelection = false;
mIdleTimer.start();
if (mMouseOverHandle == 0 && mSelection.contains(e->pos()))
setCursor(Qt::OpenHandCursor);
update();
}
void AreaDialog::paintEvent(QPaintEvent* e)
{
Q_UNUSED(e);
if (mGrabbing) // grabWindow() should just get the background
return;
QPainter painter(this);
QPalette pal = palette();
QFont font = QToolTip::font();
QColor handleColor(25, 115, 240, 180);
QColor overlayColor(0, 0, 0, mOverlayAlpha);
QColor textColor = pal.color(QPalette::Active, QPalette::Text);
QColor textBackgroundColor = pal.color(QPalette::Active, QPalette::Base);
painter.drawPixmap(0, 0, mScreenshot->pixmap());
painter.setFont(font);
QRect r = mSelection.normalized().adjusted(0, 0, -1, -1);
QRegion grey(rect());
grey = grey.subtracted(r);
painter.setPen(handleColor);
painter.setBrush(overlayColor);
painter.setClipRegion(grey);
painter.drawRect(-1, -1, rect().width() + 1, rect().height() + 1);
painter.setClipRect(rect());
painter.setBrush(Qt::NoBrush);
painter.drawRect(r);
if (mShowHelp) {
//Drawing the explanatory text.
QRect helpRect = qApp->desktop()->screenGeometry(qApp->desktop()->primaryScreen());
QString helpTxt = tr("Lightscreen area mode:\nUse your mouse to draw a rectangle to capture.\nPress any key or right click to exit.");
helpRect.setHeight(qRound(helpRect.height() / 10)); // We get a decently sized rect where the text should be drawn (centered)
// We draw the white contrasting background for the text, using the same text and options to get the boundingRect that the text will have.
painter.setPen(QPen(Qt::white));
painter.setBrush(QBrush(QColor(255, 255, 255, 180), Qt::SolidPattern));
QRectF bRect = painter.boundingRect(helpRect, Qt::AlignCenter, helpTxt);
// These four calls provide padding for the rect
bRect.setWidth(bRect.width() + 12);
bRect.setHeight(bRect.height() + 10);
bRect.setX(bRect.x() - 12);
bRect.setY(bRect.y() - 10);
painter.drawRoundedRect(bRect, 8, 8);
// Draw the text:
painter.setPen(QPen(Qt::black));
painter.drawText(helpRect, Qt::AlignCenter, helpTxt);
}
if (!mSelection.isNull()) {
// The grabbed region is everything which is covered by the drawn
// rectangles (border included). This means that there is no 0px
// selection, since a 0px wide rectangle will always be drawn as a line.
QString txt = QString("%1x%2").arg(mSelection.width() == 0 ? 2 : mSelection.width())
.arg(mSelection.height() == 0 ? 2 : mSelection.height());
QRect textRect = painter.boundingRect(rect(), Qt::AlignLeft, txt);
QRect boundingRect = textRect.adjusted(-4, 0, 0, 0);
if (textRect.width() < r.width() - 2*mHandleSize &&
textRect.height() < r.height() - 2*mHandleSize &&
(r.width() > 100 && r.height() > 100)) // center, unsuitable for small selections
{
boundingRect.moveCenter(r.center());
textRect.moveCenter(r.center());
}
else if (r.y() - 3 > textRect.height() &&
r.x() + textRect.width() < rect().right()) // on top, left aligned
{
boundingRect.moveBottomLeft(QPoint(r.x(), r.y() - 3));
textRect.moveBottomLeft(QPoint(r.x() + 2, r.y() - 3));
}
else if (r.x() - 3 > textRect.width()) // left, top aligned
{
boundingRect.moveTopRight(QPoint(r.x() - 3, r.y()));
textRect.moveTopRight(QPoint(r.x() - 5, r.y()));
}
else if (r.bottom() + 3 + textRect.height() < rect().bottom() &&
r.right() > textRect.width()) // at bottom, right aligned
{
boundingRect.moveTopRight(QPoint(r.right(), r.bottom() + 3));
textRect.moveTopRight(QPoint(r.right() - 2, r.bottom() + 3));
}
else if (r.right() + textRect.width() + 3 < rect().width()) // right, bottom aligned
{
boundingRect.moveBottomLeft(QPoint(r.right() + 3, r.bottom()));
textRect.moveBottomLeft(QPoint(r.right() + 5, r.bottom()));
}
// if the above didn't catch it, you are running on a very tiny screen...
painter.setPen(textColor);
painter.setBrush(textBackgroundColor);
painter.drawRect(boundingRect);
painter.drawText(textRect, txt);
if ((r.height() > mHandleSize*2 && r.width() > mHandleSize*2)
|| !mMouseDown)
{
updateHandles();
painter.setPen(handleColor);
handleColor.setAlpha(80);
painter.setBrush(handleColor);
painter.drawRects(handleMask().rects());
}
}
if (!mScreenshot->options().magnify)
return;
// Drawing the magnified version
QPoint magStart, magEnd, drawPosition;
QRect newRect;
QRect pixmapRect = mScreenshot->pixmap().rect();
if (mMouseMagnifier) {
drawPosition = QCursor::pos() - QPoint(100, 100);
magStart = QCursor::pos() - QPoint(50, 50);
magEnd = QCursor::pos() + QPoint(50, 50);
newRect = QRect(magStart, magEnd);
}
else {
// So pretty.. oh so pretty.
if (mMouseOverHandle == &mTLHandle)
magStart = mSelection.topLeft();
else if (mMouseOverHandle == &mTRHandle)
magStart = mSelection.topRight();
else if (mMouseOverHandle == &mBLHandle)
magStart = mSelection.bottomLeft();
else if (mMouseOverHandle == &mBRHandle)
magStart = mSelection.bottomRight();
else if (mMouseOverHandle == &mLHandle)
magStart = QPoint(mSelection.left(), mSelection.center().y());
else if (mMouseOverHandle == &mTHandle)
magStart = QPoint(mSelection.center().x(), mSelection.top());
else if (mMouseOverHandle == &mRHandle)
magStart = QPoint(mSelection.right(), mSelection.center().y());
else if (mMouseOverHandle == &mBHandle)
magStart = QPoint(mSelection.center().x(), mSelection.bottom());
else if (mMouseOverHandle == 0)
magStart = QCursor::pos();
magEnd = magStart;
drawPosition = mSelection.bottomRight();
magStart -= QPoint(50, 50);
magEnd += QPoint(50, 50);
newRect = QRect(magStart, magEnd);
if ((drawPosition.x()+newRect.width()*2) > pixmapRect.width())
drawPosition.setX(drawPosition.x()-newRect.width()*2);
if ((drawPosition.y()+newRect.height()*2) > pixmapRect.height())
drawPosition.setY(drawPosition.y()-newRect.height()*2);
if (drawPosition.y() == mSelection.bottomRight().y()-newRect.height()*2
&& drawPosition.x() == mSelection.bottomRight().x()-newRect.width()*2)
painter.setOpacity(0.7);
}
if (!pixmapRect.contains(newRect, true) || drawPosition.x() <= 0 || drawPosition.y() <= 0) {
return;
}
QPixmap magnified = mScreenshot->pixmap().copy(newRect).scaled(QSize(newRect.width()*2, newRect.height()*2));
QPainter magPainter(&magnified);
magPainter.setPen(QPen(QBrush(QColor(25, 115, 240)), 2)); // Same border pen
magPainter.drawRect(magnified.rect());
if (!mMouseMagnifier) {
magPainter.drawText(magnified.rect().center()-QPoint(4, -4), "+"); //Center minus the 4 pixels wide and across of the "+" -- TODO: Test alternative DPI settings.
}
painter.drawPixmap(drawPosition, magnified);
}
void AreaDialog::resizeEvent(QResizeEvent* e)
{
Q_UNUSED(e);
if (mSelection.isNull())
return;
QRect r = mSelection;
r.setTopLeft(limitPointToRect(r.topLeft(), rect()));
r.setBottomRight(limitPointToRect(r.bottomRight(), rect()));
if (r.width() <= 1 || r.height() <= 1) //this just results in ugly drawing...
r = QRect();
mSelection = r;
}
void AreaDialog::showEvent(QShowEvent* e)
{
Q_UNUSED(e)
QRect geometry = qApp->desktop()->geometry();
if (mScreenshot->options().currentMonitor) {
geometry = qApp->desktop()->screenGeometry(qApp->desktop()->screenNumber(QCursor::pos()));
}
resize(geometry.size());
move(geometry.topLeft());
if (mScreenshot->options().animations) {
os::effect(this, SLOT(animationTick(int)), 85, 300);
}
else {
animationTick(85);
}
setMouseTracking(true);
}
void AreaDialog::updateHandles()
{
QRect r = mSelection.normalized().adjusted(0, 0, -1, -1);
int s2 = mHandleSize / 2;
mTLHandle.moveTopLeft(r.topLeft());
mTRHandle.moveTopRight(r.topRight());
mBLHandle.moveBottomLeft(r.bottomLeft());
mBRHandle.moveBottomRight(r.bottomRight());
mLHandle.moveTopLeft(QPoint(r.x(), r.y() + r.height() / 2 - s2));
mTHandle.moveTopLeft(QPoint(r.x() + r.width() / 2 - s2, r.y()));
mRHandle.moveTopRight(QPoint(r.right(), r.y() + r.height() / 2 - s2));
mBHandle.moveBottomLeft(QPoint(r.x() + r.width() / 2 - s2, r.bottom()));
}
QRegion AreaDialog::handleMask() const
{
// note: not normalized QRects are bad here, since they will not be drawn
QRegion mask;
foreach(QRect* rect, mHandles) mask += QRegion(*rect);
return mask;
}
QPoint AreaDialog::limitPointToRect(const QPoint &p, const QRect &r) const
{
QPoint q;
q.setX(p.x() < r.x() ? r.x() : p.x() < r.right() ? p.x() : r.right());
q.setY(p.y() < r.y() ? r.y() : p.y() < r.bottom() ? p.y() : r.bottom());
return q;
}
diff --git a/dialogs/historydialog.cpp b/dialogs/historydialog.cpp
index 93251d6..566200f 100644
--- a/dialogs/historydialog.cpp
+++ b/dialogs/historydialog.cpp
@@ -1,221 +1,244 @@
#include "historydialog.h"
#include "ui_historydialog.h"
#include "../tools/os.h"
#include "../tools/qxtcsvmodel.h"
#include "../tools/uploader.h"
#include "../tools/screenshotmanager.h"
#include <QClipboard>
#include <QDesktopServices>
#include <QDir>
#include <QFile>
#include <QFileInfo>
#include <QFileSystemWatcher>
#include <QMenu>
#include <QMessageBox>
#include <QSortFilterProxyModel>
#include <QUrl>
#include <QDebug>
HistoryDialog::HistoryDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::HistoryDialog)
{
- ui->setupUi(this);
+ ui->setupUi(this);
- if (os::aeroGlass(this)) {
- layout()->setMargin(2);
- }
+ if (os::aeroGlass(this)) {
+ layout()->setMargin(2);
+ }
- ui->filterEdit->setText(tr("Filter.."));
- ui->filterEdit->installEventFilter(this);
+ ui->filterEdit->setText(tr("Filter.."));
+ ui->filterEdit->installEventFilter(this);
- QFile historyFile(ScreenshotManager::instance()->historyPath());
+ QFile historyFile(ScreenshotManager::instance()->historyPath());
- if (!historyFile.exists())
- {
- ui->tableView->setEnabled(false);
- return;
- }
+ if (!historyFile.exists())
+ {
+ ui->tableView->setEnabled(false);
+ return;
+ }
- QFileSystemWatcher *watcher = new QFileSystemWatcher(QStringList() << historyFile.fileName(), this);
- connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(reloadHistory()));
+ QFileSystemWatcher *watcher = new QFileSystemWatcher(QStringList() << historyFile.fileName(), this);
+ connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(reloadHistory()));
- reloadHistory();
+ reloadHistory();
- ui->tableView->setTextElideMode(Qt::ElideLeft);
- ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
- ui->tableView->setAlternatingRowColors(true);
- ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
- ui->tableView->setContextMenuPolicy(Qt::CustomContextMenu);
- ui->tableView->setSortingEnabled(true);
+ ui->uploadProgressBar->setValue (Uploader::instance()->progressSent());
- if (ui->tableView->model()->rowCount() > 0)
- {
- ui->clearButton->setEnabled(true);
- ui->filterEdit->setEnabled(true);
- }
+ if (Uploader::instance()->progressTotal() == 0) {
+ ui->uploadProgressBar->setMaximum(1);
+ }
+ else {
+ ui->uploadProgressBar->setMaximum(Uploader::instance()->progressTotal());
+ }
+
+ ui->tableView->setTextElideMode(Qt::ElideLeft);
+ ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
+ ui->tableView->setAlternatingRowColors(true);
+ ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
+ ui->tableView->setContextMenuPolicy(Qt::CustomContextMenu);
+ ui->tableView->setSortingEnabled(true);
+
+ if (ui->tableView->model()->rowCount() > 0)
+ {
+ ui->clearButton->setEnabled(true);
+ ui->filterEdit->setEnabled(true);
+ }
- connect(ui->uploadButton, SIGNAL(clicked()), this, SLOT(upload()));
- connect(ui->clearButton , SIGNAL(clicked()), this, SLOT(clear()));
- connect(ui->tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectionChanged(QItemSelection,QItemSelection)));
- connect(ui->tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(open(QModelIndex)));
- connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenu(QPoint)));
+ connect(Uploader::instance(), SIGNAL(progress(qint64,qint64)), this, SLOT(uploadProgress(qint64, qint64)));
+ connect(ui->uploadButton, SIGNAL(clicked()), this, SLOT(upload()));
+ connect(ui->clearButton , SIGNAL(clicked()), this, SLOT(clear()));
+ connect(ui->tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectionChanged(QItemSelection,QItemSelection)));
+ connect(ui->tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(open(QModelIndex)));
+ connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenu(QPoint)));
}
HistoryDialog::~HistoryDialog()
{
- delete ui;
+ delete ui;
}
void HistoryDialog::clear()
{
if (QMessageBox::question(this,
tr("Clearing the screenshot history"),
tr("Are you sure you want to clear your entire screenshot history?\nThis cannot be undone."),
tr("Clear History"),
tr("Don't Clear")) == 1) {
return;
}
QFile::remove(ScreenshotManager::instance()->historyPath());
close();
}
void HistoryDialog::contextMenu(QPoint point)
{
mContextIndex = ui->tableView->indexAt(point);;
QMenu contextMenu(ui->tableView);
QAction copyAction((mContextIndex.column() == 0) ? tr("Copy Path") : tr("Copy URL"), &contextMenu);
connect(&copyAction, SIGNAL(triggered()), this, SLOT(copy()));
contextMenu.addAction(&copyAction);
QAction locationAction(tr("Open Location"), &contextMenu);
if (mContextIndex.column() == 0)
{
connect(&locationAction, SIGNAL(triggered()), this, SLOT(location()));
contextMenu.addAction(&locationAction);
}
else if (mContextIndex.data().toString() == QObject::tr("- not uploaded -")) {
copyAction.setEnabled(false);
}
contextMenu.exec(QCursor::pos());
}
void HistoryDialog::copy()
{
qApp->clipboard()->setText(mContextIndex.data().toString());
}
void HistoryDialog::location()
{
QDesktopServices::openUrl("file:///" + QFileInfo(mContextIndex.data().toString()).absolutePath());
}
void HistoryDialog::open(QModelIndex index)
{
if (index.column() == 0) {
QDesktopServices::openUrl(QUrl("file:///" + index.data().toString()));
}
else {
QDesktopServices::openUrl(index.data().toUrl());
}
}
void HistoryDialog::reloadHistory()
{
if (ui->tableView->model()) {
- ui->tableView->model()->deleteLater();
+ // Double cast all the way across the sky!
+ QxtCsvModel* csv = qobject_cast<QxtCsvModel*>(qobject_cast<QSortFilterProxyModel*>(ui->tableView->model())->sourceModel());
+ csv->setSource(ScreenshotManager::instance()->historyPath(), false, '|');
+ return;
}
QFile historyFile(ScreenshotManager::instance()->historyPath());
QxtCsvModel *model = new QxtCsvModel(&historyFile, this, false, '|');
model->setHeaderData(QStringList() << tr("Screenshot") << tr("URL"));
mFilterModel = new QSortFilterProxyModel(model);
mFilterModel->setSourceModel(model);
mFilterModel->setDynamicSortFilter(true);
+ mFilterModel->setSortCaseSensitivity(Qt::CaseInsensitive);
+ mFilterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
+ mFilterModel->setFilterKeyColumn(-1);
ui->tableView->setModel(mFilterModel);
ui->tableView->hideColumn(2); // No timestamp.
ui->tableView->horizontalHeader()->setClickable(false);
ui->tableView->horizontalHeader()->setMovable(false);
ui->tableView->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
ui->tableView->horizontalHeader()->setResizeMode(1, QHeaderView::ResizeToContents);
ui->tableView->verticalHeader()->hide();
}
void HistoryDialog::selectionChanged(QItemSelection selected, QItemSelection deselected)
{
Q_UNUSED(deselected);
QModelIndex index = selected.indexes().at(0);
QString screenshot, url;
if (index.column() == 0) {
screenshot = index.data().toString();
url = ui->tableView->model()->index(index.row(), 1).data().toString();
}
else {
screenshot = ui->tableView->model()->index(index.row(), 0).data().toString();
url = index.data().toString();
}
mSelectedScreenshot = screenshot;
ui->uploadButton->setEnabled((url == QObject::tr("- not uploaded -") && QFile::exists(screenshot)));
}
-
void HistoryDialog::upload()
{
Uploader::instance()->upload(mSelectedScreenshot);
ui->uploadButton->setEnabled(false);
}
+void HistoryDialog::uploadProgress(qint64 sent, qint64 total)
+{
+ ui->uploadProgressBar->setEnabled(true);
+
+ ui->uploadProgressBar->setMaximum(total);
+ ui->uploadProgressBar->setValue(sent);
+}
+
bool HistoryDialog::eventFilter(QObject *object, QEvent *event)
{
if (object == ui->filterEdit) {
if (event->type() == QEvent::FocusIn)
{
if (ui->filterEdit->text() == tr("Filter..")) {
ui->filterEdit->setStyleSheet("");
ui->filterEdit->setText("");
mFilterModel->setFilterWildcard("");
mFilterModel->sort(2, Qt::DescendingOrder);
}
}
else if (event->type() == QEvent::FocusOut)
{
if (ui->filterEdit->text() == "") {
ui->filterEdit->setStyleSheet("color: palette(mid);");
ui->filterEdit->setText(tr("Filter.."));
mFilterModel->sort(2, Qt::DescendingOrder);
}
}
else if (event->type() == QEvent::KeyRelease)
{
if (ui->filterEdit->text() != tr("Filter..") && !ui->filterEdit->text().isEmpty()) {
mFilterModel->setFilterWildcard(ui->filterEdit->text());
mFilterModel->sort(2, Qt::DescendingOrder);
}
else {
mFilterModel->setFilterWildcard("");
mFilterModel->sort(2, Qt::DescendingOrder);
}
}
}
return QDialog::eventFilter(object, event);
}
diff --git a/dialogs/historydialog.h b/dialogs/historydialog.h
index f1792ca..4ae6ad7 100644
--- a/dialogs/historydialog.h
+++ b/dialogs/historydialog.h
@@ -1,40 +1,41 @@
#ifndef UPLOADDIALOG_H
#define UPLOADDIALOG_H
#include <QDialog>
#include <QItemSelection>
namespace Ui {
class HistoryDialog;
}
class QSortFilterProxyModel;
class HistoryDialog : public QDialog
{
Q_OBJECT
public:
explicit HistoryDialog(QWidget *parent = 0);
~HistoryDialog();
private slots:
void clear();
void contextMenu(QPoint point);
void copy();
void location();
void open(QModelIndex index);
void reloadHistory();
void selectionChanged(QItemSelection selected, QItemSelection deselected);
void upload();
+ void uploadProgress(qint64 sent, qint64 total);
protected:
bool eventFilter(QObject *object, QEvent *event);
private:
Ui::HistoryDialog *ui;
QSortFilterProxyModel *mFilterModel;
QString mSelectedScreenshot;
QModelIndex mContextIndex;
};
#endif // UPLOADDIALOG_H
diff --git a/dialogs/historydialog.ui b/dialogs/historydialog.ui
index c7a9032..2287371 100644
--- a/dialogs/historydialog.ui
+++ b/dialogs/historydialog.ui
@@ -1,116 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>HistoryDialog</class>
<widget class="QDialog" name="HistoryDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>327</width>
<height>252</height>
</rect>
</property>
<property name="windowTitle">
<string>Screenshot History</string>
</property>
<property name="windowIcon">
<iconset resource="../lightscreen.qrc">
<normaloff>:/icons/view-history</normaloff>:/icons/view-history</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="QLineEdit" name="filterEdit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="whatsThis">
<string>Type here to filter through the screenshots in the list.</string>
</property>
<property name="styleSheet">
<string notr="true">color: palette(mid);</string>
</property>
</widget>
</item>
<item>
<widget class="QTableView" name="tableView">
<property name="whatsThis">
<string>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</string>
</property>
</widget>
</item>
+ <item>
+ <widget class="QProgressBar" name="uploadProgressBar">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="clearButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Clear</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="uploadButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Upload</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="closeButton">
<property name="text">
<string>Close</string>
</property>
<property name="default">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources>
<include location="../lightscreen.qrc"/>
</resources>
<connections>
<connection>
<sender>closeButton</sender>
<signal>clicked()</signal>
<receiver>HistoryDialog</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>279</x>
<y>230</y>
</hint>
<hint type="destinationlabel">
<x>163</x>
<y>125</y>
</hint>
</hints>
</connection>
</connections>
</ui>
diff --git a/dialogs/namingdialog.cpp b/dialogs/namingdialog.cpp
index e293d5a..9056191 100644
--- a/dialogs/namingdialog.cpp
+++ b/dialogs/namingdialog.cpp
@@ -1,98 +1,98 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include "namingdialog.h"
#include "../tools/screenshot.h"
#include "../tools/os.h"
#include "../tools/screenshotmanager.h"
#include <QDesktopServices>
#include <QKeyEvent>
#include <QSettings>
#include <QUrl>
NamingDialog::NamingDialog(Screenshot::Naming naming,QWidget *parent) :
QDialog(parent)
{
ui.setupUi(this);
setModal(true);
setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);
ui.dateFormatComboBox->installEventFilter(this);
// Aero
if (os::aeroGlass(this)) {
ui.container->setStyleSheet("#container { background: palette(light); border: 1px solid palette(dark); border-radius: 4px; }");
ui.container->setWindowOpacity(0.5);
layout()->setMargin(2);
}
// Settings
QSettings *s = ScreenshotManager::instance()->settings();
ui.flipNamingCheckBox->setChecked(s->value("options/flip", false).toBool());
ui.dateFormatComboBox->setCurrentIndex(
ui.dateFormatComboBox->findText(s->value("options/naming/dateFormat", "yyyy-MM-dd").toString())
);
if (ui.dateFormatComboBox->currentIndex() == -1) {
ui.dateFormatComboBox->addItem(s->value("options/naming/dateFormat", "yyyy-MM-dd").toString());
ui.dateFormatComboBox->setCurrentIndex(ui.dateFormatComboBox->count()-1);
}
ui.leadingZerosSpinBox->setValue(s->value("options/naming/leadingZeros", 0).toInt());
// Signals/Slots
- connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(saveSettings()));
+ connect(ui.buttonBox , SIGNAL(accepted()), this, SLOT(saveSettings()));
connect(ui.dateHelpLabel, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString)));
// Stack & window size adjustments
ui.stack->setCurrentIndex((int)naming);
ui.stack->currentWidget()->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
resize(minimumSizeHint());
}
void NamingDialog::openUrl(QString url)
{
QDesktopServices::openUrl(QUrl(url));
}
void NamingDialog::saveSettings()
{
QSettings *s = ScreenshotManager::instance()->settings();
s->setValue("options/flip" , ui.flipNamingCheckBox->isChecked());
s->setValue("options/naming/dateFormat" , ui.dateFormatComboBox->currentText());
s->setValue("options/naming/leadingZeros", ui.leadingZerosSpinBox->value());
}
bool NamingDialog::eventFilter(QObject *object, QEvent *event)
{
if (event->type() == QEvent::KeyPress
&& object == ui.dateFormatComboBox)
{
QKeyEvent *keyEvent = (QKeyEvent*)(event);
if (QRegExp("[?:\\\\/*\"<>|]").exactMatch(keyEvent->text())) {
event->ignore();
return true;
}
}
return QDialog::eventFilter(object, event);
}
diff --git a/dialogs/optionsdialog.cpp b/dialogs/optionsdialog.cpp
index a9fe728..d90e458 100644
--- a/dialogs/optionsdialog.cpp
+++ b/dialogs/optionsdialog.cpp
@@ -1,725 +1,725 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <QCompleter>
#include <QDate>
#include <QDesktopServices>
#include <QDesktopWidget>
#include <QDirModel>
#include <QFileDialog>
#include <QKeyEvent>
#include <QMessageBox>
#include <QProcess>
#include <QSettings>
#include <QTimer>
#include <QUrl>
#include <QDebug>
#ifdef Q_WS_WIN
#include <windows.h>
#endif
#include "optionsdialog.h"
#include "namingdialog.h"
#include "historydialog.h"
#include "../tools/os.h"
#include "../tools/screenshot.h"
#include "../tools/screenshotmanager.h"
#include "../updater/updater.h"
OptionsDialog::OptionsDialog(QWidget *parent) :
QDialog(parent)
{
ui.setupUi(this);
setModal(true);
if (os::aeroGlass(this)) {
layout()->setMargin(2);
resize(minimumSizeHint());
}
#if defined(Q_WS_X11)
// KDE-specific style tweaks.
if (qApp->style()->objectName() == "oxygen") {
ui.browsePushButton->setMaximumWidth(30);
ui.namingOptionsButton->setMaximumWidth(30);
ui.fileGroupBox->setFlat(false);
ui.startupGroupBox->setFlat(false);
ui.capturesGroupBox->setFlat(false);
ui.controlGroupBox->setFlat(false);
ui.interfaceGroupBox->setFlat(false);
ui.screenshotsGroupBox->setFlat(false);
ui.previewGroupBox->setFlat(false);
ui.updaterGroupBox->setFlat(false);
ui.optionsTab->layout()->setContentsMargins(0, 0, 6, 0);
ui.aboutTab->layout()->setMargin(8);
}
#endif
QTimer::singleShot(0, this, SLOT(init()));
QTimer::singleShot(1, this, SLOT(loadSettings()));
}
void OptionsDialog::accepted()
{
if (hotkeyCollision()) {
QMessageBox::critical(this, tr("Hotkey conflict"), tr("You have assigned the same hotkeys to more than one action."));
return;
}
if (ui.prefixLineEdit->text().contains(QRegExp("[?:\\\\/*\"<>|]"))) {
QMessageBox::critical(this, tr("Filename character error"), tr("The filename can't contain any of the following characters: ? : \\ / * \" < > |"));
return;
}
if (!ui.fileGroupBox->isChecked() && !ui.clipboardCheckBox->isChecked()) {
QMessageBox::critical(this, tr("Final Destination"), tr("You can't take screenshots unless you enable either file saving or the clipboard."));
return;
}
saveSettings();
accept();
}
void OptionsDialog::checkUpdatesNow()
{
Updater::instance()->checkWithFeedback();
}
void OptionsDialog::languageChange(QString language)
{
os::translate(language);
}
void OptionsDialog::loadSettings()
{
settings()->sync();
os::translate(settings()->value("options/language").toString()); // Why? Don't ask me, I'm just the programmer.
+ setUpdatesEnabled(false);
+
if (!settings()->contains("file/format")) {
// If there are no settings, get rid of the cancel button so that the user is forced to save them
ui.buttonBox->clear();
ui.buttonBox->addButton(QDialogButtonBox::Ok);
-
- // Move the first option window to the center of the screen, since Windows usually positions it in a random location since it has no visible parent.
- if (!(static_cast<QWidget*>(parent())->isVisible()))
- move(qApp->desktop()->screen(qApp->desktop()->primaryScreen())->rect().center()-QPoint(height()/2, width()/2));
}
ui.startupCheckBox->toggle();
ui.trayCheckBox->toggle();
ui.previewAutocloseCheckBox->toggle();
QString targetDefault;
if (ScreenshotManager::instance()->portableMode()) {
targetDefault = tr("Screenshots");
}
else {
targetDefault = os::getDocumentsPath() + QDir::separator() + tr("Screenshots");
}
settings()->beginGroup("file");
ui.formatComboBox->setCurrentIndex(settings()->value("format", 1).toInt());
ui.prefixLineEdit->setText(settings()->value("prefix", tr("screenshot.")).toString());
ui.namingComboBox->setCurrentIndex(settings()->value("naming", 0).toInt());
ui.targetLineEdit->setText(settings()->value("target", targetDefault).toString());
ui.fileGroupBox->setChecked(settings()->value("enabled", true).toBool());
settings()->endGroup();
settings()->beginGroup("options");
ui.startupCheckBox->setChecked(settings()->value("startup", false).toBool());
ui.startupHideCheckBox->setChecked(settings()->value("startupHide", true).toBool());
ui.hideCheckBox->setChecked(settings()->value("hide", true).toBool());
ui.delaySpinBox->setValue(settings()->value("delay", 0).toInt());
flipToggled(settings()->value("flip", false).toBool());
ui.trayCheckBox->setChecked(settings()->value("tray", true).toBool());
ui.messageCheckBox->setChecked(settings()->value("message", true).toBool());
ui.qualitySlider->setValue(settings()->value("quality", 100).toInt());
ui.playSoundCheckBox->setChecked(settings()->value("playSound", false).toBool());
ui.updaterCheckBox->setChecked(!settings()->value("disableUpdater", false).toBool());
- ui.magnifyCheckBox->setChecked(settings()->value("magnify", true).toBool());
+ ui.magnifyCheckBox->setChecked(settings()->value("magnify", false).toBool());
ui.cursorCheckBox->setChecked(settings()->value("cursor", false).toBool());
ui.saveAsCheckBox->setChecked(settings()->value("saveAs", false).toBool());
ui.previewGroupBox->setChecked(settings()->value("preview", false).toBool());
ui.previewSizeSpinBox->setValue(settings()->value("previewSize", 300).toInt());
ui.previewPositionComboBox->setCurrentIndex(settings()->value("previewPosition", 3).toInt());
ui.previewAutocloseCheckBox->setChecked(settings()->value("previewAutoclose", false).toBool());
ui.previewAutocloseTimeSpinBox->setValue(settings()->value("previewAutocloseTime", 15).toInt());
ui.previewAutocloseActionComboBox->setCurrentIndex(settings()->value("previewAutocloseAction", 0).toInt());
ui.previewDefaultActionComboBox->setCurrentIndex(settings()->value("previewDefaultAction", 0).toInt());
ui.areaAutocloseCheckBox->setChecked(settings()->value("areaAutoclose", false).toBool());
ui.historyCheckBox->setChecked(settings()->value("history", true).toBool());
// Advanced
ui.clipboardCheckBox->setChecked(settings()->value("clipboard", true).toBool());
+ ui.imgurClipboardCheckBox->setChecked(settings()->value("imgurClipboard", false).toBool());
ui.optiPngCheckBox->setChecked(settings()->value("optipng", true).toBool());
ui.warnHideCheckBox->setChecked(!settings()->value("disableHideAlert", false).toBool());
ui.currentMonitorCheckBox->setChecked(settings()->value("currentMonitor", false).toBool());
ui.replaceCheckBox->setChecked(settings()->value("replace", false).toBool());
ui.uploadCheckBox->setChecked(settings()->value("uploadAuto", false).toBool());
#ifdef Q_WS_WIN
if (!QFile::exists(qApp->applicationDirPath() + QDir::separator() + "optipng.exe")) {
ui.optiPngCheckBox->setEnabled(false);
ui.optiPngLabel->setText("optipng.exe not found");
}
#elif defined(Q_WS_X11)
if (!QProcess::startDetached("optipng")) {
ui.optiPngCheckBox->setChecked(false);
ui.optiPngCheckBox->setEnabled(false);
ui.optiPngLabel->setText(tr("Install 'OptiPNG'"));
}
//TODO: Sound cue support on Linux
ui.playSoundCheckBox->setVisible(false);
ui.playSoundCheckBox->setChecked(false);
//TODO: Cursor support on X11
ui.cursorCheckBox->setVisible(false);
ui.cursorCheckBox->setChecked(false);
#endif
//TODO: Must replace with not-stupid system
QString lang = settings()->value("language").toString();
int index = ui.languageComboBox->findText(lang);
if (index == -1)
index = ui.languageComboBox->findText("English");
ui.languageComboBox->setCurrentIndex(index);
settings()->endGroup();
settings()->beginGroup("actions");
// This toggle is for the first run
ui.screenCheckBox->toggle();
ui.areaCheckBox->toggle();
ui.windowCheckBox->toggle();
ui.windowPickerCheckBox->toggle();
ui.openCheckBox->toggle();
ui.directoryCheckBox->toggle();
settings()->beginGroup("screen");
ui.screenCheckBox->setChecked(settings()->value("enabled", true).toBool());
ui.screenHotkeyWidget->setHotkey(settings()->value("hotkey", "Print").toString());
settings()->endGroup();
settings()->beginGroup("area");
ui.areaCheckBox->setChecked(settings()->value("enabled").toBool());
ui.areaHotkeyWidget->setHotkey(settings()->value("hotkey", "Ctrl+Print").toString());
settings()->endGroup();
settings()->beginGroup("window");
ui.windowCheckBox->setChecked(settings()->value("enabled").toBool());
- ui.windowHotkeyWidget->setHotkey(settings()->value("hotkey", "Alt + Print").toString());
+ ui.windowHotkeyWidget->setHotkey(settings()->value("hotkey", "Alt+Print").toString());
settings()->endGroup();
settings()->beginGroup("windowPicker");
ui.windowPickerCheckBox->setChecked(settings()->value("enabled").toBool());
- ui.windowPickerHotkeyWidget->setHotkey(settings()->value("hotkey", "Ctrl + Alt + Print").toString());
+ ui.windowPickerHotkeyWidget->setHotkey(settings()->value("hotkey", "Ctrl+Alt+Print").toString());
settings()->endGroup();
settings()->beginGroup("open");
ui.openCheckBox->setChecked(settings()->value("enabled").toBool());
- ui.openHotkeyWidget->setHotkey(settings()->value("hotkey", "Ctrl + PgUp").toString());
+ ui.openHotkeyWidget->setHotkey(settings()->value("hotkey", "Ctrl+PgUp").toString());
settings()->endGroup();
settings()->beginGroup("directory");
ui.directoryCheckBox->setChecked(settings()->value("enabled").toBool());
- ui.directoryHotkeyWidget->setHotkey(settings()->value("hotkey", "Ctrl + PgDown").toString());
+ ui.directoryHotkeyWidget->setHotkey(settings()->value("hotkey", "Ctrl+PgDown").toString());
settings()->endGroup();
settings()->endGroup();
QTimer::singleShot(0, this, SLOT(updatePreview()));
setEnabled(true);
setUpdatesEnabled(true);
}
void OptionsDialog::openUrl(QString url)
{
if (url == "#aboutqt") {
qApp->aboutQt();
}
else {
QDesktopServices::openUrl(QUrl(url));
}
}
void OptionsDialog::rejected()
{
languageChange(settings()->value("options/language").toString()); // Revert language to default.
}
void OptionsDialog::saveSettings()
{
settings()->beginGroup("file");
settings()->setValue("format", ui.formatComboBox->currentIndex());
settings()->setValue("prefix", ui.prefixLineEdit->text());
settings()->setValue("naming", ui.namingComboBox->currentIndex());
settings()->setValue("target", ui.targetLineEdit->text());
settings()->setValue("enabled", ui.fileGroupBox->isChecked());
settings()->endGroup();
settings()->beginGroup("options");
settings()->setValue("startup", ui.startupCheckBox->isChecked());
settings()->setValue("startupHide", ui.startupHideCheckBox->isChecked());
settings()->setValue("hide", ui.hideCheckBox->isChecked());
settings()->setValue("delay", ui.delaySpinBox->value());
settings()->setValue("tray", ui.trayCheckBox->isChecked());
settings()->setValue("message", ui.messageCheckBox->isChecked());
settings()->setValue("quality", ui.qualitySlider->value());
settings()->setValue("playSound", ui.playSoundCheckBox->isChecked());
// We save the explicit string because addition/removal of language files can cause it to change
settings()->setValue("language", ui.languageComboBox->currentText());
// This settings is inverted because the first iteration of the Updater did not have a settings but instead relied on the messagebox choice of the user.
settings()->setValue("disableUpdater", !ui.updaterCheckBox->isChecked());
settings()->setValue("magnify", ui.magnifyCheckBox->isChecked());
settings()->setValue("cursor", ui.cursorCheckBox->isChecked());
settings()->setValue("saveAs", ui.saveAsCheckBox->isChecked());
settings()->setValue("preview", ui.previewGroupBox->isChecked());
settings()->setValue("previewSize", ui.previewSizeSpinBox->value());
settings()->setValue("previewPosition", ui.previewPositionComboBox->currentIndex());
settings()->setValue("previewAutoclose", ui.previewAutocloseCheckBox->isChecked());
settings()->setValue("previewAutocloseTime", ui.previewAutocloseTimeSpinBox->value());
settings()->setValue("previewAutocloseAction", ui.previewAutocloseActionComboBox->currentIndex());
settings()->setValue("previewDefaultAction", ui.previewDefaultActionComboBox->currentIndex());
settings()->setValue("areaAutoclose", ui.areaAutocloseCheckBox->isChecked());
settings()->setValue("history", ui.historyCheckBox->isChecked());
// Advanced
settings()->setValue("disableHideAlert", !ui.warnHideCheckBox->isChecked());
settings()->setValue("clipboard", ui.clipboardCheckBox->isChecked());
+ settings()->setValue("imgurClipboard", ui.imgurClipboardCheckBox->isChecked());
settings()->setValue("optipng", ui.optiPngCheckBox->isChecked());
settings()->setValue("currentMonitor", ui.currentMonitorCheckBox->isChecked());
settings()->setValue("replace", ui.replaceCheckBox->isChecked());
//Upload
settings()->setValue("uploadAuto", ui.uploadCheckBox->isChecked());
settings()->endGroup();
settings()->beginGroup("actions");
settings()->beginGroup("screen");
settings()->setValue("enabled", ui.screenCheckBox->isChecked());
settings()->setValue("hotkey", ui.screenHotkeyWidget->hotkey());
settings()->endGroup();
settings()->beginGroup("area");
settings()->setValue("enabled", ui.areaCheckBox->isChecked());
settings()->setValue("hotkey", ui.areaHotkeyWidget->hotkey());
settings()->endGroup();
settings()->beginGroup("window");
settings()->setValue("enabled", ui.windowCheckBox->isChecked());
settings()->setValue("hotkey", ui.windowHotkeyWidget->hotkey());
settings()->endGroup();
settings()->beginGroup("windowPicker");
settings()->setValue("enabled", ui.windowPickerCheckBox->isChecked());
settings()->setValue("hotkey", ui.windowPickerHotkeyWidget->hotkey());
settings()->endGroup();
settings()->beginGroup("open");
settings()->setValue("enabled", ui.openCheckBox->isChecked());
settings()->setValue("hotkey", ui.openHotkeyWidget->hotkey());
settings()->endGroup();
settings()->beginGroup("directory");
settings()->setValue("enabled", ui.directoryCheckBox->isChecked());
settings()->setValue("hotkey", ui.directoryHotkeyWidget->hotkey());
settings()->endGroup();
settings()->endGroup();
}
void OptionsDialog::updatePreview()
{
Screenshot::NamingOptions options;
options.naming = (Screenshot::Naming)ui.namingComboBox->currentIndex();
- options.flip = settings()->value("options/flip").toBool();
- options.leadingZeros = settings()->value("options/naming/leadingZeros").toInt();
- options.dateFormat = settings()->value("options/naming/dateFormat").toString();
+ options.flip = settings()->value("options/flip", false).toBool();
+ options.leadingZeros = settings()->value("options/naming/leadingZeros", 0).toInt();
+ options.dateFormat = settings()->value("options/naming/dateFormat", "yyyy-MM-dd").toString();
ui.namingOptionsButton->setDisabled((options.naming == Screenshot::Empty));
QString preview = Screenshot::getName(options,
ui.prefixLineEdit->text(),
QDir(ui.targetLineEdit->text()));
preview = QString("%1.%2").arg(preview).arg(ui.formatComboBox->currentText().toLower());
if (preview.length() >= 40) {
preview.truncate(37);
preview.append("...");
}
ui.previewLabel->setText(preview);
}
void OptionsDialog::viewHistory()
{
HistoryDialog historyDialog(this);
historyDialog.exec();
}
//
bool OptionsDialog::event(QEvent* event)
{
if (event->type() == QEvent::LanguageChange) {
// ComboBoxes revert to the first index when translated:
int naming = ui.namingComboBox->currentIndex();
int format = ui.formatComboBox->currentIndex();
int previewPosition = ui.previewPositionComboBox->currentIndex();
int previewAutoclose = ui.previewAutocloseActionComboBox->currentIndex();
int previewDefault = ui.previewDefaultActionComboBox->currentIndex();
ui.retranslateUi(this);
// Restoring comboboxes
ui.namingComboBox->setCurrentIndex(naming);
ui.formatComboBox->setCurrentIndex(format);
ui.previewPositionComboBox->setCurrentIndex(previewPosition);
ui.previewAutocloseActionComboBox->setCurrentIndex(previewAutoclose);
ui.previewDefaultActionComboBox->setCurrentIndex(previewDefault);
updatePreview();
resize(minimumSizeHint());
}
else if (event->type() == QEvent::Close) {
if (!settings()->contains("file/format")) {
// I'm afraid I can't let you do that, Dave.
event->ignore();
return false;
}
}
return QDialog::event(event);
}
#ifdef Q_WS_WIN
// Qt does not send the print screen key as a regular QKeyPress event, so we must use the Windows API
bool OptionsDialog::winEvent(MSG *message, long *result)
{
if ((message->message == WM_KEYUP || message->message == WM_SYSKEYUP)
&& message->wParam == VK_SNAPSHOT) {
qApp->postEvent(qApp->focusWidget(), new QKeyEvent(QEvent::KeyPress, Qt::Key_Print, qApp->keyboardModifiers()));
}
return QDialog::winEvent(message, result);
}
#endif
//
void OptionsDialog::browse()
{
QString fileName = QFileDialog::getExistingDirectory(this,
tr("Select where you want to save the screenshots"),
ui.targetLineEdit->text());
if (fileName.isEmpty())
return;
ui.targetLineEdit->setText(fileName);
}
void OptionsDialog::dialogButtonClicked(QAbstractButton *button)
{
if (ui.buttonBox->buttonRole(button) == QDialogButtonBox::ResetRole) {
QMessageBox msgBox;
msgBox.setWindowTitle(tr("Lightscreen - Restore Default Options"));
msgBox.setText(tr("Restoring the default options will cause you to lose all of your current configuration."));
msgBox.setIcon(QMessageBox::Warning);
QPushButton *restoreButton = msgBox.addButton(tr("Restore"), QMessageBox::ActionRole);
QPushButton *dontRestoreButton = msgBox.addButton(tr("Don't Restore"), QMessageBox::ActionRole);
msgBox.setDefaultButton(dontRestoreButton);
msgBox.exec();
Q_UNUSED(restoreButton)
if (msgBox.clickedButton() == dontRestoreButton)
return;
QString language = settings()->value("options/language").toString(); // Only mantain language.
settings()->clear();
settings()->setValue("options/language", language);
loadSettings();
}
}
void OptionsDialog::flipToggled(bool checked)
{
setUpdatesEnabled(false);
ui.filenameLayout->removeWidget(ui.prefixLineEdit);
ui.filenameLayout->removeWidget(ui.namingComboBox);
if (checked) {
ui.filenameLayout->addWidget(ui.namingComboBox);
ui.filenameLayout->addWidget(ui.prefixLineEdit);
}
else {
ui.filenameLayout->addWidget(ui.prefixLineEdit);
ui.filenameLayout->addWidget(ui.namingComboBox);
}
if (ui.prefixLineEdit->text() == tr("screenshot.")
&& checked)
ui.prefixLineEdit->setText(tr(".screenshot"));
if (ui.prefixLineEdit->text() == tr(".screenshot")
&& !checked)
ui.prefixLineEdit->setText(tr("screenshot."));
setUpdatesEnabled(true); // Avoids flicker
}
void OptionsDialog::init()
{
// Make the scroll area share the Tab Widget background color
QPalette optionsPalette = ui.optionsScrollArea->palette();
optionsPalette.setColor(QPalette::Window, ui.tabWidget->palette().color(QPalette::Base));
ui.optionsScrollArea->setPalette(optionsPalette);
+
ui.buttonBox->addButton(new QPushButton(" " + tr("Restore Defaults") + " ", this), QDialogButtonBox::ResetRole);
// Set up the autocomplete for the directory.
QCompleter *completer = new QCompleter(this);
completer->setModel(new QDirModel(QStringList(), QDir::Dirs, QDir::Name, completer));
ui.targetLineEdit->setCompleter(completer);
// HotkeyWidget icons.
ui.screenHotkeyWidget->setIcon (QIcon(":/icons/screen"));
ui.windowHotkeyWidget->setIcon (QIcon(":/icons/window"));
ui.windowPickerHotkeyWidget->setIcon(QIcon(":/icons/picker"));
ui.areaHotkeyWidget->setIcon (QIcon(":/icons/area"));
ui.openHotkeyWidget->setIcon (QIcon(":/icons/lightscreen.small"));
ui.directoryHotkeyWidget->setIcon (QIcon(":/icons/folder"));
// Version
ui.versionLabel->setText(tr("Version %1").arg(qApp->applicationVersion()));
setEnabled(false); // We disable the widgets to prevent any user interaction until the settings have loaded.
- setUpdatesEnabled(false);
//
// Connections
//
connect(ui.buttonBox , SIGNAL(clicked(QAbstractButton*)), this , SLOT(dialogButtonClicked(QAbstractButton*)));
connect(ui.buttonBox , SIGNAL(accepted()) , this , SLOT(accepted()));
connect(ui.buttonBox , SIGNAL(rejected()) , this , SLOT(rejected()));
connect(ui.namingOptionsButton , SIGNAL(clicked()) , this , SLOT(namingOptions()));
connect(ui.prefixLineEdit , SIGNAL(textChanged(QString)) , this , SLOT(updatePreview()));
connect(ui.formatComboBox , SIGNAL(currentIndexChanged(int)) , this , SLOT(updatePreview()));
connect(ui.namingComboBox , SIGNAL(currentIndexChanged(int)) , this , SLOT(updatePreview()));
connect(ui.browsePushButton , SIGNAL(clicked()) , this , SLOT(browse()));
connect(ui.checkUpdatesPushButton , SIGNAL(clicked()) , this , SLOT(checkUpdatesNow()));
connect(ui.historyPushButton , SIGNAL(clicked()) , this , SLOT(viewHistory()));
connect(ui.screenCheckBox , SIGNAL(toggled(bool)), ui.screenHotkeyWidget , SLOT(setEnabled(bool)));
connect(ui.areaCheckBox , SIGNAL(toggled(bool)), ui.areaHotkeyWidget , SLOT(setEnabled(bool)));
connect(ui.windowCheckBox , SIGNAL(toggled(bool)), ui.windowHotkeyWidget , SLOT(setEnabled(bool)));
connect(ui.windowPickerCheckBox, SIGNAL(toggled(bool)), ui.windowPickerHotkeyWidget, SLOT(setEnabled(bool)));
connect(ui.openCheckBox , SIGNAL(toggled(bool)), ui.openHotkeyWidget , SLOT(setEnabled(bool)));
connect(ui.directoryCheckBox , SIGNAL(toggled(bool)), ui.directoryHotkeyWidget, SLOT(setEnabled(bool)));
// "Save as" disables the file target input field.
connect(ui.saveAsCheckBox , SIGNAL(toggled(bool)), ui.targetLineEdit , SLOT(setDisabled(bool)));
connect(ui.saveAsCheckBox , SIGNAL(toggled(bool)), ui.browsePushButton , SLOT(setDisabled(bool)));
connect(ui.saveAsCheckBox , SIGNAL(toggled(bool)), ui.directoryLabel , SLOT(setDisabled(bool)));
connect(ui.startupCheckBox , SIGNAL(toggled(bool)), ui.startupHideCheckBox , SLOT(setEnabled(bool)));
connect(ui.qualitySlider , SIGNAL(valueChanged(int)), ui.qualityValueLabel, SLOT(setNum(int)));
connect(ui.trayCheckBox , SIGNAL(toggled(bool)), ui.messageCheckBox , SLOT(setEnabled(bool)));
// Auto-upload disables the default action button in the previews.
connect(ui.uploadCheckBox , SIGNAL(toggled(bool)), ui.previewDefaultActionLabel , SLOT(setDisabled(bool)));
connect(ui.uploadCheckBox , SIGNAL(toggled(bool)), ui.previewDefaultActionComboBox, SLOT(setDisabled(bool)));
connect(ui.directoryCheckBox , SIGNAL(toggled(bool)), ui.directoryHotkeyWidget, SLOT(setEnabled(bool)));
connect(ui.moreInformationLabel, SIGNAL(linkActivated(QString)) , this, SLOT(openUrl(QString)));
connect(ui.languageComboBox , SIGNAL(currentIndexChanged(QString)), this, SLOT(languageChange(QString)));
connect(ui.mainLabel , SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString)));
connect(ui.licenseAboutLabel, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString)));
connect(ui.linksLabel, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString)));
//
// Languages
//
QDir languages(":/translations");
ui.languageComboBox->addItem("English");
foreach (QString language, languages.entryList()) {
ui.languageComboBox->addItem(language);
}
}
void OptionsDialog::namingOptions()
{
NamingDialog namingDialog((Screenshot::Naming) ui.namingComboBox->currentIndex());
namingDialog.exec();
flipToggled(settings()->value("options/flip").toBool());
updatePreview();
}
//
bool OptionsDialog::hotkeyCollision()
{
// Check for hotkey collision (there's probably a better way to do this...=)
if (ui.screenCheckBox->isChecked()) {
if (ui.screenHotkeyWidget->hotkey() == ui.areaHotkeyWidget->hotkey()
&& ui.areaCheckBox->isChecked())
return true;
if (ui.screenHotkeyWidget->hotkey() == ui.windowHotkeyWidget->hotkey()
&& ui.windowCheckBox->isChecked())
return true;
if (ui.screenHotkeyWidget->hotkey() == ui.windowPickerHotkeyWidget->hotkey()
&& ui.windowPickerCheckBox->isChecked())
return true;
if (ui.screenHotkeyWidget->hotkey() == ui.openHotkeyWidget->hotkey()
&& ui.openCheckBox->isChecked())
return true;
if (ui.screenHotkeyWidget->hotkey() == ui.directoryHotkeyWidget->hotkey()
&& ui.directoryCheckBox->isChecked())
return true;
}
if (ui.areaCheckBox->isChecked()) {
if (ui.areaHotkeyWidget->hotkey() == ui.screenHotkeyWidget->hotkey()
&& ui.screenCheckBox->isChecked())
return true;
if (ui.areaHotkeyWidget->hotkey() == ui.windowHotkeyWidget->hotkey()
&& ui.windowCheckBox->isChecked())
return true;
if (ui.areaHotkeyWidget->hotkey() == ui.windowPickerHotkeyWidget->hotkey()
&& ui.windowPickerCheckBox->isChecked())
return true;
if (ui.areaHotkeyWidget->hotkey() == ui.openHotkeyWidget->hotkey()
&& ui.openCheckBox->isChecked())
return true;
if (ui.areaHotkeyWidget->hotkey() == ui.directoryHotkeyWidget->hotkey()
&& ui.directoryCheckBox->isChecked())
return true;
}
if (ui.windowCheckBox->isChecked()) {
if (ui.windowHotkeyWidget->hotkey() == ui.screenHotkeyWidget->hotkey()
&& ui.screenCheckBox->isChecked())
return true;
if (ui.windowHotkeyWidget->hotkey() == ui.areaHotkeyWidget->hotkey()
&& ui.areaCheckBox->isChecked())
return true;
if (ui.windowHotkeyWidget->hotkey() == ui.windowPickerHotkeyWidget->hotkey()
&& ui.windowPickerCheckBox->isChecked())
return true;
if (ui.windowHotkeyWidget->hotkey() == ui.openHotkeyWidget->hotkey()
&& ui.openCheckBox->isChecked())
return true;
if (ui.windowHotkeyWidget->hotkey() == ui.directoryHotkeyWidget->hotkey()
&& ui.directoryCheckBox->isChecked())
return true;
}
if (ui.openCheckBox->isChecked()) {
if (ui.openHotkeyWidget->hotkey() == ui.screenHotkeyWidget->hotkey()
&& ui.screenCheckBox->isChecked())
return true;
if (ui.openHotkeyWidget->hotkey() == ui.areaHotkeyWidget->hotkey()
&& ui.areaCheckBox->isChecked())
return true;
if (ui.openHotkeyWidget->hotkey() == ui.windowPickerHotkeyWidget->hotkey()
&& ui.windowPickerCheckBox->isChecked())
return true;
if (ui.openHotkeyWidget->hotkey() == ui.windowHotkeyWidget->hotkey()
&& ui.windowCheckBox->isChecked())
return true;
if (ui.openHotkeyWidget->hotkey() == ui.directoryHotkeyWidget->hotkey()
&& ui.directoryCheckBox->isChecked())
return true;
}
if (ui.directoryCheckBox->isChecked()) {
if (ui.directoryHotkeyWidget->hotkey() == ui.screenHotkeyWidget->hotkey()
&& ui.screenCheckBox->isChecked())
return true;
if (ui.directoryHotkeyWidget->hotkey() == ui.areaHotkeyWidget->hotkey()
&& ui.areaCheckBox->isChecked())
return true;
if (ui.directoryHotkeyWidget->hotkey() == ui.windowPickerHotkeyWidget->hotkey()
&& ui.windowPickerCheckBox->isChecked())
return true;
if (ui.directoryHotkeyWidget->hotkey() == ui.windowHotkeyWidget->hotkey()
&& ui.windowCheckBox->isChecked())
return true;
if (ui.directoryHotkeyWidget->hotkey() == ui.openHotkeyWidget->hotkey()
&& ui.openCheckBox->isChecked())
return true;
}
return false;
}
QSettings *OptionsDialog::settings() const
{
return ScreenshotManager::instance()->settings();
}
diff --git a/dialogs/optionsdialog.ui b/dialogs/optionsdialog.ui
index 7cc50a3..44f1209 100644
--- a/dialogs/optionsdialog.ui
+++ b/dialogs/optionsdialog.ui
@@ -1,1388 +1,1400 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>OptionsDialog</class>
<widget class="QDialog" name="OptionsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>399</width>
<height>317</height>
</rect>
</property>
<property name="windowTitle">
<string>Options - Lightscreen</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="generalTab">
<attribute name="title">
<string>General</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<widget class="QGroupBox" name="fileGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>File</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="fileGroupBoxLayout">
<property name="verticalSpacing">
<number>4</number>
</property>
<property name="margin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="directoryLabel">
<property name="text">
<string>&amp;Directory:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>targetLineEdit</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="targetLineEdit">
<property name="styleSheet">
<string notr="true"/>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="browsePushButton">
<property name="maximumSize">
<size>
<width>60</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../lightscreen.qrc">
<normaloff>:/icons/folder</normaloff>:/icons/folder</iconset>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="filenameLabel">
<property name="toolTip">
<string>The prefix for the screenshot file</string>
</property>
<property name="text">
<string>&amp;Filename:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>prefixLineEdit</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="filenameLayout">
<property name="spacing">
<number>3</number>
</property>
<item>
<widget class="QLineEdit" name="prefixLineEdit">
<property name="whatsThis">
<string>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="namingComboBox">
<property name="whatsThis">
<string>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</string>
</property>
<item>
<property name="text">
<string>(number)</string>
</property>
</item>
<item>
<property name="text">
<string>(date)</string>
</property>
</item>
<item>
<property name="text">
<string>(timestamp)</string>
</property>
</item>
<item>
<property name="text">
<string>(none)</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="namingOptionsButton">
<property name="icon">
<iconset resource="../lightscreen.qrc">
<normaloff>:/icons/configure</normaloff>:/icons/configure</iconset>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="formatLabel">
<property name="toolTip">
<string>The file format for the screenshot</string>
</property>
<property name="text">
<string>F&amp;ormat:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>formatComboBox</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="formatComboBox">
<item>
<property name="text">
<string notr="true">PNG</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">JPG</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">BMP</string>
</property>
</item>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="qualityLabel">
<property name="text">
<string>&amp;Quality:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>qualitySlider</cstring>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSlider" name="qualitySlider">
<property name="whatsThis">
<string>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</string>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="pageStep">
<number>5</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="2">
<layout class="QHBoxLayout" name="qualityLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
</property>
<item>
<widget class="QLabel" name="qualityValueLabel">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string notr="true">100</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="qualityPercentLabel">
<property name="font">
<font>
<pointsize>7</pointsize>
</font>
</property>
<property name="text">
<string notr="true">%</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="5" column="0">
<widget class="QLabel" name="previewTextLabel">
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
<property name="text">
- <string>Preview:</string>
+ <string>&lt;u&gt;Preview&lt;/u&gt;:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="previewLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="startupGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>System Startup</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="startupCheckBox">
<property name="whatsThis">
<string/>
</property>
<property name="text">
<string>&amp;Run Lightscreen at system startup.</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="startupHideLayout">
<item>
<spacer name="startupHideSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>13</width>
<height>15</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="startupHideCheckBox">
<property name="whatsThis">
<string/>
</property>
<property name="text">
<string>H&amp;ide the main window.</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="hotkeyTab">
<attribute name="title">
<string>Hotkeys</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="capturesGroupBox">
<property name="title">
<string>Captures</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="margin">
<number>6</number>
</property>
<property name="spacing">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QCheckBox" name="screenCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&amp;Fullscreen</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="HotkeyWidget" name="screenHotkeyWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="windowPickerCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Window &amp;Picker</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="HotkeyWidget" name="windowPickerHotkeyWidget"/>
</item>
<item row="2" column="1">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="windowCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Active &amp;Window</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="HotkeyWidget" name="windowHotkeyWidget"/>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="areaCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Screen &amp;Area</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="HotkeyWidget" name="areaHotkeyWidget"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="controlGroupBox">
<property name="title">
<string>Lightscreen Control</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="margin">
<number>6</number>
</property>
<property name="spacing">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QCheckBox" name="openCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&amp;Open the program window</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="HotkeyWidget" name="openHotkeyWidget"/>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="directoryCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Open the &amp;directory</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="HotkeyWidget" name="directoryHotkeyWidget"/>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="optionsTab">
<attribute name="title">
<string>Options</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_8">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="optionsScrollArea">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>375</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
- <y>0</y>
+ <y>-442</y>
<width>358</width>
- <height>726</height>
+ <height>778</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>4</number>
</property>
<property name="margin">
<number>6</number>
</property>
<item>
<widget class="QGroupBox" name="interfaceGroupBox">
<property name="title">
<string>Interface</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QCheckBox" name="trayCheckBox">
<property name="whatsThis">
<string/>
</property>
<property name="text">
<string>Sho&amp;w a system tray icon.</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="hideCheckBox">
<property name="text">
<string>&amp;Hide Lightscreen while taking a screenshot.</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="warnHideCheckBox">
<property name="text">
<string>Warn when hiding without a tra&amp;y icon.</string>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="notifyLayout">
<property name="topMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item row="1" column="1">
<widget class="QCheckBox" name="messageCheckBox">
<property name="whatsThis">
<string>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</string>
</property>
<property name="text">
<string>Tray icon Popup</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="playSoundCheckBox">
<property name="text">
<string>&amp;Sound cue</string>
</property>
</widget>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>15</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="notifyLabel">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
<underline>true</underline>
</font>
</property>
<property name="text">
<string>&amp;Notify with:</string>
</property>
<property name="buddy">
<cstring>messageCheckBox</cstring>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="languageLayout">
<item>
<widget class="QLabel" name="languageLabel">
<property name="text">
<string>&amp;Language:</string>
</property>
<property name="buddy">
<cstring>languageComboBox</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="languageComboBox">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="moreInformationLabel">
<property name="whatsThis">
<string>Click here to go to the Lightscreen homepage to learn more about translations.</string>
</property>
<property name="text">
<string>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</string>
</property>
</widget>
</item>
<item>
<spacer name="languageSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="previewGroupBox">
<property name="title">
<string>Screenshot Previews</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="previewSizeLabel">
<property name="text">
<string>Maximum Size:</string>
</property>
<property name="buddy">
<cstring>previewSizeSpinBox</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="previewSizeSpinBox">
<property name="buttonSymbols">
<enum>QAbstractSpinBox::PlusMinus</enum>
</property>
<property name="accelerated">
<bool>true</bool>
</property>
<property name="correctionMode">
<enum>QAbstractSpinBox::CorrectToNearestValue</enum>
</property>
<property name="suffix">
<string notr="true"> px</string>
</property>
<property name="minimum">
<number>200</number>
</property>
<property name="maximum">
<number>800</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>300</number>
</property>
</widget>
</item>
<item row="0" column="4" rowspan="4">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QLabel" name="previewPositionLabel">
<property name="text">
<string>Position:</string>
</property>
<property name="buddy">
<cstring>previewPositionComboBox</cstring>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QComboBox" name="previewPositionComboBox">
<property name="currentIndex">
<number>3</number>
</property>
<item>
<property name="text">
<string>Top Left</string>
</property>
</item>
<item>
<property name="text">
<string>Top Right</string>
</property>
</item>
<item>
<property name="text">
<string>Bottom Left</string>
</property>
</item>
<item>
<property name="text">
<string>Bottom Right</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="previewAutocloseCheckBox">
<property name="text">
<string>Auto-close after</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="previewAutocloseTimeSpinBox">
<property name="suffix">
<string> seconds</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="andLabel">
<property name="minimumSize">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
<property name="text">
<string> and </string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="buddy">
<cstring>previewAutocloseActionComboBox</cstring>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QComboBox" name="previewAutocloseActionComboBox">
<property name="currentIndex">
<number>0</number>
</property>
<item>
<property name="text">
<string>save</string>
</property>
</item>
<item>
<property name="text">
<string>upload</string>
</property>
</item>
<item>
<property name="text">
<string>cancel</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="previewDefaultActionLabel">
<property name="text">
<string>Default action:</string>
</property>
<property name="buddy">
<cstring>previewDefaultActionComboBox</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="previewDefaultActionComboBox">
<item>
<property name="text">
<string>save</string>
</property>
</item>
<item>
<property name="text">
<string>upload</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="screenshotsGroupBox">
<property name="title">
<string>Screenshots</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QCheckBox" name="saveAsCheckBox">
<property name="text">
<string>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</string>
</property>
</widget>
</item>
- <item>
- <widget class="QCheckBox" name="clipboardCheckBox">
- <property name="text">
- <string>&amp;Copy the screenshot to the clipboard.</string>
- </property>
- </widget>
- </item>
<item>
<widget class="QCheckBox" name="currentMonitorCheckBox">
<property name="text">
<string>&amp;Grab only the active monitor.</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cursorCheckBox">
<property name="text">
<string>Inc&amp;lude the cursor in the screenshot.</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="magnifyCheckBox">
<property name="text">
<string>&amp;Magnify around the mouse in Area mode.</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>2</number>
</property>
<item>
<widget class="QCheckBox" name="optiPngCheckBox">
<property name="toolTip">
<string>Runs OptiPNG which reduces screenshot file size.</string>
</property>
<property name="text">
<string>O&amp;ptimize PNG screenshots.</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="optiPngLabel">
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>128</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>128</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>141</red>
<green>138</green>
<blue>136</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="replaceCheckBox">
<property name="text">
<string>Replace screenshots when there's an existing file.</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="areaAutocloseCheckBox">
<property name="text">
<string>Snap area screenshots automatically (no resizing).</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="uploadCheckBox">
<property name="text">
<string>Upload all my screenshots automatically.</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="delayLabel">
<property name="text">
<string>D&amp;elay:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>delaySpinBox</cstring>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="delaySpinBox">
<property name="whatsThis">
<string>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</string>
</property>
<property name="specialValueText">
<string>none</string>
</property>
<property name="accelerated">
<bool>true</bool>
</property>
<property name="correctionMode">
<enum>QAbstractSpinBox::CorrectToNearestValue</enum>
</property>
<property name="suffix">
<string> seconds</string>
</property>
<property name="prefix">
<string/>
</property>
<property name="maximum">
<number>32767</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>114</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
+ <item>
+ <widget class="QGroupBox" name="clipboardGroupBox">
+ <property name="title">
+ <string>Clipboard</string>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_10">
+ <item>
+ <widget class="QCheckBox" name="clipboardCheckBox">
+ <property name="text">
+ <string>&amp;Copy the screenshot to the clipboard.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="imgurClipboardCheckBox">
+ <property name="text">
+ <string>After uploading, copy the imgur URL to the clipboard.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
<item>
<widget class="QGroupBox" name="historyGroupBox">
<property name="title">
<string>History</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QHBoxLayout" name="historyLayout">
<item>
<widget class="QCheckBox" name="historyCheckBox">
<property name="text">
<string>Save my screenshot history.</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>95</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="historyPushButton">
<property name="text">
<string>View &amp;History</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="updaterGroupBox">
<property name="title">
<string>Updater</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QHBoxLayout" name="updaterLayout">
<item>
<widget class="QCheckBox" name="updaterCheckBox">
<property name="text">
<string>Check for updates regularly.</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="checkUpdatesPushButton">
<property name="text">
<string>Chec&amp;k Now</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="aboutTab">
<attribute name="title">
<string>About</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<widget class="QLabel" name="mainLabel">
<property name="text">
<string>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="licenseAboutLabel">
<property name="text">
<string>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="versionLabel">
<property name="font">
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="linksLabel">
<property name="text">
<string>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>HotkeyWidget</class>
<extends>QPushButton</extends>
<header>widgets/hotkeywidget.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>fileGroupBox</tabstop>
<tabstop>targetLineEdit</tabstop>
<tabstop>browsePushButton</tabstop>
<tabstop>prefixLineEdit</tabstop>
<tabstop>namingComboBox</tabstop>
<tabstop>namingOptionsButton</tabstop>
<tabstop>formatComboBox</tabstop>
<tabstop>qualitySlider</tabstop>
<tabstop>startupCheckBox</tabstop>
<tabstop>startupHideCheckBox</tabstop>
<tabstop>screenCheckBox</tabstop>
<tabstop>screenHotkeyWidget</tabstop>
<tabstop>areaCheckBox</tabstop>
<tabstop>areaHotkeyWidget</tabstop>
<tabstop>windowCheckBox</tabstop>
<tabstop>windowHotkeyWidget</tabstop>
<tabstop>windowPickerCheckBox</tabstop>
<tabstop>windowPickerHotkeyWidget</tabstop>
<tabstop>openCheckBox</tabstop>
<tabstop>openHotkeyWidget</tabstop>
<tabstop>directoryCheckBox</tabstop>
<tabstop>directoryHotkeyWidget</tabstop>
<tabstop>optionsScrollArea</tabstop>
<tabstop>trayCheckBox</tabstop>
<tabstop>hideCheckBox</tabstop>
<tabstop>warnHideCheckBox</tabstop>
<tabstop>messageCheckBox</tabstop>
<tabstop>playSoundCheckBox</tabstop>
<tabstop>previewGroupBox</tabstop>
<tabstop>previewSizeSpinBox</tabstop>
<tabstop>previewPositionComboBox</tabstop>
<tabstop>previewAutocloseCheckBox</tabstop>
<tabstop>previewAutocloseTimeSpinBox</tabstop>
<tabstop>previewAutocloseActionComboBox</tabstop>
<tabstop>previewDefaultActionComboBox</tabstop>
<tabstop>saveAsCheckBox</tabstop>
- <tabstop>clipboardCheckBox</tabstop>
<tabstop>currentMonitorCheckBox</tabstop>
<tabstop>cursorCheckBox</tabstop>
<tabstop>magnifyCheckBox</tabstop>
<tabstop>optiPngCheckBox</tabstop>
<tabstop>replaceCheckBox</tabstop>
<tabstop>areaAutocloseCheckBox</tabstop>
<tabstop>uploadCheckBox</tabstop>
<tabstop>delaySpinBox</tabstop>
<tabstop>historyCheckBox</tabstop>
<tabstop>historyPushButton</tabstop>
<tabstop>updaterCheckBox</tabstop>
<tabstop>checkUpdatesPushButton</tabstop>
<tabstop>buttonBox</tabstop>
- <tabstop>tabWidget</tabstop>
</tabstops>
<resources>
<include location="../lightscreen.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>OptionsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>307</x>
<y>304</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>previewAutocloseCheckBox</sender>
<signal>toggled(bool)</signal>
<receiver>previewAutocloseTimeSpinBox</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>118</x>
<y>511</y>
</hint>
<hint type="destinationlabel">
<x>210</x>
<y>529</y>
</hint>
</hints>
</connection>
<connection>
<sender>previewAutocloseCheckBox</sender>
<signal>toggled(bool)</signal>
<receiver>previewAutocloseActionComboBox</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>115</x>
<y>511</y>
</hint>
<hint type="destinationlabel">
<x>302</x>
<y>529</y>
</hint>
</hints>
</connection>
</connections>
</ui>
diff --git a/dialogs/previewdialog.cpp b/dialogs/previewdialog.cpp
index 27ff2d8..c21cb38 100644
--- a/dialogs/previewdialog.cpp
+++ b/dialogs/previewdialog.cpp
@@ -1,407 +1,405 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include "previewdialog.h"
#include "screenshotdialog.h"
#include "../tools/screenshot.h"
#include "../tools/screenshotmanager.h"
#include "../tools/os.h"
#include <QApplication>
#include <QDesktopWidget>
#include <QGraphicsDropShadowEffect>
#include <QHBoxLayout>
#include <QIcon>
#include <QLabel>
#include <QList>
#include <QMenu>
#include <QObject>
#include <QPalette>
#include <QPushButton>
#include <QSettings>
#include <QStackedLayout>
#include <QToolButton>
#include <QDebug>
PreviewDialog::PreviewDialog(QWidget *parent) :
QDialog(parent), mAutoclose(0)
{
setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint);
os::aeroGlass(this);
setWindowTitle(tr("Screenshot Preview"));
QSettings *settings = ScreenshotManager::instance()->settings();
mSize = settings->value("options/previewSize", 300).toInt();
mPosition = settings->value("options/previewPosition", 3).toInt();
if (settings->value("options/previewAutoclose", false).toBool()) {
mAutoclose = settings->value("options/previewAutocloseTime").toInt();
mAutocloseReset = mAutoclose;
mAutocloseAction = settings->value("options/previewAutocloseAction").toInt();
}
QHBoxLayout *l = new QHBoxLayout;
mStack = new QStackedLayout;
connect(mStack, SIGNAL(currentChanged(int)), this, SLOT(indexChanged(int)));
mPrevButton = new QPushButton(QIcon(":/icons/arrow-left"), "", this);
connect(mPrevButton, SIGNAL(clicked()), this, SLOT(previous()));
mNextButton = new QPushButton(QIcon(":/icons/arrow-right"), "", this);
connect(mNextButton, SIGNAL(clicked()), this, SLOT(next()));
mPrevButton->setCursor(Qt::PointingHandCursor);
mPrevButton->setFlat(true);
mPrevButton->setGraphicsEffect(os::shadow());
mPrevButton->setIconSize(QSize(24, 24));
mPrevButton->setVisible(false);
mNextButton->setCursor(Qt::PointingHandCursor);
mNextButton->setFlat(true);
mNextButton->setGraphicsEffect(os::shadow());
mNextButton->setIconSize(QSize(24, 24));
mNextButton->setVisible(false);
l->addWidget(mPrevButton);
l->addLayout(mStack);
l->addWidget(mNextButton);
l->setMargin(0);
l->setContentsMargins(6, 6, 6, 6);
mStack->setMargin(0);
setMaximumHeight(mSize);
setLayout(l);
if (mAutoclose) {
startTimer(1000);
}
}
void PreviewDialog::add(Screenshot *screenshot)
{
if (!isVisible()) {
show();
}
if (mAutoclose) {
mAutoclose = mAutocloseReset;
}
QLabel *label = new QLabel(this);
label->setGraphicsEffect(os::shadow());
bool small = false;
- connect(label, SIGNAL(destroyed()), screenshot, SLOT(discard()));
-
QSize size = screenshot->pixmap().size();
if (size.width() > mSize || size.height() > mSize) {
size.scale(mSize, mSize, Qt::KeepAspectRatio);
}
else {
small = true;
}
QPixmap thumbnail = screenshot->pixmap().scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
label->setPixmap(thumbnail);
thumbnail = QPixmap();
label->setAlignment(Qt::AlignCenter);
if (size.height() < 120) {
label->setMinimumHeight(120);
}
if (size.width() < 140) {
label->setMinimumWidth(140);
}
label->resize(size);
QPushButton *discardPushButton = new QPushButton(QIcon(":/icons/no") , "", label);
QPushButton *enlargePushButton = new QPushButton(QIcon(":/icons/zoom.in"), "", label);
QToolButton *confirmPushButton = new QToolButton(label);
confirmPushButton->setIconSize(QSize(24, 24));
confirmPushButton->setCursor(Qt::PointingHandCursor);
confirmPushButton->setGraphicsEffect(os::shadow());
if (ScreenshotManager::instance()->settings()->value("options/previewDefaultAction", 0).toInt() == 0
|| ScreenshotManager::instance()->settings()->value("options/uploadAuto").toBool()) {
// Default button, confirm & upload.
confirmPushButton->setIcon(QIcon(":/icons/yes"));
if (!ScreenshotManager::instance()->settings()->value("options/uploadAuto").toBool()) {
QMenu *confirmMenu = new QMenu(confirmPushButton);
confirmMenu->setObjectName("confirmMenu");
QAction *uploadAction = new QAction(QIcon(":/icons/imgur.yes"), tr("Upload"), confirmPushButton);
connect(uploadAction, SIGNAL(triggered()), screenshot, SLOT(markUpload()));
connect(uploadAction, SIGNAL(triggered()), screenshot, SLOT(confirm()));
connect(uploadAction, SIGNAL(triggered()), this, SLOT(closePreview()));
connect(this, SIGNAL(uploadAll()), uploadAction, SLOT(trigger()));
confirmMenu->addAction(uploadAction);
confirmPushButton->setMenu(confirmMenu);
confirmPushButton->setPopupMode(QToolButton::MenuButtonPopup);
}
connect(this, SIGNAL(acceptAll()), confirmPushButton, SLOT(click()));
connect(confirmPushButton, SIGNAL(clicked()), screenshot, SLOT(confirm()));
connect(confirmPushButton, SIGNAL(clicked()), this, SLOT(closePreview()));
}
else {
// Reversed button, upload & confirm.
confirmPushButton->setIcon(QIcon(":/icons/imgur.yes"));
QMenu *confirmMenu = new QMenu(confirmPushButton);
confirmMenu->setObjectName("confirmMenu");
QAction *confirmAction = new QAction(QIcon(":/icons/yes"), tr("Save"), confirmPushButton);
connect(this, SIGNAL(acceptAll()), confirmAction, SLOT(trigger()));
connect(confirmAction, SIGNAL(triggered()), screenshot, SLOT(confirm()));
connect(confirmAction, SIGNAL(triggered()), this, SLOT(closePreview()));
connect(confirmPushButton, SIGNAL(clicked()), screenshot, SLOT(markUpload()));
connect(confirmPushButton, SIGNAL(clicked()), screenshot, SLOT(confirm()));
connect(confirmPushButton, SIGNAL(clicked()), this, SLOT(closePreview()));
connect(this, SIGNAL(uploadAll()), confirmPushButton, SLOT(click()));
confirmMenu->addAction(confirmAction);
confirmPushButton->setMenu(confirmMenu);
confirmPushButton->setPopupMode(QToolButton::MenuButtonPopup);
}
confirmPushButton->setAutoRaise(true);
confirmPushButton->setVisible(false);
discardPushButton->setIconSize(QSize(24, 24));
discardPushButton->setCursor(Qt::PointingHandCursor);
discardPushButton->setGraphicsEffect(os::shadow());
discardPushButton->setFlat(true);
discardPushButton->setVisible(false);
enlargePushButton->setIconSize(QSize(22, 22));
enlargePushButton->setCursor(Qt::PointingHandCursor);
enlargePushButton->setGraphicsEffect(os::shadow());
enlargePushButton->setFlat(true);
enlargePushButton->setVisible(false);
enlargePushButton->setDisabled(small);
connect(this, SIGNAL(rejectAll()), discardPushButton, SLOT(click()));
connect(discardPushButton, SIGNAL(clicked()), screenshot, SLOT(discard()));
connect(discardPushButton, SIGNAL(clicked()), this, SLOT(closePreview()));
connect(enlargePushButton, SIGNAL(clicked()), this, SLOT(enlargePreview()));
QHBoxLayout *wlayout = new QHBoxLayout;
wlayout->addWidget(confirmPushButton);
wlayout->addStretch();
wlayout->addWidget(enlargePushButton);
wlayout->addStretch();
wlayout->addWidget(discardPushButton);
wlayout->setMargin(0);
QVBoxLayout *wl = new QVBoxLayout;
wl->addStretch();
wl->addLayout(wlayout);
wl->setMargin(0);
label->setLayout(wl);
mStack->addWidget(label);
mStack->setCurrentIndex(mStack->count()-1);
mNextButton->setEnabled(false);
if (mStack->count() >= 2 && !mNextButton->isVisible()) {
mNextButton->setVisible(true);
mPrevButton->setVisible(true);
}
relocate();
}
int PreviewDialog::count() const
{
return mStack->count();
}
//
void PreviewDialog::closePreview()
{
QWidget *widget = mStack->currentWidget();
mStack->removeWidget(widget);
widget->deleteLater();
if (mStack->count() == 0) {
close();
}
else {
relocate();
}
}
void PreviewDialog::enlargePreview()
{
Screenshot *screenshot = qobject_cast<Screenshot*>(ScreenshotManager::instance()->children().at(mStack->currentIndex()));
if (screenshot) {
new ScreenshotDialog(screenshot, this);
}
}
void PreviewDialog::indexChanged(int i)
{
if (i == mStack->count()-1) {
mNextButton->setEnabled(false);
mPrevButton->setEnabled(true);
}
if (i == 0 && mStack->count() > 1) {
mNextButton->setEnabled(true);
mPrevButton->setEnabled(false);
}
if (i != 0 && i != mStack->count()-1) {
mNextButton->setEnabled(true);
mPrevButton->setEnabled(true);
}
if (mStack->count() < 2) {
mNextButton->setEnabled(false);
mPrevButton->setEnabled(false);
}
if (mStack->widget(i)) {
mStack->widget(i)->setFocus();
}
if (mStack->count() > 1) {
setWindowTitle(tr("Screenshot Preview (%1 of %2)").arg(mStack->currentIndex()+1).arg(mStack->count()));
}
else {
setWindowTitle(tr("Screenshot Preview"));
}
}
void PreviewDialog::next()
{
mStack->setCurrentIndex(mStack->currentIndex()+1);
relocate();
}
void PreviewDialog::previous()
{
mStack->setCurrentIndex(mStack->currentIndex()-1);
relocate();
}
void PreviewDialog::relocate()
{
updateGeometry();
resize(minimumSizeHint());
QApplication::sendEvent(this, new QEvent(QEvent::Enter)); // Ensures the buttons are visible.
QPoint where;
switch (mPosition)
{
case 0:
where = QApplication::desktop()->availableGeometry(this).topLeft();
break;
case 1:
where = QApplication::desktop()->availableGeometry(this).topRight();
where.setX(where.x() - frameGeometry().width());
break;
case 2:
where = QApplication::desktop()->availableGeometry(this).bottomLeft();
where.setY(where.y() - frameGeometry().height());
break;
case 3:
default:
where = QApplication::desktop()->availableGeometry(this).bottomRight();
where.setX(where.x() - frameGeometry().width());
where.setY(where.y() - frameGeometry().height());
break;
}
move(where);
}
//
bool PreviewDialog::event(QEvent *event)
{
if ((event->type() == QEvent::Enter || event->type() == QEvent::Leave)
&& mStack->currentWidget())
{
foreach (QObject *child, mStack->currentWidget()->children()) {
QWidget *widget = qobject_cast<QWidget*>(child);
if (widget) {
// Lets avoid disappearing buttons and bail if the menu is open.
QMenu *confirmMenu = widget->findChild<QMenu*>("confirmMenu");
if (confirmMenu && confirmMenu->isVisible())
return false;
widget->setVisible((event->type() == QEvent::Enter));
}
}
}
else if (event->type() == QEvent::Close) {
deleteLater();
}
else if (event->type() == QEvent::MouseButtonDblClick) {
enlargePreview();
}
return QDialog::event(event);
}
void PreviewDialog::timerEvent(QTimerEvent *event)
{
if (mAutoclose == 0) {
if (mAutocloseAction == 0) {
emit acceptAll();
}
else if (mAutocloseAction == 1) {
emit uploadAll();
}
else {
emit rejectAll();
}
}
else if (mAutoclose < 0) {
killTimer(event->timerId());
}
else {
setWindowTitle(tr("Preview: Closing in %1").arg(mAutoclose));
mAutoclose--;
}
}
diff --git a/lightscreenwindow.cpp b/lightscreenwindow.cpp
index fdc92a0..2fcb9e0 100644
--- a/lightscreenwindow.cpp
+++ b/lightscreenwindow.cpp
@@ -1,1027 +1,997 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <QDate>
#include <QDesktopServices>
#include <QFileInfo>
#include <QHttp>
#include <QKeyEvent>
#include <QMenu>
#include <QMessageBox>
#include <QPointer>
#include <QProcess>
#include <QSettings>
#include <QSound>
#include <QSystemTrayIcon>
#include <QTimer>
#include <QToolTip>
#include <QUrl>
#include <QDebug>
#ifdef Q_WS_WIN
#include <windows.h>
#include "tools/qwin7utils/Taskbar.h"
#include "tools/qwin7utils/TaskbarButton.h"
using namespace QW7;
#endif
/*
* Lightscreen includes
*/
#include "lightscreenwindow.h"
#include "dialogs/optionsdialog.h"
#include "dialogs/previewdialog.h"
#include "dialogs/historydialog.h"
#include "tools/globalshortcut/globalshortcutmanager.h"
#include "tools/os.h"
#include "tools/screenshot.h"
#include "tools/screenshotmanager.h"
#include "tools/qtwin.h"
#include "tools/uploader.h"
#include "updater/updater.h"
LightscreenWindow::LightscreenWindow(QWidget *parent) :
QDialog(parent),
mDoCache(false),
mHideTrigger(false),
mReviveMain(false),
mWasVisible(true),
mLastMessage(0),
mLastMode(-1),
- mOptimizeCount(0),
mLastScreenshot()
{
os::translate(settings()->value("options/language", "English").toString());
ui.setupUi(this);
if (QtWin::isCompositionEnabled()) {
layout()->setMargin(0);
resize(minimumSizeHint());
}
setMaximumSize(size());
setMinimumSize(size());
setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint); // Remove the what's this button, no real use in the main window.
#ifdef Q_WS_WIN
if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
mTaskbarButton = new TaskbarButton(this);
}
#endif
// Actions
connect(ui.optionsPushButton , SIGNAL(clicked()), this, SLOT(showOptions()));
connect(ui.hidePushButton , SIGNAL(clicked()), this, SLOT(toggleVisibility()));
connect(ui.screenshotPushButton, SIGNAL(clicked()), this, SLOT(showScreenshotMenu()));
connect(ui.quitPushButton , SIGNAL(clicked()), this, SLOT(quit()));
// Uploader
connect(Uploader::instance(), SIGNAL(progress(qint64,qint64)), this, SLOT(uploadProgress(qint64, qint64)));
connect(Uploader::instance(), SIGNAL(done(QString, QString)) , this, SLOT(showUploaderMessage(QString, QString)));
connect(Uploader::instance(), SIGNAL(error(QString)) , this, SLOT(showUploaderError(QString)));
// Manager
connect(ScreenshotManager::instance(), SIGNAL(confirm(Screenshot*)), this, SLOT(preview(Screenshot*)));
connect(ScreenshotManager::instance(), SIGNAL(windowCleanup(Screenshot::Options&)), this, SLOT(cleanup(Screenshot::Options&)));
if (!settings()->contains("file/format")) {
showOptions(); // There are no options (or the options config is invalid or incomplete)
}
else {
QTimer::singleShot(0 , this, SLOT(applySettings()));
QTimer::singleShot(5000, this, SLOT(checkForUpdates()));
}
}
LightscreenWindow::~LightscreenWindow()
{
settings()->setValue("lastScreenshot", mLastScreenshot);
GlobalShortcutManager::instance()->clear();
delete mTrayIcon;
}
void LightscreenWindow::action(int mode)
{
if (mode == 4) {
goToFolder();
}
else {
show();
}
}
void LightscreenWindow::areaHotkey()
{
screenshotAction(2);
}
void LightscreenWindow::checkForUpdates()
{
if (settings()->value("options/disableUpdater", false).toBool())
return;
if (settings()->value("lastUpdateCheck").toInt() + 7
> QDate::currentDate().dayOfYear())
return; // If 7 days have not passed since the last update check.
connect(Updater::instance(), SIGNAL(done(bool)), this, SLOT(updaterDone(bool)));
Updater::instance()->check();
}
void LightscreenWindow::cleanup(Screenshot::Options &options)
{
// Reversing settings
if (settings()->value("options/hide").toBool()) {
#ifndef Q_WS_X11 // X is not quick enough and the notification ends up everywhere but in the icon
if (settings()->value("options/tray").toBool() && mTrayIcon) {
mTrayIcon->show();
}
#endif
if (mPreviewDialog) {
if (mPreviewDialog->count() <= 1 && mWasVisible) {
show();
}
mPreviewDialog->show();
}
else if (mWasVisible) {
show();
}
mHideTrigger = false;
}
if (settings()->value("options/tray").toBool() && mTrayIcon) {
notify(options.result);
if (settings()->value("options/message").toBool() && options.file) {
showScreenshotMessage(options.result, options.fileName);
}
}
if (settings()->value("options/playSound", false).toBool()) {
if (options.result == Screenshot::Success) {
QSound::play("sounds/ls.screenshot.wav");
}
else {
#ifdef Q_WS_WIN
QSound::play("afakepathtomakewindowsplaythedefaultsoundtheresprobablyabetterwaybuticantbebothered");
#else
QSound::play("sound/ls.error.wav");
#endif
}
}
- if (options.result != Screenshot::Success
- || !options.file)
+ if (options.result != Screenshot::Success)
return;
- if (settings()->value("options/optipng").toBool()
- && options.format == Screenshot::PNG) {
- optiPNG(options.fileName, options.upload);
- }
- else if (options.upload) {
- upload(options.fileName);
- }
- else {
- ScreenshotManager::instance()->saveHistory(options.fileName);
- }
-
mLastScreenshot = options.fileName;
}
bool LightscreenWindow::closingWithoutTray()
{
if (settings()->value("options/disableHideAlert", false).toBool())
return false;
QMessageBox msgBox;
msgBox.setWindowTitle(tr("Lightscreen"));
msgBox.setText(tr("You have chosen to hide Lightscreen when there's no system tray icon, so you will not be able to access the program <b>unless you have selected a hotkey to do so</b>.<br>What do you want to do?"));
msgBox.setIcon(QMessageBox::Warning);
msgBox.setStyleSheet("QPushButton { padding: 4px 8px; }");
QPushButton *enableButton = msgBox.addButton(tr("Hide but enable tray"),
QMessageBox::ActionRole);
QPushButton *enableAndDenotifyButton = msgBox.addButton(tr("Hide and don't warn"),
QMessageBox::ActionRole);
QPushButton *hideButton = msgBox.addButton(tr("Just hide"),
QMessageBox::ActionRole);
QPushButton *abortButton = msgBox.addButton(QMessageBox::Cancel);
Q_UNUSED(abortButton);
msgBox.exec();
if (msgBox.clickedButton() == hideButton) {
return false;
}
else if (msgBox.clickedButton() == enableAndDenotifyButton) {
settings()->setValue("options/disableHideAlert", true);
applySettings();
return false;
}
else if (msgBox.clickedButton() == enableButton) {
settings()->setValue("options/tray", true);
applySettings();
return false;
}
return true; // Cancel
}
void LightscreenWindow::goToFolder()
{
#ifdef Q_WS_WIN
if (!mLastScreenshot.isEmpty()) {
QProcess::startDetached("explorer /select, \"" + mLastScreenshot +"\"");
}
else {
#endif
QString folder = settings()->value("file/target").toString();
if (folder.isEmpty())
folder = qApp->applicationDirPath();
if (QDir::toNativeSeparators(folder.at(folder.size()-1)) != QDir::separator())
folder.append(QDir::separator());
QDesktopServices::openUrl("file:///"+folder);
#ifdef Q_WS_WIN
}
#endif
}
void LightscreenWindow::messageClicked()
{
if (mLastMessage == 1) {
goToFolder();
}
else {
QDesktopServices::openUrl(QUrl(Uploader::instance()->lastUrl()));
}
}
void LightscreenWindow::messageReceived(const QString &message)
{
if (message.contains(' ')) {
foreach (QString argument, message.split(' ')) {
messageReceived(argument);
}
}
if (message == "--wake") {
show();
qApp->alert(this, 500);
return;
}
if (message == "--screen")
screenshotAction();
else if (message == "--area")
screenshotAction(2);
else if (message == "--activewindow")
screenshotAction(1);
else if (message == "--pickwindow")
screenshotAction(3);
else if (message == "--folder")
action(4);
else if (message == "--uploadlast")
uploadLast();
else if (message == "--viewhistory")
- showUploadDialog();
+ showHistoryDialog();
}
void LightscreenWindow::notify(const Screenshot::Result &result)
{
switch (result)
{
case Screenshot::Success:
mTrayIcon->setIcon(QIcon(":/icons/lightscreen.yes"));
#ifdef Q_WS_WIN
if (mTaskbarButton)
mTaskbarButton->SetOverlayIcon(QIcon(":/icons/yes"), tr("Success!"));
#endif
setWindowTitle(tr("Success!"));
break;
case Screenshot::Fail:
mTrayIcon->setIcon(QIcon(":/icons/lightscreen.no"));
setWindowTitle(tr("Failed!"));
#ifdef Q_WS_WIN
if (mTaskbarButton)
mTaskbarButton->SetOverlayIcon(QIcon(":/icons/no"), tr("Failed!"));
#endif
break;
case Screenshot::Cancel:
setWindowTitle(tr("Cancelled!"));
break;
}
QTimer::singleShot(2000, this, SLOT(restoreNotification()));
}
-void LightscreenWindow::optimizationDone()
-{
- // A mouthful :D
- mOptimizeCount--;
- QString screenshot = (qobject_cast<QProcess*>(sender()))->property("screenshot").toString();
- upload(screenshot);
-}
-
void LightscreenWindow::preview(Screenshot* screenshot)
{
if (screenshot->options().preview) {
if (!mPreviewDialog) {
mPreviewDialog = new PreviewDialog(this);
}
mPreviewDialog->add(screenshot);
}
else {
screenshot->confirm(true);
}
}
void LightscreenWindow::quit()
{
settings()->setValue("position", pos());
- QString doing;
int answer = 0;
+ QString doing;
- if (Uploader::instance()->uploading() > 0) {
- doing = tr("uploading one or more screenshots");
+ if (ScreenshotManager::instance()->activeCount() > 0) {
+ doing = tr("processing");
}
- if (mOptimizeCount > 0) {
- if (!doing.isNull()) {
- doing = tr("optimizing and uploading screenshots");
+ if (Uploader::instance()->uploading() > 0) {
+ if (doing.isEmpty()) {
+ doing = tr("uploading");
}
else {
- doing = tr("optimizing one or more screenshots");
+ doing = tr("processing and uploading");
}
}
- if (!doing.isNull()) {
+ if (!doing.isEmpty()) {
answer = QMessageBox::question(this,
tr("Are you sure you want to quit?"),
- tr("Lightscreen is currently %1, this will finish momentarily.<br>Are you sure you want to quit?").arg(doing),
+ tr("Lightscreen is currently %1 screenshots. Are you sure you want to quit?").arg(doing),
tr("Quit"),
tr("Don't Quit"));
}
if (answer == 0)
accept();
}
void LightscreenWindow::restoreNotification()
{
if (mTrayIcon)
mTrayIcon->setIcon(QIcon(":/icons/lightscreen.small"));
#ifdef Q_WS_WIN
if (mTaskbarButton)
mTaskbarButton->SetOverlayIcon(QIcon(), "");
#endif
updateUploadStatus();
}
void LightscreenWindow::screenshotAction(int mode)
{
int delayms = -1;
bool optionsHide = settings()->value("options/hide").toBool(); // Option cache, used a couple of times.
if (!mHideTrigger) {
mWasVisible = isVisible();
mHideTrigger = true;
}
// Applying pre-screenshot settings
if (optionsHide) {
hide();
#ifndef Q_WS_X11 // X is not quick enough and the notification ends up everywhere but in the icon
if (mTrayIcon)
mTrayIcon->hide();
#endif
}
// Screenshot delay
delayms = settings()->value("options/delay", 0).toInt();
delayms = delayms * 1000; // Converting the delay to milliseconds.
delayms += 400;
if (optionsHide && mPreviewDialog) {
if (mPreviewDialog->count() >= 1) {
mPreviewDialog->hide();
}
}
// The delayed functions works using the static variable lastMode
// which keeps the argument so a QTimer can call this function again.
if (delayms > 0) {
if (mLastMode < 0) {
mLastMode = mode;
QTimer::singleShot(delayms, this, SLOT(screenshotAction()));
return;
}
else {
mode = mLastMode;
mLastMode = -1;
}
}
static Screenshot::Options options;
if (!mDoCache) {
// Populating the option object that will then be passed to the screenshot engine (sounds fancy huh?)
options.file = settings()->value("file/enabled").toBool();
options.format = (Screenshot::Format) settings()->value("file/format").toInt();
options.prefix = settings()->value("file/prefix").toString();
- options.directory = QDir(settings()->value("file/target").toString());
+
+ QDir dir(settings()->value("file/target").toString());
+ dir.makeAbsolute();
+
+ options.directory = dir;
+
options.quality = settings()->value("options/quality", 100).toInt();
options.currentMonitor = settings()->value("options/currentMonitor", false).toBool();
- options.clipboard = settings()->value("options/clipboard", true).toBool();
- options.preview = settings()->value("options/preview", false).toBool();
- options.magnify = settings()->value("options/magnify", false).toBool();
- options.cursor = settings()->value("options/cursor" , false).toBool();
- options.saveAs = settings()->value("options/saveAs" , false).toBool();
- options.animations = settings()->value("options/animations" , true).toBool();
- options.replace = settings()->value("options/replace", false).toBool();
- options.upload = settings()->value("options/uploadAuto", false).toBool();
+ options.clipboard = settings()->value("options/clipboard", true).toBool();
+ options.imgurClipboard = settings()->value("options/imgurClipboard", false).toBool();
+ options.preview = settings()->value("options/preview", false).toBool();
+ options.magnify = settings()->value("options/magnify", false).toBool();
+ options.cursor = settings()->value("options/cursor", false).toBool();
+ options.saveAs = settings()->value("options/saveAs", false).toBool();
+ options.animations = settings()->value("options/animations", true).toBool();
+ options.replace = settings()->value("options/replace", false).toBool();
+ options.upload = settings()->value("options/uploadAuto", false).toBool();
+ options.optimize = settings()->value("options/optipng", false).toBool();
Screenshot::NamingOptions namingOptions;
namingOptions.naming = (Screenshot::Naming) settings()->value("file/naming").toInt();
namingOptions.leadingZeros = settings()->value("options/naming/leadingZeros", 0).toInt();
namingOptions.flip = settings()->value("options/flip", false).toBool();
namingOptions.dateFormat = settings()->value("options/naming/dateFormat", "yyyy-MM-dd").toString();
options.namingOptions = namingOptions;
mDoCache = true;
}
options.mode = mode;
ScreenshotManager::instance()->take(options);
}
void LightscreenWindow::screenshotActionTriggered(QAction* action)
{
screenshotAction(action->data().toInt());
}
void LightscreenWindow::showHotkeyError(const QStringList &hotkeys)
{
static bool dontShow = false;
if (dontShow)
return;
QString messageText;
messageText = tr("Some hotkeys could not be registered, they might already be in use");
if (hotkeys.count() > 1) {
messageText += tr("<br>The failed hotkeys are the following:") + "<ul>";
foreach(const QString &hotkey, hotkeys) {
messageText += QString("%1%2%3").arg("<li><b>").arg(hotkey).arg("</b></li>");
}
messageText += "</ul>";
}
else {
messageText += tr("<br>The failed hotkey is <b>%1</b>").arg(hotkeys[0]);
}
messageText += tr("<br><i>What do you want to do?</i>");
QMessageBox msgBox(this);
msgBox.setWindowTitle(tr("Lightscreen"));
msgBox.setText(messageText);
QPushButton *changeButton = msgBox.addButton(tr("Change") , QMessageBox::ActionRole);
QPushButton *disableButton = msgBox.addButton(tr("Disable"), QMessageBox::ActionRole);
QPushButton *exitButton = msgBox.addButton(tr("Quit") , QMessageBox::ActionRole);
msgBox.exec();
if (msgBox.clickedButton() == exitButton) {
dontShow = true;
QTimer::singleShot(10, this, SLOT(quit()));
}
else if (msgBox.clickedButton() == changeButton) {
showOptions();
}
else if (msgBox.clickedButton() == disableButton) {
foreach(const QString &hotkey, hotkeys) {
- settings()->setValue(QString("actions/%1/enabled").arg(hotkey), false);
+ settings()->setValue(QString("actions/%1/enabled").arg(hotkey), false);
}
}
+}
+void LightscreenWindow::showHistoryDialog()
+{
+ HistoryDialog historyDialog(this);
+ historyDialog.exec();
+
+ updateUploadStatus();
}
void LightscreenWindow::showOptions()
{
GlobalShortcutManager::clear();
QPointer<OptionsDialog> optionsDialog = new OptionsDialog(this);
optionsDialog->exec();
optionsDialog->deleteLater();
applySettings();
}
void LightscreenWindow::showScreenshotMenu()
{
// This slot is called only on the first click
QMenu *buttonMenu = new QMenu;
QAction *screenAction = new QAction(QIcon(":/icons/screen"), tr("&Screen"), buttonMenu);
screenAction->setData(QVariant(0));
QAction *windowAction = new QAction(QIcon(":/icons/window"),tr("Active &Window"), buttonMenu);
windowAction->setData(QVariant(1));
QAction *windowPickerAction = new QAction(QIcon(":/icons/picker"), tr("&Pick Window"), buttonMenu);
windowPickerAction->setData(QVariant(3));
QAction *areaAction = new QAction(QIcon(":/icons/area"), tr("&Area"), buttonMenu);
areaAction->setData(QVariant(2));
QAction *uploadAction = new QAction(QIcon(":/icons/imgur"), tr("&Upload last"), buttonMenu);
uploadAction->setToolTip(tr("Upload the last screenshot you took to imgur.com"));
connect(uploadAction, SIGNAL(triggered()), this, SLOT(uploadLast()));
+ QAction *cancelAction = new QAction(QIcon(":/icons/no"), tr("&Cancel upload"), buttonMenu);
+ cancelAction->setToolTip(tr("Cancel the currently uploading screenshots"));
+ cancelAction->setEnabled(false);
+ connect(this, SIGNAL(uploading(bool)), cancelAction, SLOT(setEnabled(bool)));
+ connect(cancelAction, SIGNAL(triggered()), this, SLOT(uploadCancel()));
+
QAction *historyAction = new QAction(QIcon(":/icons/view-history"), tr("View &History"), buttonMenu);
- connect(historyAction, SIGNAL(triggered()), this, SLOT(showUploadDialog()));
+ connect(historyAction, SIGNAL(triggered()), this, SLOT(showHistoryDialog()));
QAction *goAction = new QAction(QIcon(":/icons/folder"), tr("&Go to Folder"), buttonMenu);
connect(goAction, SIGNAL(triggered()), this, SLOT(goToFolder()));
QActionGroup *screenshotGroup = new QActionGroup(buttonMenu);
screenshotGroup->addAction(screenAction);
screenshotGroup->addAction(windowAction);
screenshotGroup->addAction(windowPickerAction);
screenshotGroup->addAction(areaAction);
QMenu* imgurMenu = new QMenu(tr("Upload"));
imgurMenu->addAction(uploadAction);
+ imgurMenu->addAction(cancelAction);
imgurMenu->addAction(historyAction);
imgurMenu->addSeparator();
connect(screenshotGroup, SIGNAL(triggered(QAction*)), this, SLOT(screenshotActionTriggered(QAction*)));
buttonMenu->addAction(screenAction);
buttonMenu->addAction(areaAction);
buttonMenu->addAction(windowAction);
buttonMenu->addAction(windowPickerAction);
buttonMenu->addSeparator();
buttonMenu->addMenu(imgurMenu);
buttonMenu->addSeparator();
buttonMenu->addAction(goAction);
ui.screenshotPushButton->setMenu(buttonMenu);
ui.screenshotPushButton->showMenu();
}
void LightscreenWindow::showScreenshotMessage(const Screenshot::Result &result, const QString &fileName)
{
if (result == Screenshot::Cancel
|| mPreviewDialog)
return;
// Showing message.
QString title;
QString message;
if (result == Screenshot::Success) {
title = QFileInfo(fileName).fileName();
if (settings()->value("file/target").toString().isEmpty()) {
message = QDir::toNativeSeparators(QCoreApplication::applicationDirPath());
}
else {
message = tr("Saved to \"%1\"").arg(settings()->value("file/target").toString());
}
}
else {
title = tr("The screenshot was not taken");
message = tr("An error occurred.");
}
mLastMessage = 1;
mTrayIcon->showMessage(title, message);
}
-void LightscreenWindow::showUploadDialog()
-{
- HistoryDialog historyDialog(this);
- historyDialog.exec();
-}
-
void LightscreenWindow::showUploaderError(const QString &error)
{
mLastMessage = -1;
if (mTrayIcon && !error.isEmpty()) {
mTrayIcon->showMessage(tr("Upload error"), error);
}
updateUploadStatus();
}
void LightscreenWindow::showUploaderMessage(QString fileName, QString url)
{
if (!mTrayIcon)
return;
QString screenshot = QFileInfo(fileName).fileName();
+ if (screenshot.startsWith(".lstemp."))
+ screenshot = tr("Screenshot");
+
mLastMessage = 2;
mTrayIcon->showMessage(tr("%1 uploaded").arg(screenshot), tr("Click here to go to %1").arg(url));
updateUploadStatus();
}
void LightscreenWindow::toggleVisibility(QSystemTrayIcon::ActivationReason reason)
{
if (reason != QSystemTrayIcon::DoubleClick)
return;
if (isVisible()) {
if (settings()->value("options/tray").toBool() == false
&& closingWithoutTray())
return;
hide();
}
else {
show();
}
}
void LightscreenWindow::updateUploadStatus()
{
- int uploading = Uploader::instance()->uploading();
+ int uploadCount = Uploader::instance()->uploading();
QString statusString;
- if (uploading > 0) {
- statusString = tr("Uploading %1 screenshot(s)").arg(uploading);
+ if (uploadCount > 0) {
+ statusString = tr("Uploading %1 screenshot(s)").arg(uploadCount);
+ emit uploading(true);
}
else {
statusString = tr("Lightscreen");
+ emit uploading(false);
+
#ifdef Q_WS_WIN
if (mTaskbarButton) {
mTaskbarButton->SetProgresValue(0, 0);
mTaskbarButton->SetState(STATE_NOPROGRESS);
}
#endif
}
if (mTrayIcon) {
mTrayIcon->setToolTip(statusString);
}
setWindowTitle(statusString);
}
void LightscreenWindow::updaterDone(bool result)
{
settings()->setValue("lastUpdateCheck", QDate::currentDate().dayOfYear());
if (!result)
return;
QMessageBox msgBox;
msgBox.setWindowTitle(tr("Lightscreen"));
msgBox.setText(tr("There's a new version of Lightscreen available.<br>Would you like to see more information?<br>(<em>You can turn this notification off</em>)"));
msgBox.setIcon(QMessageBox::Information);
QPushButton *yesButton = msgBox.addButton(QMessageBox::Yes);
QPushButton *turnOffButton = msgBox.addButton(tr("Turn Off"), QMessageBox::ActionRole);
QPushButton *remindButton = msgBox.addButton(tr("Remind Me Later"), QMessageBox::RejectRole);
Q_UNUSED(remindButton);
msgBox.exec();
if (msgBox.clickedButton() == yesButton) {
QDesktopServices::openUrl(QUrl("http://lightscreen.sourceforge.net/whatsnew/?from=" + qApp->applicationVersion()));
}
else if (msgBox.clickedButton() == turnOffButton) {
settings()->setValue("options/disableUpdater", true);
}
}
void LightscreenWindow::upload(const QString &fileName)
{
Uploader::instance()->upload(fileName);
}
-void LightscreenWindow::uploadAction(QAction *upload)
+void LightscreenWindow::uploadCancel()
{
- QString url = upload->text();
+ if (Uploader::instance()->uploading() <= 0) {
+ return;
+ }
- if (url == tr("Uploading...")) {
- int confirm = QMessageBox::question(this, tr("Upload cancel"), tr("Do you want to cancel the upload of %1").arg(upload->toolTip()), tr("Cancel"), tr("Don't Cancel"));
+ int confirm = QMessageBox::question(this, tr("Upload cancel"), tr("Do you want to cancel all screenshot uploads?"), tr("Cancel"), tr("Don't Cancel"));
- if (confirm == 0) {
- Uploader::instance()->cancel(upload->whatsThis()); // Full path stored in the whatsThis
- }
- }
- else {
- QDesktopServices::openUrl(QUrl(url));
+ if (confirm == 0) {
+ Uploader::instance()->cancel();
+ updateUploadStatus();
}
}
void LightscreenWindow::uploadLast()
{
upload(mLastScreenshot);
updateUploadStatus();
}
void LightscreenWindow::uploadProgress(qint64 sent, qint64 total)
{
#ifdef Q_WS_WIN
if (mTaskbarButton)
mTaskbarButton->SetProgresValue(sent, total);
#endif
//TODO: Update mTrayIcon & windowTitle()
}
void LightscreenWindow::windowHotkey()
{
screenshotAction(1);
}
void LightscreenWindow::windowPickerHotkey()
{
screenshotAction(3);
}
//
void LightscreenWindow::applySettings()
{
bool tray = settings()->value("options/tray").toBool();
if (tray && !mTrayIcon) {
createTrayIcon();
mTrayIcon->show();
}
else if (!tray && mTrayIcon) {
mTrayIcon->deleteLater();
}
+ os::aeroGlass(this);
+
connectHotkeys();
mDoCache = false;
if (settings()->value("lastScreenshot").isValid())
mLastScreenshot = settings()->value("lastScreenshot").toString();
os::setStartup(settings()->value("options/startup").toBool(), settings()->value("options/startupHide").toBool());
}
//
void LightscreenWindow::connectHotkeys()
{
// Set to true because if the hotkey is disabled it will show an error.
bool screen = true, area = true, window = true, windowPicker = true, open = true, directory = true;
if (settings()->value("actions/screen/enabled").toBool())
screen = GlobalShortcutManager::instance()->connect(settings()->value(
"actions/screen/hotkey").value<QKeySequence> (), this, SLOT(screenshotAction()));
if (settings()->value("actions/area/enabled").toBool())
area = GlobalShortcutManager::instance()->connect(settings()->value(
"actions/area/hotkey").value<QKeySequence> (), this, SLOT(areaHotkey()));
if (settings()->value("actions/window/enabled").toBool())
window = GlobalShortcutManager::instance()->connect(settings()->value(
"actions/window/hotkey").value<QKeySequence> (), this, SLOT(windowHotkey()));
if (settings()->value("actions/windowPicker/enabled").toBool())
windowPicker = GlobalShortcutManager::instance()->connect(settings()->value(
"actions/windowPicker/hotkey").value<QKeySequence> (), this, SLOT(windowPickerHotkey()));
if (settings()->value("actions/open/enabled").toBool())
open = GlobalShortcutManager::instance()->connect(settings()->value(
"actions/open/hotkey").value<QKeySequence> (), this, SLOT(show()));
if (settings()->value("actions/directory/enabled").toBool())
directory = GlobalShortcutManager::instance()->connect(settings()->value(
"actions/directory/hotkey").value<QKeySequence> (), this, SLOT(goToFolder()));
QStringList failed;
if (!screen) failed << "screen";
if (!area) failed << "area";
if (!window) failed << "window";
if (!windowPicker) failed << "window picker";
if (!open) failed << "open";
if (!directory) failed << "directory";
if (!failed.isEmpty())
showHotkeyError(failed);
}
void LightscreenWindow::createTrayIcon()
{
mTrayIcon = new QSystemTrayIcon(QIcon(":/icons/lightscreen.small"), this);
updateUploadStatus();
connect(mTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(toggleVisibility(QSystemTrayIcon::ActivationReason)));
connect(mTrayIcon, SIGNAL(messageClicked()), this, SLOT(messageClicked()));
QAction *hideAction = new QAction(QIcon(":/icons/lightscreen.small"), tr("Show&/Hide"), mTrayIcon);
connect(hideAction, SIGNAL(triggered()), this, SLOT(toggleVisibility()));
QAction *screenAction = new QAction(QIcon(":/icons/screen"), tr("&Screen"), mTrayIcon);
screenAction->setData(QVariant(0));
QAction *windowAction = new QAction(QIcon(":/icons/window"), tr("Active &Window"), this);
windowAction->setData(QVariant(1));
QAction *windowPickerAction = new QAction(QIcon(":/icons/picker"), tr("&Pick Window"), this);
windowPickerAction->setData(QVariant(3));
QAction *areaAction = new QAction(QIcon(":/icons/area"), tr("&Area"), mTrayIcon);
areaAction->setData(QVariant(2));
QActionGroup *screenshotGroup = new QActionGroup(mTrayIcon);
screenshotGroup->addAction(screenAction);
screenshotGroup->addAction(areaAction);
screenshotGroup->addAction(windowAction);
screenshotGroup->addAction(windowPickerAction);
connect(screenshotGroup, SIGNAL(triggered(QAction*)), this, SLOT(screenshotActionTriggered(QAction*)));
// Duplicated for the screenshot button :(
QAction *uploadAction = new QAction(QIcon(":/icons/imgur"), tr("&Upload last"), mTrayIcon);
uploadAction->setToolTip(tr("Upload the last screenshot you took to imgur.com"));
connect(uploadAction, SIGNAL(triggered()), this, SLOT(uploadLast()));
+ QAction *cancelAction = new QAction(QIcon(":/icons/no"), tr("&Cancel upload"), mTrayIcon);
+ cancelAction->setToolTip(tr("Cancel the currently uploading screenshots"));
+ cancelAction->setEnabled(false);
+ connect(this, SIGNAL(uploading(bool)), cancelAction, SLOT(setEnabled(bool)));
+ connect(cancelAction, SIGNAL(triggered()), this, SLOT(uploadCancel()));
+
QAction *historyAction = new QAction(QIcon(":/icons/view-history"), tr("View History"), mTrayIcon);
- connect(historyAction, SIGNAL(triggered()), this, SLOT(showUploadDialog()));
+ connect(historyAction, SIGNAL(triggered()), this, SLOT(showHistoryDialog()));
//
QAction *optionsAction = new QAction(QIcon(":/icons/configure"), tr("View &Options"), mTrayIcon);
connect(optionsAction, SIGNAL(triggered()), this, SLOT(showOptions()));
QAction *goAction = new QAction(QIcon(":/icons/folder"), tr("&Go to Folder"), mTrayIcon);
connect(goAction, SIGNAL(triggered()), this, SLOT(goToFolder()));
QAction *quitAction = new QAction(tr("&Quit"), mTrayIcon);
connect(quitAction, SIGNAL(triggered()), this, SLOT(quit()));
QMenu* screenshotMenu = new QMenu(tr("Screenshot"));
screenshotMenu->addAction(screenAction);
screenshotMenu->addAction(areaAction);
screenshotMenu->addAction(windowAction);
screenshotMenu->addAction(windowPickerAction);
// Duplicated for the screenshot button :(
QMenu* imgurMenu = new QMenu(tr("Upload"));
imgurMenu->addAction(uploadAction);
+ imgurMenu->addAction(cancelAction);
imgurMenu->addAction(historyAction);
imgurMenu->addSeparator();
QMenu* trayIconMenu = new QMenu;
trayIconMenu->addAction(hideAction);
trayIconMenu->addSeparator();
trayIconMenu->addMenu(imgurMenu);
trayIconMenu->addSeparator();
trayIconMenu->addMenu(screenshotMenu);
trayIconMenu->addAction(optionsAction);
trayIconMenu->addAction(goAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
mTrayIcon->setContextMenu(trayIconMenu);
}
-void LightscreenWindow::optiPNG(const QString &fileName, bool upload)
-{
- if (upload) {
- // If the user has chosen to upload the screenshots we have to track the progress of the optimization, so we use QProcess
- QProcess* optipng = new QProcess(this);
-
- // To be read by optimizationDone() (for uploading)
- optipng->setProperty("screenshot", fileName);
-
- // Delete the QProcess once it's done.
- connect(optipng, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(optimizationDone()));
- connect(optipng, SIGNAL(finished(int, QProcess::ExitStatus)), optipng, SLOT(deleteLater()));
-
-#ifdef Q_OS_UNIX
- optipng->start("optipng", QStringList() << fileName);
-#else
- optipng->start(qApp->applicationDirPath() + QDir::separator() + "optipng.exe", QStringList() << fileName);
-#endif
-
- mOptimizeCount++;
- }
- else {
- // Otherwise start it detached from this process.
-#ifdef Q_WS_WIN
- ShellExecuteW(NULL, NULL, (LPCWSTR)QString(qApp->applicationDirPath() + QDir::separator() + "optipng.exe").toStdWString().data(), (LPCWSTR)fileName.toStdWString().data(), NULL, SW_HIDE);
-#endif
-
-#ifdef Q_OS_UNIX
- QProcess::startDetached("optipng \"" + fileName + "\" -quiet");
-#endif
-
- ScreenshotManager::instance()->saveHistory(fileName);
- }
-}
-
#ifdef Q_WS_WIN
bool LightscreenWindow::winEvent(MSG *message, long *result)
{
Taskbar::GetInstance()->winEvent(message, result);
return false;
}
#endif
QSettings *LightscreenWindow::settings() const
{
return ScreenshotManager::instance()->settings();
}
// Event handling
bool LightscreenWindow::event(QEvent *event)
{
if (event->type() == QEvent::Hide) {
settings()->setValue("position", pos());
}
else if (event->type() == QEvent::Close) {
quit();
}
- else if (event->type() == QEvent::Show) {
- os::aeroGlass(this);
-
+ else if (event->type() == QEvent::Show) {
if (!settings()->value("position").toPoint().isNull())
move(settings()->value("position").toPoint());
}
else if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
#ifdef Q_WS_MAC
if (keyEvent->modifiers() == Qt::ControlModifier && e->key() == Qt::Key_Period) {
keyEvent->ignore();
if(isVisible())
toggleVisibility();
return false;
}
else
#endif
if (!keyEvent->modifiers() && keyEvent->key() == Qt::Key_Escape) {
keyEvent->ignore();
if(isVisible())
toggleVisibility();
return false;
}
}
else if (event->type() == QEvent::LanguageChange) {
ui.retranslateUi(this);
resize(minimumSizeHint());
}
return QDialog::event(event);
}
diff --git a/lightscreenwindow.h b/lightscreenwindow.h
index 1451405..42bb75b 100644
--- a/lightscreenwindow.h
+++ b/lightscreenwindow.h
@@ -1,116 +1,116 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef LIGHTSCREENWINDOW_H
#define LIGHTSCREENWINDOW_H
#include <QtGui/QDialog>
#include <QPointer>
#include <QSystemTrayIcon>
#include "updater/updater.h"
#include "tools/screenshot.h"
#include "dialogs/previewdialog.h"
#include "ui_lightscreenwindow.h"
#ifdef Q_WS_WIN
#include "tools/qwin7utils/TaskbarButton.h"
#endif
class QHttp;
class Updater;
class QSettings;
class LightscreenWindow : public QDialog
{
Q_OBJECT
public:
LightscreenWindow(QWidget *parent = 0);
~LightscreenWindow();
public slots:
void action(int mode = 3);
void areaHotkey();
void checkForUpdates();
void cleanup(Screenshot::Options &options);
bool closingWithoutTray();
void goToFolder();
void messageClicked();
void messageReceived(const QString &message);
void notify(const Screenshot::Result &result);
- void optimizationDone();
void preview(Screenshot* screenshot);
void quit();
void restoreNotification();
void screenshotAction(int mode = 0);
void screenshotActionTriggered(QAction* action);
void showHotkeyError(const QStringList &hotkeys);
+ void showHistoryDialog();
void showOptions();
void showScreenshotMenu();
void showScreenshotMessage(const Screenshot::Result &result, const QString &fileName);
- void showUploadDialog();
void showUploaderError(const QString &error);
void showUploaderMessage(QString fileName, QString url);
void toggleVisibility(QSystemTrayIcon::ActivationReason reason = QSystemTrayIcon::DoubleClick);
void updateUploadStatus();
void updaterDone(bool result);
void upload(const QString &fileName);
- void uploadAction(QAction* upload);
+ void uploadCancel();
void uploadLast();
void uploadProgress(qint64 sent, qint64 total);
void windowHotkey();
void windowPickerHotkey();
private slots:
void applySettings();
+signals:
+ void uploading(bool uploading);
+
private:
void connectHotkeys();
void createTrayIcon();
- void optiPNG(const QString &fileName, bool upload);
#ifdef Q_WS_WIN
bool winEvent(MSG *message, long *result);
#endif
// Convenience function
QSettings *settings() const;
protected:
bool event(QEvent *event);
private:
bool mDoCache;
bool mHideTrigger;
bool mReviveMain;
bool mWasVisible;
int mLastMessage;
int mLastMode;
- int mOptimizeCount;
QString mLastScreenshot;
QPointer<QSystemTrayIcon> mTrayIcon;
QPointer<PreviewDialog> mPreviewDialog;
Ui::LightscreenWindowClass ui;
#ifdef Q_WS_WIN
QW7::TaskbarButton *mTaskbarButton;
#endif
};
#endif // LIGHTSCREENWINDOW_H
diff --git a/tools/qtimgur.cpp b/tools/qtimgur.cpp
index 7ddbd51..f344226 100644
--- a/tools/qtimgur.cpp
+++ b/tools/qtimgur.cpp
@@ -1,134 +1,146 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include "qtimgur.h"
#include <QFile>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QXmlStreamReader>
#include <QDebug>
QtImgur::QtImgur(const QString &APIKey, QObject *parent) : QObject(parent), mAPIKey(APIKey)
{
mNetworkManager = new QNetworkAccessManager(this);
connect(mNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(reply(QNetworkReply*)));
}
+void QtImgur::cancelAll()
+{
+ foreach (QNetworkReply *reply, mFiles.keys()) {
+ reply->abort();
+ mFiles.remove(reply);
+ reply->deleteLater();
+ }
+}
+
void QtImgur::cancel(const QString &fileName)
{
QNetworkReply *reply = mFiles.key(fileName);
if (!reply) {
return;
}
- reply->abort();
mFiles.remove(reply);
+
+ reply->abort();
reply->deleteLater();
}
void QtImgur::upload(const QString &fileName)
{
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) {
emit error(fileName, QtImgur::ErrorFile);
return;
}
QByteArray image = file.readAll().toBase64();
file.close();
QByteArray data;
data.append(QString("key=").toUtf8());
data.append(QUrl::toPercentEncoding(mAPIKey));
data.append(QString("&image=").toUtf8());
data.append(QUrl::toPercentEncoding(image));
- QNetworkReply *reply = mNetworkManager->post(QNetworkRequest(QUrl("http://api.imgur.com/2/upload.xml")), data);
+ QNetworkRequest request(QUrl("http://api.imgur.com/2/upload"));
+ request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
+
+ QNetworkReply *reply = mNetworkManager->post(request, data);
connect(reply, SIGNAL(uploadProgress(qint64, qint64)), this, SLOT(progress(qint64, qint64)));
mFiles.insert(reply, fileName);
}
void QtImgur::progress(qint64 bytesSent, qint64 bytesTotal)
{
qint64 totalSent, totalTotal;
QNetworkReply *senderReply = qobject_cast<QNetworkReply*>(sender());
senderReply->setProperty("bytesSent", bytesSent);
senderReply->setProperty("bytesTotal", bytesTotal);
totalSent = bytesSent;
totalTotal = bytesTotal;
foreach (QNetworkReply *reply, mFiles.keys()) {
if (reply != senderReply) {
totalSent += reply->property("bytesSent").toLongLong();
totalTotal += reply->property("bytesTotal").toLongLong();
}
}
emit uploadProgress(totalSent, totalTotal);
}
void QtImgur::reply(QNetworkReply *reply)
{
QString fileName = mFiles[reply];
- mFiles.remove(reply);
- if (reply->error() != QNetworkReply::NoError) {
- emit error(fileName, QtImgur::ErrorNetwork);
- return;
- }
+ mFiles.remove(reply);
if (reply->error() == QNetworkReply::OperationCanceledError) {
+ qDebug() << "Error: " << reply->errorString();
emit error(fileName, QtImgur::ErrorCancel);
return;
}
if (reply->rawHeader("X-RateLimit-Remaining") == "0") {
+
emit error(fileName, QtImgur::ErrorCredits);
return;
}
QXmlStreamReader reader(reply->readAll());
while (!reader.atEnd()) {
reader.readNext();
if (reader.isStartElement()) {
if (reader.name() == "error") {
+ qDebug() << "Error: " << reply->errorString();
emit error(fileName, QtImgur::ErrorUpload);
}
if (reader.name() == "imgur_page") {
QString url = reader.readElementText();
emit uploaded(fileName, url);
}
}
}
reply->deleteLater();
}
diff --git a/tools/qtimgur.h b/tools/qtimgur.h
index bf1f51e..43aeb2b 100644
--- a/tools/qtimgur.h
+++ b/tools/qtimgur.h
@@ -1,61 +1,62 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef QTIMGUR_H
#define QTIMGUR_H
#include <QObject>
#include <QHash>
#include <QNetworkReply>
class QNetworkAccessManager;
class QtImgur: public QObject {
Q_OBJECT
public:
enum Error {
ErrorFile,
ErrorNetwork,
ErrorCredits,
ErrorUpload,
ErrorCancel
};
QtImgur(const QString &APIKey, QObject *parent);
public slots:
+ void cancelAll();
void cancel(const QString &fileName);
void upload(const QString &fileName);
protected slots:
void progress(qint64, qint64);
void reply(QNetworkReply* reply);
signals:
void error(QString, QtImgur::Error);
void uploadProgress(qint64, qint64);
void uploaded(QString file, QString url);
private:
QString mAPIKey;
QNetworkAccessManager *mNetworkManager;
QHash<QNetworkReply*, QString> mFiles;
};
#endif // QTIMGUR_H
diff --git a/tools/screenshot.cpp b/tools/screenshot.cpp
index aab6061..9b5917c 100644
--- a/tools/screenshot.cpp
+++ b/tools/screenshot.cpp
@@ -1,407 +1,531 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <QApplication>
#include <QClipboard>
#include <QDateTime>
#include <QDesktopWidget>
#include <QFileDialog>
#include <QPainter>
#include <QPixmap>
+#include <QProcess>
#include <QDebug>
#include "windowpicker.h"
#include "../dialogs/areadialog.h"
+#include "uploader.h"
#include "screenshot.h"
+#include "screenshotmanager.h"
#include "os.h"
-
#ifdef Q_WS_WIN
#include <windows.h>
#endif
#ifdef Q_WS_X11
#include <QX11Info>
#include <X11/X.h>
#include <X11/Xlib.h>
#endif
Screenshot::Screenshot(QObject *parent, Screenshot::Options options):
QObject(parent),
mOptions(options),
mPixmapDelay(false),
mUnloaded(false),
mUnloadFilename()
{
// Here be crickets
}
Screenshot::~Screenshot()
{
- if (mUnloaded) {
+ qDebug() << "Deleting Screenshot object!";
+
+ if (!mUnloadFilename.isEmpty()) {
QFile::remove(mUnloadFilename);
}
}
QString Screenshot::getName(NamingOptions options, QString prefix, QDir directory)
{
QString naming;
int naming_largest = 0;
if (options.flip) {
naming = "%1" + prefix;
}
else {
naming = prefix + "%1";
}
switch (options.naming)
{
case Screenshot::Numeric: // Numeric
// Iterating through the folder to find the largest numeric naming.
foreach(QString file, directory.entryList(QDir::Files))
{
if (file.contains(prefix)) {
file.chop(file.size() - file.lastIndexOf("."));
file.remove(prefix);
if (file.toInt()> naming_largest) {
naming_largest = file.toInt();
}
}
}
if (options.leadingZeros > 0) {
//Pretty, huh?
QString format;
QTextStream (&format) << "%0" << (options.leadingZeros+1) << "d";
naming = naming.arg(QString().sprintf(format.toAscii(), naming_largest + 1));
}
else {
naming = naming.arg(naming_largest + 1);
}
-
break;
case Screenshot::Date: // Date
naming = naming.arg(QLocale().toString(QDateTime::currentDateTime(), options.dateFormat));
break;
case Screenshot::Timestamp: // Timestamp
naming = naming.arg(QDateTime::currentDateTime().toTime_t());
break;
case Screenshot::Empty:
naming = naming.arg("");
break;
}
return naming;
}
+QString& Screenshot::unloadedFileName()
+{
+ return mUnloadFilename;
+}
+
Screenshot::Options &Screenshot::options()
{
return mOptions;
}
QPixmap &Screenshot::pixmap()
{
if (mUnloaded) {
// A local reference.. what could go wrong? Nothing! Right guys? Guys?
QPixmap p;
p.load(mUnloadFilename);
return p;
}
return mPixmap;
}
//
void Screenshot::confirm(bool result)
{
+ qDebug() << "Screenshot::confirm(" << result << ")";
+
if (result) {
save();
}
else {
mOptions.result = Screenshot::Cancel;
+ emit finished();
}
- mPixmap = QPixmap(); // Cleanup just in case.
- emit finished();
+ emit cleanup();
+
+ mPixmap = QPixmap();
}
void Screenshot::confirmation()
{
+ qDebug() << "Screenshot: Asking for confirmation.";
emit askConfirmation();
- if (!mOptions.file) {
- return;
- }
-
- // Unloading the pixmap to reduce memory usage during previews
- mUnloadFilename = mOptions.directory.path() + QDir::separator() + QString(".lstemp.%1%2").arg(qrand() * qrand() + QDateTime::currentDateTime().toTime_t()).arg(extension());
- mUnloaded = mPixmap.save(mUnloadFilename, 0, mOptions.quality);
-
- if (mUnloaded) {
- mPixmap = QPixmap();
+ if (mOptions.file) {
+ unloadPixmap();
}
}
void Screenshot::discard()
{
+ qDebug() << "Screenshot: Discarding";
confirm(false);
}
void Screenshot::markUpload()
{
+ qDebug() << "Screenshot: Marking the screenshot as an upload";
mOptions.upload = true;
}
+void Screenshot::optimize()
+{
+ QProcess* process = new QProcess(this);
+
+ qDebug() << "Screenshot: Running optiPNG";
+
+ // Delete the QProcess once it's done.
+ connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), this , SLOT(optimizationDone()));
+ connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), process, SLOT(deleteLater()));
+
+ QString optiPNG;
+
+#ifdef Q_OS_UNIX
+ optiPNG = "optipng";
+#else
+ optiPNG = qApp->applicationDirPath() + QDir::separator() + "optipng.exe";
+#endif
+
+ if (!QFile::exists(optiPNG)) {
+ qDebug() << "OptiPNG not found!";
+ emit optimizationDone();
+ }
+
+ process->start(optiPNG, QStringList() << mOptions.fileName);
+
+ if (process->state() == QProcess::NotRunning) {
+ qDebug() << "OptiPNG failed to start!";
+ emit optimizationDone();
+ process->deleteLater();
+ }
+}
+
+void Screenshot::optimizationDone()
+{
+ qDebug() << "Screenshot::optimizationDone";
+
+ if (mOptions.upload) {
+ upload();
+ }
+ else {
+ emit finished();
+ }
+}
+
void Screenshot::save()
{
+ qDebug() << "Screenshot::save";
+
QString name = "";
QString fileName = "";
Screenshot::Result result = Screenshot::Fail;
if (mOptions.file && !mOptions.saveAs) {
name = newFileName();
}
else if (mOptions.file && mOptions.saveAs) {
name = QFileDialog::getSaveFileName(0, tr("Save as.."), newFileName(), "*" + extension());
+
+
}
if (!mOptions.replace && QFile::exists(name+extension())) {
// Ugly? You should see my wife!
int count = 0;
int cunt = 0;
QString naming = QFileInfo(name).fileName();
foreach(QString file, QFileInfo(name+extension()).dir().entryList(QDir::Files)) {
if (file.contains(naming)) {
file.remove(naming);
file.remove(" (");
file.remove(")");
file.remove(extension());
cunt = file.toInt();
if (cunt > count) {
count = cunt;
}
}
}
name = name + " (" + QString::number(count+1) + ")";
}
- fileName = name + extension();
+ if (mOptions.clipboard && !(mOptions.upload && mOptions.imgurClipboard)) {
+ qDebug() << "Setting the clipboard pixmap, unloaded:" << mUnloaded;
+
+ if (mUnloaded) {
+ mUnloaded = false;
+ mPixmap = QPixmap(mUnloadFilename);
+ }
+
+ QApplication::clipboard()->setPixmap(mPixmap, QClipboard::Clipboard);
+
+ if (!mOptions.file) {
+ result = (Screenshot::Result)1;
+ }
+ }
// In the following code I use (Screenshot::Result)1 instead of Screenshot::Success because of some weird issue with the X11 headers. //TODO
if (mOptions.file) {
- if (fileName.isEmpty()) {
- result = Screenshot::Fail;
+ fileName = name + extension();
+
+ if (name.isEmpty()) {
+ result = Screenshot::Cancel;
}
else if (mUnloaded) {
- result = (QFile::rename(mUnloadFilename, fileName)) ? (Screenshot::Result)1: Screenshot::Fail;
+ result = (QFile::rename(mUnloadFilename, fileName)) ? (Screenshot::Result)1: Screenshot::Fail;
}
else if (mPixmap.save(fileName, 0, mOptions.quality)) {
result = (Screenshot::Result)1;
}
else {
result = Screenshot::Fail;
}
os::addToRecentDocuments(fileName);
}
- if (mOptions.clipboard) {
- QApplication::clipboard()->setPixmap(mPixmap, QClipboard::Clipboard);
+ mOptions.fileName = fileName;
+ mOptions.result = result;
- if (!mOptions.file) {
- result = (Screenshot::Result)1;
+ if (!mOptions.result)
+ emit finished();
+
+ qDebug() << "Screenshot::save, time to optimize or upload. File: " << mOptions.file;
+
+ if (mOptions.format == Screenshot::PNG && mOptions.optimize && mOptions.file) {
+ if (!mOptions.upload) {
+ ScreenshotManager::instance()->saveHistory(mOptions.fileName);
}
- }
- mPixmap = QPixmap();
- mOptions.fileName = fileName;
- mOptions.result = result;
+ optimize();
+ }
+ else if (mOptions.upload) {
+ upload();
+ }
+ else if (mOptions.file) {
+ ScreenshotManager::instance()->saveHistory(mOptions.fileName);
+ emit finished();
+ }
+ else {
+ emit finished();
+ }
}
void Screenshot::setPixmap(QPixmap pixmap)
{
mPixmap = pixmap;
if (mPixmap.isNull()) {
emit confirm(false);
}
else {
confirmation();
}
}
void Screenshot::take()
{
switch (mOptions.mode)
{
case Screenshot::WholeScreen:
wholeScreen();
break;
case Screenshot::SelectedArea:
selectedArea();
break;
case Screenshot::ActiveWindow:
activeWindow();
break;
case Screenshot::SelectedWindow:
selectedWindow();
break;
}
if (mPixmapDelay)
return;
if (mPixmap.isNull()) {
confirm(false);
}
else {
confirmation();
}
}
+void Screenshot::upload()
+{
+ qDebug() << "Screenshot: upload -> " << mOptions.fileName;
+
+ if (!mOptions.file) {
+ if (unloadPixmap())
+ Uploader::instance()->upload(mUnloadFilename);
+ }
+ else {
+ Uploader::instance()->upload(mOptions.fileName);
+ }
+}
+
+void Screenshot::uploadDone(QString url)
+{
+ qDebug() << "Screenshot: uploadDone!";
+
+ if (mOptions.imgurClipboard)
+ QApplication::clipboard()->setText(url, QClipboard::Clipboard);
+
+ emit finished();
+}
+
//
void Screenshot::activeWindow()
{
#ifdef Q_WS_WIN
HWND fWindow = GetForegroundWindow();
if (fWindow == NULL)
return;
if (fWindow == GetDesktopWindow()) {
wholeScreen();
return;
}
mPixmap = os::grabWindow(GetForegroundWindow());
#endif
#if defined(Q_WS_X11)
Window focus;
int revert;
XGetInputFocus(QX11Info::display(), &focus, &revert);
mPixmap = QPixmap::grabWindow(focus);
#endif
}
QString Screenshot::extension() const
{
switch (mOptions.format) {
case Screenshot::PNG:
return ".png";
break;
case Screenshot::BMP:
return ".bmp";
break;
case Screenshot::JPEG:
default:
return ".jpg";
break;
}
}
void Screenshot::grabDesktop()
{
QRect geometry;
if (mOptions.currentMonitor) {
geometry = qApp->desktop()->screenGeometry(QCursor::pos());
}
else {
geometry = qApp->desktop()->geometry();
}
mPixmap = QPixmap::grabWindow(qApp->desktop()->winId(), geometry.x(), geometry.y(), geometry.width(), geometry.height());
if (mOptions.cursor && !mPixmap.isNull()) {
QPainter painter(&mPixmap);
painter.drawPixmap(QCursor::pos(), os::cursor());
}
}
QString Screenshot::newFileName() const
{
- if (!mOptions.directory.exists())
+ if (!mOptions.directory.exists()) {
mOptions.directory.mkpath(mOptions.directory.path());
+ }
QString naming = Screenshot::getName(mOptions.namingOptions, mOptions.prefix, mOptions.directory);
-
- QString fileName;
-
- QString path = QDir::toNativeSeparators(mOptions.directory.path());
+ QString path = QDir::toNativeSeparators(mOptions.directory.path());
// Cleanup
- if (path.at(path.size()-1) != QDir::separator() && !path.isEmpty())
+ if (path.at(path.size()-1) != QDir::separator() && !path.isEmpty()) {
path.append(QDir::separator());
+ }
+ QString fileName;
fileName.append(path);
fileName.append(naming);
return fileName;
}
void Screenshot::selectedArea()
{
grabDesktop();
if (mPixmap.isNull())
return;
AreaDialog selector(this);
int result = selector.exec();
if (result == QDialog::Accepted) {
mPixmap = mPixmap.copy(selector.resultRect());
}
else {
mPixmap = QPixmap();
}
}
void Screenshot::selectedWindow()
{
WindowPicker* windowPicker = new WindowPicker;
mPixmapDelay = true;
connect(windowPicker, SIGNAL(pixmap(QPixmap)), this, SLOT(setPixmap(QPixmap)));
}
+bool Screenshot::unloadPixmap()
+{
+ qDebug() << "Screenshot::Unloading pixmap to temporary file";
+
+ if (mUnloaded)
+ return true;
+
+ // Unloading the pixmap to reduce memory usage during previews
+ mUnloadFilename = mOptions.directory.path() + QDir::separator() + QString(".lstemp.%1%2").arg(qrand() * qrand() + QDateTime::currentDateTime().toTime_t()).arg(extension());
+ mUnloaded = mPixmap.save(mUnloadFilename, 0, mOptions.quality);
+
+ if (mUnloaded) {
+ mPixmap = QPixmap();
+ }
+
+ return mUnloaded;
+}
+
void Screenshot::wholeScreen()
{
grabDesktop();
}
-
diff --git a/tools/screenshot.h b/tools/screenshot.h
index 22d539d..7a8cdb2 100644
--- a/tools/screenshot.h
+++ b/tools/screenshot.h
@@ -1,132 +1,142 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef SCREENSHOT_H
#define SCREENSHOT_H
#include <QObject>
#include <QDir>
#include <QPixmap>
class Screenshot : public QObject
{
Q_OBJECT
public:
enum Format
{
PNG = 0,
JPEG = 1,
BMP = 2,
TIFF = 3
};
enum Naming
{
Numeric = 0,
Date = 1,
Timestamp = 2,
Empty = 3
};
enum Mode
{
WholeScreen = 0,
ActiveWindow = 1,
SelectedArea = 2,
SelectedWindow = 3
};
enum Result
{
Fail = 0,
Success = 1,
Cancel = 2
};
struct NamingOptions
{
Naming naming;
bool flip;
int leadingZeros;
QString dateFormat;
};
struct Options
{
QString fileName;
Result result;
Format format;
- QString prefix;
NamingOptions namingOptions;
QDir directory;
+ QString prefix;
+
int mode;
int quality;
- bool currentMonitor;
+ bool animations;
bool clipboard;
+ bool imgurClipboard;
+ bool currentMonitor;
+ bool cursor;
bool file;
- bool preview;
bool magnify;
- bool cursor;
- bool saveAs;
- bool animations;
+ bool optimize;
+ bool preview;
bool replace;
+ bool saveAs;
bool upload;
};
Screenshot(QObject *parent, Screenshot::Options options);
~Screenshot();
Screenshot::Options &options();
QPixmap &pixmap();
static QString getName(NamingOptions options, QString prefix, QDir directory);
+ QString &unloadedFileName();
public slots:
void confirm(bool result = true);
void confirmation();
void discard();
void markUpload();
+ void optimize();
+ void optimizationDone();
void save();
void setPixmap(QPixmap pixmap);
void take();
+ void upload();
+ void uploadDone(QString url);
signals:
void askConfirmation();
+ void cleanup();
void finished();
private:
void activeWindow();
QString extension() const;
void grabDesktop();
QString newFileName() const;
void selectedArea();
void selectedWindow();
+ bool unloadPixmap();
void wholeScreen();
private:
Screenshot::Options mOptions;
QPixmap mPixmap;
bool mPixmapDelay;
bool mUnloaded;
QString mUnloadFilename;
};
#endif // SCREENSHOT_H
diff --git a/tools/screenshotmanager.cpp b/tools/screenshotmanager.cpp
index 0d23873..101ebc3 100644
--- a/tools/screenshotmanager.cpp
+++ b/tools/screenshotmanager.cpp
@@ -1,116 +1,148 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include "screenshotmanager.h"
#include "screenshot.h"
+#include "uploader.h"
#include <QApplication>
#include <QDateTime>
#include <QDebug>
#include <QDesktopServices>
#include <QFile>
#include <QSettings>
-ScreenshotManager::ScreenshotManager(QObject *parent = 0) : QObject(parent), mCount(0)
+ScreenshotManager::ScreenshotManager(QObject *parent = 0) : QObject(parent)
{
if (QFile::exists(qApp->applicationDirPath() + "/config.ini")) {
mSettings = new QSettings(qApp->applicationDirPath() + QDir::separator() + "config.ini", QSettings::IniFormat);
mHistoryPath = qApp->applicationDirPath() + QDir::separator() + "history";
mPortableMode = true;
}
else {
mSettings = new QSettings();
mHistoryPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + QDir::separator() + "history";
mPortableMode = false;
}
+
+ connect(Uploader::instance(), SIGNAL(done(QString, QString)), this, SLOT(uploadDone(QString, QString)));
}
ScreenshotManager::~ScreenshotManager()
{
delete mSettings;
}
+int ScreenshotManager::activeCount() const
+{
+ return mScreenshots.count();
+}
+
QString& ScreenshotManager::historyPath()
{
return mHistoryPath;
}
bool ScreenshotManager::portableMode()
{
return mPortableMode;
}
void ScreenshotManager::saveHistory(QString fileName, QString url)
{
if (!mSettings->value("/options/history", true).toBool())
return;
QFile historyFile(mHistoryPath);
QTextStream out(&historyFile);
if (!historyFile.exists())
{
QString path = mHistoryPath;
path.chop(7);
if (!QDir().mkpath(path))
return;
}
if (historyFile.open(QFile::WriteOnly | QFile::Append)) {
out << QString("%1|%2|%3").arg(fileName).arg(url).arg(QDateTime::currentMSecsSinceEpoch()) << "\n";
+ historyFile.close();
}
-
- historyFile.close();
}
//
void ScreenshotManager::askConfirmation()
{
Screenshot* s = qobject_cast<Screenshot*>(sender());
emit confirm(s);
}
void ScreenshotManager::cleanup()
{
- Screenshot* s = qobject_cast<Screenshot*>(sender());
- emit windowCleanup(s->options());
- s->deleteLater();
+ Screenshot* screenshot = qobject_cast<Screenshot*>(sender());
+ emit windowCleanup(screenshot->options());
+}
+
+void ScreenshotManager::finished()
+{
+ Screenshot* screenshot = qobject_cast<Screenshot*>(sender());
+ mScreenshots.removeOne(screenshot);
+ screenshot->deleteLater();
}
void ScreenshotManager::take(Screenshot::Options &options)
{
Screenshot* newScreenshot = new Screenshot(this, options);
+ mScreenshots.append(newScreenshot);
connect(newScreenshot, SIGNAL(askConfirmation()), this, SLOT(askConfirmation()));
- connect(newScreenshot, SIGNAL(finished()) , this, SLOT(cleanup()));
+ connect(newScreenshot, SIGNAL(cleanup()) , this, SLOT(cleanup()));
+ connect(newScreenshot, SIGNAL(finished()) , this, SLOT(finished()));
newScreenshot->take();
}
+void ScreenshotManager::uploadDone(QString fileName, QString url)
+{
+ foreach (Screenshot* screenshot, mScreenshots) {
+ if (screenshot->options().fileName == fileName
+ || screenshot->unloadedFileName() == fileName) {
+ screenshot->uploadDone(url);
+
+ if (screenshot->options().file) {
+ saveHistory(fileName, url);
+ }
+ else {
+ saveHistory(QObject::tr("- no file -"), url);
+ }
+ }
+ }
+}
+
// Singleton
ScreenshotManager* ScreenshotManager::mInstance = 0;
ScreenshotManager *ScreenshotManager::instance()
{
if (!mInstance)
mInstance = new ScreenshotManager();
return mInstance;
}
diff --git a/tools/screenshotmanager.h b/tools/screenshotmanager.h
index adb9f61..578ad7d 100644
--- a/tools/screenshotmanager.h
+++ b/tools/screenshotmanager.h
@@ -1,70 +1,71 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef SCREENSHOTMANAGER_H
#define SCREENSHOTMANAGER_H
#include <QObject>
#include <QList>
#include "screenshot.h"
#include "qxtcsvmodel.h"
class QSettings;
class ScreenshotManager : public QObject
{
Q_OBJECT
public:
enum State
{
Idle = 0,
Busy = 1,
Disabled = 2
};
public:
ScreenshotManager(QObject *parent);
~ScreenshotManager();
static ScreenshotManager *instance();
- unsigned int count() const { return mCount; }
+ int activeCount() const;
QString &historyPath();
bool portableMode();
- void saveHistory(QString fileName, QString url = QObject::tr("- not uploaded -"));
- void setCount(const unsigned int c){ mCount = c; }
+ void saveHistory(QString fileName, QString url = QObject::tr("- not uploaded -"));// TODO: No TR?
QSettings *settings() const { return mSettings; }
public slots:
void askConfirmation();
void cleanup();
+ void finished();
void take(Screenshot::Options &options);
+ void uploadDone(QString fileName, QString url);
signals:
void confirm(Screenshot* screenshot);
void windowCleanup(Screenshot::Options &options);
private:
static ScreenshotManager* mInstance;
+ QList<Screenshot*> mScreenshots;
QSettings *mSettings;
QString mHistoryPath;
bool mPortableMode;
- int mCount; // Concurrent screenshot count.
};
#endif // SCREENSHOTMANAGER_H
diff --git a/tools/uploader.cpp b/tools/uploader.cpp
index 091418e..c86779a 100644
--- a/tools/uploader.cpp
+++ b/tools/uploader.cpp
@@ -1,152 +1,163 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include "uploader.h"
#include "qtimgur.h"
#include "screenshotmanager.h"
#include <QList>
#include <QPair>
#include <QDebug>
Uploader* Uploader::mInstance = 0;
-
-Uploader::Uploader(QObject *parent) : QObject(parent), mUploading(0)
+Uploader::Uploader(QObject *parent) : QObject(parent), mUploading(0), mProgressSent(0), mProgressTotal(0)
{
mImgur = new QtImgur("6920a141451d125b3e1357ce0e432409", this);
- connect(mImgur, SIGNAL(uploaded(QString, QString)), this, SLOT(uploaded(QString, QString)));
+ connect(mImgur, SIGNAL(uploaded(QString, QString)) , this, SLOT(uploaded(QString, QString)));
connect(mImgur, SIGNAL(error(QString, QtImgur::Error)), this, SLOT(imgurError(QString, QtImgur::Error)));
- connect(mImgur, SIGNAL(uploadProgress(qint64,qint64)), this, SIGNAL(progress(qint64,qint64)));
+ connect(mImgur, SIGNAL(uploadProgress(qint64,qint64)) , this, SLOT(reportProgress(qint64, qint64)));
}
Uploader *Uploader::instance()
{
if (!mInstance)
mInstance = new Uploader();
return mInstance;
}
QString Uploader::lastUrl() const
{
QListIterator< QPair<QString, QString> > i(mScreenshots);
i.toBack();
QString url;
while (i.hasPrevious()) {
url = i.previous().second;
if (!url.contains(tr("Uploading..."))) {
return url;
}
}
return url;
}
-void Uploader::cancel(const QString &fileName)
+void Uploader::cancel()
{
- mImgur->cancel(fileName);
+ mImgur->cancelAll();
}
void Uploader::imgurError(const QString &file, const QtImgur::Error e)
{
mUploading--;
// Removing the screenshot.
for (int i = 0; i < mScreenshots.size(); ++i) {
if (mScreenshots.at(i).first == file) {
mScreenshots.removeAt(i);
break;
}
}
if (e == mLastError) {
// Fail silently? Really? FINE
return;
}
QString errorString;
switch (e) {
case QtImgur::ErrorFile:
errorString = tr("Screenshot file not found.");
break;
case QtImgur::ErrorNetwork:
errorString = tr("Could not reach imgur.com");
break;
case QtImgur::ErrorCredits:
errorString = tr("You have exceeded your upload quota.");
break;
case QtImgur::ErrorUpload:
errorString = tr("Upload failed.");
break;
}
mLastError = e;
+
emit error(errorString);
}
void Uploader::upload(const QString &fileName)
{
if (fileName.isEmpty()) {
+ qDebug() << "Trying to upload an empty filename.";
return;
}
// Cancel on duplicate
for (int i = 0; i < mScreenshots.size(); ++i) {
if (mScreenshots.at(i).first == fileName) {
return;
}
}
+ qDebug() << "Uploader::upload(" << fileName << ")";
mImgur->upload(fileName);
QPair<QString, QString> screenshot;
screenshot.first = fileName;
screenshot.second = tr("Uploading...");
mScreenshots.append(screenshot);
mUploading++;
}
void Uploader::uploaded(const QString &file, const QString &url)
{
// Modifying uploaded list, adding url.
for (int i = 0; i < mScreenshots.size(); ++i) {
if (mScreenshots.at(i).first == file) {
mScreenshots[i].second = url;
break;
}
}
mUploading--;
- ScreenshotManager::instance()->saveHistory(file, url);
emit done(file, url);
}
int Uploader::uploading()
{
return mUploading;
}
+
+void Uploader::reportProgress(qint64 sent, qint64 total)
+{
+ mProgressSent = sent;
+ mProgressTotal = total;
+
+ qDebug() << "Reporting progress: " << mProgressSent << " of " << mProgressTotal;
+
+ emit progress(sent, total);
+}
diff --git a/tools/uploader.h b/tools/uploader.h
index e9e7fb5..7ddb0ee 100644
--- a/tools/uploader.h
+++ b/tools/uploader.h
@@ -1,60 +1,66 @@
/*
* Copyright (C) 2011 Christian Kaiser
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef UPLOADER_H
#define UPLOADER_H
#include <QObject>
#include <QList>
#include <QPair>
#include "qtimgur.h"
class Uploader : public QObject
{
Q_OBJECT
public:
Uploader(QObject *parent = 0);
static Uploader* instance();
QString lastUrl() const;
QList< QPair<QString, QString> > &screenshots() { return mScreenshots; }
+ qint64 progressSent() const { return mProgressSent; }
+ qint64 progressTotal() const { return mProgressTotal; }
public slots:
- void cancel(const QString &fileName);
+ void cancel();
void imgurError(const QString &file, const QtImgur::Error e);
void upload(const QString &fileName);
void uploaded(const QString &fileName, const QString &url);
int uploading();
+ void reportProgress(qint64 sent, qint64 total);
signals:
void done(QString, QString);
void error(QString);
void progress(qint64, qint64);
private:
static Uploader* mInstance;
// Filename, url
QList< QPair<QString, QString> > mScreenshots;
QtImgur *mImgur;
QtImgur::Error mLastError;
+ qint64 mProgressSent;
+ qint64 mProgressTotal;
+
int mUploading;
};
#endif // UPLOADER_H
diff --git a/translations/dutch.ts b/translations/dutch.ts
index b1d8865..ca9babb 100644
--- a/translations/dutch.ts
+++ b/translations/dutch.ts
@@ -1,1097 +1,1104 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="nl">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation type="unfinished">Sluiten</translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation>Klik om sneltoets in te stellen... </translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation>Sneltoets invoeren</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation>Ongeldige sneltoets</translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation>U koos ervoor om Lightscreen te verbergen terwijl er geen pictogram is in het systeemvak. Hierdoor kunt u het programma alleen openen &lt;b&gt;als u een sneltoets hebt ingesteld&lt;/b&gt;.&lt;br&gt;Wat wilt u doen?</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation>Verbergen maar pictogram in systeemvak inschakelen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation>Verbergen en niet waarschuwen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation>Enkel verbergen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
- <source>Don&apos;t Quit</source>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="640"/>
- <source>The screenshot was not taken</source>
- <translation>Er werd geen schermafdruk gemaakt</translation>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
- <source>Active &amp;Window</source>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
- <source>&amp;Pick Window</source>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="636"/>
- <source>Saved to &quot;%1&quot;</source>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
+ <source>Don&apos;t Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="640"/>
+ <source>The screenshot was not taken</source>
+ <translation>Er werd geen schermafdruk gemaakt</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
+ <source>Active &amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
+ <source>&amp;Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="636"/>
+ <source>Saved to &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
<source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>%1 uploaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>Click here to go to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
<source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation>Mislukt!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation>Sommige sneltoetsen konden niet geregistreerd worden en zijn mogelijk al in gebruik</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translation>&lt;b&gt;Dit zijn de mislukte sneltoetsen:</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation>&lt;br&gt;De mislukte sneltoets is &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation>&lt;br&gt;&lt;i&gt;Wat wilt u doen?&lt;/i&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation>Veranderen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation>Uitzetten</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
- <source>Screenshot</source>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
+ <source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation>Afsluiten</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation>Er is een nieuwe versie van Lightscreen beschikbaar.&lt;br&gt;Wilt u meer informatie?&lt;br&gt;(&lt;em&gt;U kunt deze melding uitschakelen&lt;/em&gt;)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation>Uitschakelen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation>Herinner mij later</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation>&amp;Bureaublad</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation>&amp;Gebied</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation>Ga naar &amp;map</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation>&amp;Tonen/Verbergen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation>&amp;Voorkeuren</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation>&amp;Afsluiten</translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation>Lightscreen instellen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation>&amp;Voorkeuren</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation>Lightscreen verbergen </translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation>Verber&amp;gen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation>&amp;Aflsuiten</translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation type="unfinished">Versie %1</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation>Conflicterende sneltoetsen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation>U hebt dezelfde sneltoetsen toegewezen aan verschillende acties.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation>Tekenfout in bestandsnaam</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation>De bestandsnaam kan volgende tekens niet bevatten: ? : \ / * &quot; &lt; &gt; |</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation>Selecteer waar u de schermafdrukken wilt opslaan</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation>U zult uw huidige voorkeuren verliezen als u de standaardwaarden herstelt.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation>Herstellen</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation>Niet herstellen</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation>Voorkeuren</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation>Bestand</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation>&amp;Map:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation>Het voorvoegsel voor het bestand met de schermafdruk</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation>&amp;Bestandsnaam:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation>Het voorvoegsel zal ingevoegd worden voor de &lt;em&gt;Naamgeving&lt;/em&gt; in het bestand met de schermafdruk. Het wordt gewoonlijk gebruikt om bestanden te onderscheiden. U kunt dit leeg laten.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation>(nummer)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation>(datum)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation>Het bestandsformaat voor de schermafdruk</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation>&amp;Formaat:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation type="unfinished"></translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation>V&amp;ertraging:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation>Het programma zal het hier opgegeven aantal seconden &lt;b&gt;wachten&lt;/b&gt; voor de schermafdruk wordt gemaakt.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation>geen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation> seconden</translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation type="unfinished">&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Projectsite op Sourceforge bezoeken&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Website van Lightscreen bezoeken&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation>&amp;Lightscreen opstarten bij systeemstart.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation>&amp;Hoofdvenster verbergen.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation>&amp;Pictogram tonen in systeemvak.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation>&amp;Lightscreen verbergen bij aanmaak schermafdruk.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation>Vergr&amp;ootglas tonen bij schermafdruk van gebied.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation>&amp;Taal:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation>Klik hier om de website van Lightscreen te bezoeken om meer te weten te komen over vertalingen.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;Meer informatie.&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation>&amp;Notificeer met:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation>Toont een bericht wanneer de schermafdruk is opgeslagen. Als u op dit bericht klikt, dan wordt de map geöpend waarin de schermafdruk werd opgeslagen.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation>Bericht bij systeemvakpictogram</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation>Gel&amp;uidsnotificatie</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation>Deze schuifbalk gaat van 0 (laagst) tot 100 (hoogst).&lt;br&gt;
De kwaliteit heeft invloed op de bestandsgrootte en de duidelijkheid van de schermafdruk.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation>Schermafdruk &amp;kopiëren naar het klipbord.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation>Cursor op&amp;nemen in de schermafdruk.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation>Schermafdrukken in &amp;PNG-formaat optimaliseren.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation>&amp;Waarschuwen bij verbergen zonder pictogram in systeemvak.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation>Opslaan als...</translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation type="unfinished">Sluiten</translation>
</message>
</context>
</TS>
diff --git a/translations/italian.ts b/translations/italian.ts
index e1ae5f7..065ba4e 100644
--- a/translations/italian.ts
+++ b/translations/italian.ts
@@ -1,1097 +1,1104 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="it_IT">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation type="unfinished">Chiudi</translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation>Clicca per selezionare la scorciatoia...</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation>Inserisci la scorciatoia</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation>Scorciatoia non valida</translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation>Hai scelto di nascondere Lightscreen quando non c&apos;è nessuna icona nel tray, perciò non potrai accedere al programma &lt;b&gt;a meno che non hai selezionato una scorciatoia per fare ciò&lt;/b&gt;.&lt;br&gt;Cosa vuoi fare?</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation>Nascondi ma abilita tray</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation>Nascondi e non avvisare</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation>Nascondi</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
- <source>Don&apos;t Quit</source>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="640"/>
- <source>The screenshot was not taken</source>
- <translation>Lo screenshot non è stato creato</translation>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
- <source>Active &amp;Window</source>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
- <source>&amp;Pick Window</source>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="636"/>
- <source>Saved to &quot;%1&quot;</source>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
+ <source>Don&apos;t Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="640"/>
+ <source>The screenshot was not taken</source>
+ <translation>Lo screenshot non è stato creato</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
+ <source>Active &amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
+ <source>&amp;Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="636"/>
+ <source>Saved to &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
<source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>%1 uploaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>Click here to go to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
<source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation>Fallito!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation>Alcune scorciatoie non possono essere registrate, potrebbero essere in uso</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translation>&lt;br&gt;Le scorciatoie non accettate sono le seguenti:</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation>&lt;br&gt;La scorciatoia non accettata è &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation>&lt;br&gt;&lt;i&gt;Cosa vuoi fare?&lt;/i&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation>Cambia</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation>Disabilita</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
- <source>Screenshot</source>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
+ <source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation>Esci</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation>E&apos; disponibile una nuova versione di Lightscreen.&lt;br&gt;Vuoi vedere più informazioni?&lt;br&gt;(&lt;em&gt;Puoi disattivare questa notifica&lt;/em&gt;)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation>Spegni</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation>Ricordamelo più tardi</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation>&amp;Schermo</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation>&amp;Area</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation>&amp;Vai alla cartella</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation>Mostra&amp;/Nascondi</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation>Visualizza &amp;Opzioni</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation>&amp;Esci</translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation>Configura Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation>&amp;Opzioni</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation>Nascondi Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation>&amp;Nascondi</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation>&amp;Esci</translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation type="unfinished">Versione %1</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation>Conflitto di scorciatoie</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation>Hai assegnato la stessa scorciatoia a più azioni.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation>Errore nei caratteri del nome del file</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation>Il nome del file non può contenere nessuno dei seguenti caratteri: ? : \ / * &quot; &lt; &gt; |</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation>Seleziona dove vuoi salvare gli screenshot</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation>Ripristinare le opzioni di default causerà la perdita della corrente configurazione.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation>Ripristina</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation>Non ripristinare</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation>Opzioni - Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation>&amp;Cartella:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation>Il prefisso per il file dello screenshot</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation>&amp;Nome file:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation>Il prefisso verrà inserito prima del &lt;em&gt;Nome&lt;/em&gt; nel file nome del file dello screenshot ed è solitamente usato per distinguere i file. Può essere lasciato vuoto.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation>(numero)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation>(timestamp)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation>(data)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation>Il formato del file dello screenshot</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation>F&amp;ormato:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation>&amp;Ritardo:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation>Selezionando qualsiasi numero oltre lo 0 &lt;b&gt;fermerà&lt;/b&gt; il programma per lo stesso numero di secondi prima di fare lo screenshot.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation>niente</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation> secondi</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation>Esegui &amp;Lightscreen all&apos;avvio del sistema.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation>Nas&amp;condi la finestra principale.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation>&amp;Mostra l&apos;icona nel tray.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation>&amp;Nascondi Lightscreen mentre scatta lo screenshot.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation>&amp;Ingrandisci attorno il mouse nella modalità area.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation>&amp;Lingua:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation>Clicca qui per andare nella Home page di Lightscreen e sapere di più sulla traduzione.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;Maggiori informazioni..&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation>&amp;Notifica con:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation type="unfinished"></translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation>Mostra un messaggio di completamento quando lo screenshot è salvato, cliccando su questo messagio si aprirà la cartella in cui lo screenshot è salvato.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation>Popup Icona Tray</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation>&amp;Suono</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation type="unfinished">&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visita la pagina del progetto su Sourceforge&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visita l&apos;home page di Lightscreen&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;i&gt;Tradotto da Sum90&lt;/i&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation>Lo slider va da 0 a 100. 100 è la massima qualità e 0 la più bassa.&lt;bt&gt;
La qualità determina la grandezza del file e naturalmente la leggibilità e la qualità generale dell&apos;imagine.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation>&amp;Copia lo screenshot negli appunti.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation>Inc&amp;ludi il cursore nello screenshot.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation>Ot&amp;timizza screenshot PNG.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation>Avvisa quando nascondi senza icona tra&amp;y.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation>Salva come..</translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation type="unfinished">Chiudi</translation>
</message>
</context>
</TS>
diff --git a/translations/japanese.ts b/translations/japanese.ts
index f624e52..cca78b6 100644
--- a/translations/japanese.ts
+++ b/translations/japanese.ts
@@ -1,1097 +1,1104 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="ja_JP">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation type="unfinished">閉じる</translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation>ボタンのクリックでホットキーの変更...</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation>ホットキーの指定</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation>無効なホットキー</translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation>トレイ アイコンを表示せずにウィンドウを隠すと &lt;b&gt;ホットキー&lt;/b&gt; 以外では Lightscreen を操作できなくなります。&lt;br&gt;どうしますか ?</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation>トレイへ隠す</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation>以降、確認せず隠す</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation>今回は隠す</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
- <source>Don&apos;t Quit</source>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="640"/>
- <source>The screenshot was not taken</source>
- <translation>キャプチャできませんでした</translation>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
- <source>Active &amp;Window</source>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
- <source>&amp;Pick Window</source>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="636"/>
- <source>Saved to &quot;%1&quot;</source>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
+ <source>Don&apos;t Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="640"/>
+ <source>The screenshot was not taken</source>
+ <translation>キャプチャできませんでした</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
+ <source>Active &amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
+ <source>&amp;Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="636"/>
+ <source>Saved to &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
<source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>%1 uploaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>Click here to go to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
<source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation type="unfinished">失敗 !</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation>既にホットキーに使用されている使用されているキーは指定できません</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translation>&lt;br&gt;無効なホットキー:</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation>&lt;br&gt;無効なホットキー:&lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation>&lt;br&gt;&lt;i&gt;どうしますか?&lt;/i&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation>変更</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation>無効化</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
- <source>Screenshot</source>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
+ <source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation>終了</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation>Lightscreen 新たなバージョンがリリースされています。&lt;br&gt;サイトに接続して情報をチェックしますか ?&lt;br&gt;(&lt;em&gt;この通知をオフにすることもできます。&lt;/em&gt;)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation>通知しない</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation>あとで通知</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation>画面全体(&amp;S)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation>指定範囲(&amp;A)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation>保存フォルダを開く(&amp;G)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation>表示/隠す(&amp;H)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation>オプションの表示(&amp;O)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation>終了(&amp;X)</translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation>Lightscreen の設定</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation>オプション(&amp;O)</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation>Lightscreen を隠す</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation>隠す(&amp;H)</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation>終了(&amp;X)</translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation type="unfinished">バージョン %1</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation>ホットキーの重複</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation>同じキーが違う操作に重複指定されています。</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation>ファイル名のエラー</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation>以下の文字はファイル名に使用できません: ? : \ / * &quot; &lt; &gt; |</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation>キャプチャ画像の保存先の選択</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation>現在の設定をクリアして初期状態に戻します。</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation>復元</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation>復元しない</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation>オプション - Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation>ファイル</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation>ディレクトリ(&amp;D):</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation>保存ファイル名のプリフィクス</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation>ファイル名(&amp;F):</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation>プリフィクスは画像の保存時に&lt;em&gt;ファイル名に常に使用&lt;/em&gt;される語句です。空欄にしておくこともできます。</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation>(連番)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation>(日時)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation>画像ファイルの保存フォーマット</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation>フォーマット(&amp;O):</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation type="unfinished"></translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation>遅延(&amp;E):</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation>プログラムがキャプチャーを行うときの&lt;b&gt;待機時間&lt;/b&gt;(秒)を設定します。0 より大きい数値で指定してください。</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation>なし</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation> 秒</translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation type="unfinished">&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;SourceForge プロジェクト ページへ&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Lightscreen のホーム ページへ&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation>Lightscreen を Windows のスタートアップに登録(&amp;R).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation>メイン ウィンドウを表示しない(&amp;I).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation>システム トレイにアイコンを表示(&amp;W).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation>キャプチャー後に Lightscreen を隠す(&amp;H).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation>指定範囲モードでカーソルの周辺を拡大(&amp;M).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation>使用言語(&amp;L):</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation>ここをクリックして、Lightscreen のホームページで翻訳情報を確認。</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;情報をチェック..&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation>通知方法(&amp;N):</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation>スクリーンショットの保存後にメッセージが表示されます。メッセージ バルーンをクリックすれば保存先を開くことができます。</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation>トレイにポップアップ</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation>通知音(&amp;S)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation>このスライダでキャプチャの品質を変更します。0 から 100 まで。低品質は左へ、高品質は右はへ。&lt;br&gt;
品質は画像のファイル サイズと見映えに影響を及ぼします。</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation>スナップショットをクリップボードにコピー(&amp;C).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation>カーソルもキャプチャーする(&amp;L).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation>最適化 PNG スクリーンショットを使用(&amp;P).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation>トレイ アイコンを非表示のままウィンドウを隠そうとしたとき警告(&amp;Y).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation>名づけて保存..</translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation type="unfinished">閉じる</translation>
</message>
</context>
</TS>
diff --git a/translations/polish.ts b/translations/polish.ts
index 574ff7c..5654b39 100644
--- a/translations/polish.ts
+++ b/translations/polish.ts
@@ -1,1098 +1,1105 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="pl_PL">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation type="unfinished">Zamknij</translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation>Kliknij aby wybrać klawisz skrótu...</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation>Wpisz twój klawisz skrótu</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation>Błąd klawisza skrótu</translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation>Wybrałeś ukrycie programu Lightscreen bez ikony w zasobniku systemowym, dlatego program będzie niedostępny &lt;b&gt;chyba że ustawiłeś dla niego klawisz skrótu&lt;/b&gt;.&lt;br&gt;Czy chcesz to wykonać?</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation>Ukryj ale włącz zasobnik</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation>Ukryj i nie ostrzegaj</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation>Tylko ukryj</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
- <source>Don&apos;t Quit</source>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="640"/>
- <source>The screenshot was not taken</source>
- <translation>Nie zrobiono zrzutu ekranu</translation>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
- <source>Active &amp;Window</source>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
- <source>&amp;Pick Window</source>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="636"/>
- <source>Saved to &quot;%1&quot;</source>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
+ <source>Don&apos;t Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="640"/>
+ <source>The screenshot was not taken</source>
+ <translation>Nie zrobiono zrzutu ekranu</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
+ <source>Active &amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
+ <source>&amp;Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="636"/>
+ <source>Saved to &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
<source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>%1 uploaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>Click here to go to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
<source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation>Błąd!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation>Nie można zarejestrować niektórych klawiszy skrótu, mogą już być w użytku</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translatorcomment>&lt;br&gt;Błędne klawisze skrótu to:</translatorcomment>
<translation></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation>&lt;br&gt;Błędny klawisz skrótu to &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation>&lt;br&gt;&lt;i&gt;Co chcesz wykonać?&lt;/i&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation>Zmień</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation>Wyłącz</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
- <source>Screenshot</source>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
+ <source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation>Zakończ</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation>Dostępna jest nowa wersja programu Lightscreen.&lt;br&gt;Czy chcesz zobaczyć dalsze informacje?&lt;br&gt;(&lt;em&gt;Możesz wyłączyć ten komunikat&lt;/em&gt;)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation>Wyłącz</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation>Przypominaj później</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation>&amp;Ekran</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation>Obsz&amp;ar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation>&amp;Przejdź do folderu</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation>Pokaż&amp;/Ukryj</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation>Pokaż &amp;Opcje</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation>&amp;Zakończ</translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation>Skonfiguruj Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation>&amp;Opcje</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation>Ukryj Lightscreen </translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation>&amp;Ukryj</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation>&amp;Zakończ</translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation type="unfinished">Wersja %1</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation>Konflikt z klawiszami skrótu</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation>Ustawiłeś te same skróty klawiszy dla więcej niż jednej akcji.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation>Wybierz gdzie chcesz zapisywać zrzuty ekranu</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation>Odtworzenie domyślnych opcji powoduje utratę aktualnej konfiguracji.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation>Odtwórz</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation>Nie Odtwarzaj</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation>Opcje - Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation>&amp;Plik</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation>K&amp;atalog:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation>Prefiks dla pliku zrzutu ekranu</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation>&amp;Nazwa pliku:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation>Prefiks zostanie wstawiony przed nadaniem nazwy pliku zrzutu ekranu i jest zwykle używany do odróżnienia plików. Może być pusty.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation>(numer)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation>(czas)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation>(data)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation>Format pliku dla zrzutu ekranu</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation>&amp;Format:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation>Opóźni&amp;enie:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation>Wybór wartości tej opcji innej niż 0 spowoduje, że program &lt;b&gt;czeka&lt;/b&gt; podaną ilość sekund przed podjęciem zrzutu ekranu.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation>brak</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation> sekund(y)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation>Uruchom Lightscreen przy &amp;starcie systemu.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation>&amp;Ukryj główne okno.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation>&amp;Pokaż ikonę w zasobniku systemowym.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation>&amp;Ukryj Lightscreen podczas zrzutu ekranu.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation>&amp;Szkło powiększające wokół myszy w trybie obszaru.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation>&amp;Język:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation>Kliknij tutaj aby przejść do strony głównej Lightscreen, aby dowiedzieć się więcej na temat tłumaczeń.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;Więcej informacji..&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation>Zawiadom przez:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation type="unfinished"></translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation>Pokazuje komunikat po zapisaniu zrzutu ekranu, kliknięcie na tą wiadomość przenosi cię do katalogu, w którym został zapisany zrzut ekranu.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation>&amp;Ikonę Popup w zasobniku</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation>Efekt &amp;dźwiękowy</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation type="unfinished">&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Odwiedź stronę projektu na Sourceforge&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Odwieź główną stronę Lightscreen&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation>Ten suwak ma wartości od 0 do 100. 100 to najwyższa jakość a 0 najniższa.&lt;br&gt;
Różnica jakości związana jest z rozmiarem pliku, jego czytelnością i ogólnym wyglądem obrazu.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation>Kopiuj zrzut ekranu do &amp;schowka.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation>&amp;Dołącz kursor w zrzucie ekranu.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation>&amp;Polepsz pliki PNG.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation>Ostrzegaj gdy chowasz bez ikony w &amp;trayu.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation>Zapisz jako..</translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation type="unfinished">Zamknij</translation>
</message>
</context>
</TS>
diff --git a/translations/portuguese.ts b/translations/portuguese.ts
index 4b1d746..713d31d 100644
--- a/translations/portuguese.ts
+++ b/translations/portuguese.ts
@@ -1,1097 +1,1104 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="pt_BR" sourcelanguage="en">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation type="unfinished">Fechar</translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation>Clique para selecionar uma hotkey...</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation>Pressione sua hotkey</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation>Hotkey inválida</translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation>Você escolheu esconder o lightscreen mesmo sem o ícone na área de notificaçao, então você não terá acesso ao programa &lt;b&gt;a menos que você selecione uma hotkey para isso&lt;/b&gt;.&lt;br&gt;O que você deseja fazer?</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation>Esconder e habilitar o ícone na área de notificaçao</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation>Esconder e não avisar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation>Apenas esconda</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
- <source>Don&apos;t Quit</source>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="640"/>
- <source>The screenshot was not taken</source>
- <translation>A screenshot não foi feita</translation>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
- <source>Active &amp;Window</source>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
- <source>&amp;Pick Window</source>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="636"/>
- <source>Saved to &quot;%1&quot;</source>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
+ <source>Don&apos;t Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="640"/>
+ <source>The screenshot was not taken</source>
+ <translation>A screenshot não foi feita</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
+ <source>Active &amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
+ <source>&amp;Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="636"/>
+ <source>Saved to &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
<source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>%1 uploaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>Click here to go to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
<source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation>Falhou!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation>Alguma(s) hotkey(s) não pode(puderam) ser registrada(s), ela(s) pode(m) estar em uso</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translation>&lt;br&gt;A(s) hotkey(s) é(são):</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation>&lt;br&gt;A hotkey é &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation>&lt;br&gt;&lt;i&gt;O que você deseja fazer?&lt;/i&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation>Trocar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation>Desabilitar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
- <source>Screenshot</source>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
+ <source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation>Sair</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation>Existe uma nova versão do Lightscreen.&lt;br&gt;Você gostaria de mais informaçoes?&lt;br&gt;(&lt;em&gt;Você pode desligar essa notificação&lt;/em&gt;)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation>Desligar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation>Lembrar mais tarde</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation>T&amp;ela</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation>Áre&amp;a</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation>&amp;Ir para a pasta</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation>Mostrar/Escond&amp;er</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation>Ver &amp;Opções</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation>Sa&amp;ir</translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation>Configurar o Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation>&amp;Opções</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation>Esconder o Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation>&amp;Esconder</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation>Sa&amp;ir</translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation type="unfinished">Versão %1</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation>Conflito entre Hotkeys</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation>Você designou a mesma hotkey para mais de uma ação.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation>Caractere não permitido no nome do arquivo</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation>O nome do arquivo não pode conter os seguintes caracteres: ? : \ / * &quot; &lt; &gt; |</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation>Selecione um local para salvar as screenshots</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation>Restaurando as opções padrão causará a perda das configurações atuais.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation>Restaurar</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation>Não restaurar</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation>Opções do Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation>Arquivo</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation>&amp;Pasta:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation>O prefixo para o nome do arquivo</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation>&amp;Nome do arquivo:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation>(número)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation>(data)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation>Formato de arquivo</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation>F&amp;ormato:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation type="unfinished"></translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation>Atras&amp;o:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation>nenhum</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation> segundos</translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation type="unfinished">&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visite o site do projeto na Sourceforge&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visite o site do Lightscreen&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation>&amp;Abrir o Lighscreen na inicialização do sistema.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation>Esconder a janela pr&amp;incipal.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation>Mostrar ícone na área de n&amp;otificação.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation>&amp;Esconder o Lighscreen durande a screenshot.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation>Zoom da área do &amp;mouse.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation>&amp;Idioma:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation>Clique aqui para ir até a página no Lightscreen e aprenda mais sobre atualizações.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;Mais informações...&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation>&amp;Notificar com:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation>Mostrar mensagem quando uma screenshot for capturada.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation>Balão na área de notificação</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation>&amp;Som</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation>&amp;Copiar a Screenshot para a área de transferência.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation>Inc&amp;luir o cursor do mouse na screenshot.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation>O&amp;ptimizar as screenshots salvas como PNG.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation>Avisar quando esconder sem um ícone na área de noti&amp;ficaçao.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation>Salvar como..</translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation type="unfinished">Fechar</translation>
</message>
</context>
</TS>
diff --git a/translations/russian.ts b/translations/russian.ts
index e7f9541..a261af4 100644
--- a/translations/russian.ts
+++ b/translations/russian.ts
@@ -1,1097 +1,1104 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="ru_RU">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation type="unfinished">Закрыть</translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation type="unfinished">Нажмите для выбора горячей клавиши...</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation type="unfinished">Нажмите Ваши горячие клавиши</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation type="unfinished">Недействительная горячая клавиша</translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation type="unfinished">Lightscreen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation type="unfinished">Вы выбрали скрыть Lightscreen так, что иконка в системном трее не будет отображаться, и Вы не сможете получить доступ к программе, &lt;b&gt;если не определены горячие клавиши&lt;/b&gt;.&lt;br&gt;Что Вы хотите сделать?</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation type="unfinished">Скрыть, но оставить в системном трее</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation type="unfinished">Скрыть не предупреждая</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation type="unfinished">Просто скрыть</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
- <source>Don&apos;t Quit</source>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="640"/>
- <source>The screenshot was not taken</source>
- <translation type="unfinished">Скриншот не сделан</translation>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
- <source>Active &amp;Window</source>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
- <source>&amp;Pick Window</source>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="636"/>
- <source>Saved to &quot;%1&quot;</source>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
+ <source>Don&apos;t Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="640"/>
+ <source>The screenshot was not taken</source>
+ <translation type="unfinished">Скриншот не сделан</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
+ <source>Active &amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
+ <source>&amp;Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="636"/>
+ <source>Saved to &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
<source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>%1 uploaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>Click here to go to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
<source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation type="unfinished">Ошибка!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation type="unfinished">Некоторые клавиши не зарегистрированы, поскольку уже могут быть в эксплуатации</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translation type="unfinished">&lt;br&gt; Следующие клавиши не верны:</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation type="unfinished">&lt;br&gt;Неверная горячая клавиша&lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation type="unfinished">&lt;br&gt;&lt;i&gt;Что Вы хотите сделать?&lt;/i&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation type="unfinished">Изменить</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation type="unfinished">Отключить</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
- <source>Screenshot</source>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
+ <source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation type="unfinished">Выход</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation type="unfinished">В новой версии Lightscreen.&lt;br&gt;Вы хотели бы увидеть больше информации?&lt;br&gt;(&lt;em&gt;Вы можете просто выключить это уведомление&lt;/em&gt;)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation type="unfinished">Отключить</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation type="unfinished">Напомнить позже</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation type="unfinished">&amp;Экран</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation type="unfinished">О&amp;бласть</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation type="unfinished">&amp;Перейти в папку</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation type="unfinished">Показать&amp;/Скрыть</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation type="unfinished">Просмотр &amp;Настроек</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation type="unfinished">Выхо&amp;д</translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation type="unfinished">Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation type="unfinished">Конфигурация Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation type="unfinished">&amp;Настройки</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation type="unfinished">Скрыть Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation type="unfinished">&amp;Скрыть</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation type="unfinished">Выхо&amp;д</translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation type="unfinished">Версия %1</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation type="unfinished">Конфликт горячих клавиш</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation type="unfinished">Вы присвоили одинаковые горячие клавиши для более одного действия.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation type="unfinished">Ошибка в символе имени файла</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation type="unfinished">Имя файла не может содержать любой из следующих символов: ? : \ / * &quot; &lt; &gt; |</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation type="unfinished">Выберите, где вы хотите сохранить скриншот</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation type="unfinished">Восстановление настроек по умолчанию приведет к потере всей вашей текущей конфигурации.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation type="unfinished">Восстановить</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation type="unfinished">Не восстанавливать</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation type="unfinished">Настройки - Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation type="unfinished">Файл</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation type="unfinished">&amp;Папка:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation type="unfinished">Префикс в имени файла скиншота</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation type="unfinished">Имя &amp;файла:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation type="unfinished">Префикс будет вставлен в &lt;em&gt;Имя&lt;/em&gt; файла скриншота и он,обычно, используется для индентификации фалов. Он может остаться пустым.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation type="unfinished">(номер)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation type="unfinished">(timestamp)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation type="unfinished">(дата)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation type="unfinished">Формат файла для скриншота</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation type="unfinished">&amp;Формат:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation type="unfinished">Пау&amp;за:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation type="unfinished">Выбор любого значения кроме 0, заставит программу подождать прежде, чем сделать скриншот.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation type="unfinished">нет</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation type="unfinished">секунд</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation type="unfinished">&amp;Запустить Lightscreen при запуске системы.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation type="unfinished">Скр&amp;ыть главное окно.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation type="unfinished">Показывать иконку в &amp;системном трее.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation type="unfinished">C&amp;крыть Lightscreen при создании скриншота.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation type="unfinished">Пре&amp;увеличить область захвата вокруг курсора в режиме захвата области.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation type="unfinished">&amp;Язык:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation type="unfinished">Нажмите здесь, чтобы перейти на домашнюю страницу Lightscreen и получить больше информацию о переводе.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation type="unfinished">&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;Больше информации..&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation type="unfinished">&amp;Уведомлять:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation type="unfinished"></translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation type="unfinished">Показывать сообщение о выполнении, после сохранении скриншота, нажав на это сообщение Вы перейдёте в папку, где был сохранён скриншот.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation type="unfinished">Всплывающее сообщение</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation type="unfinished">Зв&amp;уковой сигнал</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation type="unfinished">&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Посетить сайт Sourceforge project&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Посетитьдомашнюю страницу Lightscreen&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation type="unfinished">Бегунок перемещается от 0 до 100. 100 - это наивысшее качество, а 0 - самое низкое.&lt;br&gt;
От качества зависит размер файла, читабельность и общее качество изображения.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation type="unfinished">&amp;Копировать скриншот в буфер.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation type="unfinished">Вк&amp;лючить курсор в скриншот.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation type="unfinished">О&amp;птимизация PNG скриншота.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation type="unfinished">Предупреждать, когда программа скрывается без &amp;иконки в системном трее.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation type="unfinished">Сохранить как..</translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation type="unfinished">Закрыть</translation>
</message>
</context>
</TS>
diff --git a/translations/spanish.qm b/translations/spanish.qm
index f08cdbd..d187530 100644
Binary files a/translations/spanish.qm and b/translations/spanish.qm differ
diff --git a/translations/spanish.ts b/translations/spanish.ts
index d866538..893beb3 100644
--- a/translations/spanish.ts
+++ b/translations/spanish.ts
@@ -1,1109 +1,1116 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="es">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation>Lightscreen - Modo de Área</translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation>Modo de área de pantalla:
Use el mouse para dibujar un rectangulo a capturar.
Presione cualquier tecla o el botón derecho del mouse para salir.</translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation>Historial de Capturas</translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation>Escriba aqui para filtrar las capturas de la lista.</translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation>Haga doble click en el nombre de archivo para abrir la imagen y en la URL para abirla en su navegador.
Haga click con el botón derecho del mouse para acceder a mas opciones.</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation>Limpiar</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation>Subir</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation>Cerrar</translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation>Filtrar..</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation>Limpiando el historial de capturas</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation>Esta seguro que desea borrar todo su historial de capturas?
No podra volver atras.</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation>Limpiar Historial</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation>No Limpiar</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation>Copiar Ruta</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation>Copiar URL</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation>Abir Carpeta</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation>Captura</translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation>URL</translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation>Click para elegir atajo...</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation>Escriba su atajo</translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation>Atajo invalido</translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation>Ha elegido esconder Lightscreen cuando este no tiene un ícono en la barra de tareas, por lo que no podrá acceder al programa &lt;b&gt;a menos que haya seleccionado un atajo para hacerlo.&lt;/b&gt;.&lt;br&gt;Que desea hacer?</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation>Esconder pero habilitar ícono</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation>Esconder y no advertir</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation>Solo esconder</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
- <translation>subiendo una o mas capturas</translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
- <translation>optimizando y subiendo capturas</translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
- <translation>optimizando una o mas capturas</translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
<source>Are you sure you want to quit?</source>
<translation>Esta seguro que desea salir?</translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="636"/>
<source>Saved to &quot;%1&quot;</source>
<translation>Guardada en &quot;%1&quot;</translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="640"/>
<source>The screenshot was not taken</source>
<translation>La captura no fue realizada</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>%1 uploaded</source>
<translation>%1 subido</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
<source>Click here to go to %1</source>
<translation>Haga click aqui para ir a %1</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
<source>Upload error</source>
<translation>Error de subida</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation>Lightscreen esta %1, esto terminara momentáneamente.&lt;br&gt;¿Esta seguro que desea salir?</translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
<source>Active &amp;Window</source>
<translation>&amp;Ventana Activa</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
<source>&amp;Pick Window</source>
<translation>&amp;Elegir Ventana</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation>&amp;Subir ultima</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation>Subir la ultima captura que tomó a imgur.com</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation>Ver &amp;Historial</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation>Ver Historial</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation>Subida</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation>Éxito!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation>Cancelada!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
+ <translation>procesando</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
+ <translation>subiendo</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
+ <translation>procesando y subiendo</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
+ <translation>Lightscreen actualmente esta %1 capturas. Esta seguro que desea salir?</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation>Algunos atajos no pudieron ser registrados, puede que ya estén en uso</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation>&lt;br&gt;&lt;i&gt;Que desea hacer?&lt;/i&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
+ <translation>&amp;Cancelar subida</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
+ <translation>Cancelar las subidas en curso</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
+ <translation>Desea cancelar todas las subidas en curso?</translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation>Mostrar&amp;/Esconder</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
<source>Screenshot</source>
<translation>Captura</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
- <translation>Subiendo...</translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation>Cancelar subida</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation>Desea cancelar la subida de %1</translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation>No Cancelar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation>Subiendo %1 captura(s)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation>&amp;Pantalla</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
<source>Don&apos;t Quit</source>
<translation>No Salir</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation>Error!</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translation>&lt;br&gt;Las hotkeys en uso son las siguientes:</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation>&lt;br&gt;El atajo que ha fallado es &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation>Cambiar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation>Deshabilitar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation>Salir</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation>&amp;Área</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation>Ver las &amp;Opciones</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation>&amp;Ir a la carpeta</translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation>Ha ocurrido un error.</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation>&amp;Salir</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation>Hay una nueva versión de Lightscreen disponible.&lt;br&gt;Desea ver más información?&lt;br&gt;(&lt;em&gt;Puede desactivar esta notificación&lt;/em&gt;)</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation>Desactivar</translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation>Más Tarde</translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation>Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation>&amp;Captura</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation>Configurar Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation>&amp;Opciones</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation>Esconder Lightscreen</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation>&amp;Esconder</translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation>&amp;Salir</translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation>Opciones de Nombre - Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation>Ceros a la izquierda:</translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation>Formato de fecha:</translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation>Dar vuelta el nombre.</translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation>Restablecer por defecto</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation>Versión %1</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation>Conflicto de atajos</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation>Has asignado el mismo atajo a más de una acción.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation>Error de nombre de archivo</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation>El nombre de archivo no puede contener ninguno de los siguientes caracteres: ? : \ / * &quot; &lt; &gt; |</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation>Destino Final</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation>No puede realizar capturas a menos que active guardar archivos o copiar al portapeles.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation>Seleccione donde quiere guardar las capturas</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation>Lightscreen - Restablecer Opciones por Defecto</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation>captura.</translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation>.captura</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation>Instale &apos;OptiPNG&apos;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation>Opciones - Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation>El prefijo para la captura</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation>El nombre es insertado despues del prefijo y es lo que hace unico a cada archivo de captura.&lt;br&gt;
&lt;b&gt;Numero&lt;/b&gt;: inserta un numero secuencial: 1, 2, 3...&lt;br&gt;
&lt;b&gt;Fecha&lt;/b&gt;: inserta la fecha y hora actual, en formato dd-MM-yyyy, haga click en el botón de configuracion a la derecha para configurar el formato.&lt;br&gt;
&lt;b&gt;Tiempo Unix&lt;/b&gt;: inserta la cantidad de segundos desde 1970-1-1 00:00:00 (timestamp de Unix)&lt;br&gt;
</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation>(numero)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation>(tiempo unix)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation>El formato de la captura</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation>Cali&amp;dad:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation>(ninguno)</translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation>&lt;i&gt;Vista Previa:&lt;/i&gt;</translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation>Inicio del Sistema</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation>Atajos</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation>Capturas</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation>&amp;Pantalla Completa</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation>Elegir &amp;Ventana</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation>Ventana &amp;Activa</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation>Á&amp;rea de Pantalla</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation>Control del Lightscreen</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation>A&amp;brir la ventana del programa</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation>Abrir el &amp;directorio</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation>Opciones</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation>Interface</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation>Acción por defecto:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation>Capturas</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation>Elegir cuando y &amp;donde guardar cada captura (&quot;Guardar como&quot;).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation>Reemplazar captura cuando el archivo ya existe.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation>Historial</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation>Guardar un historial de capturas.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation>Capturar áreas automaticamente (sin ajustar tamaño).</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation>Lightscreen es una herramienta simple para sacar capturas de pantalla, diseñada para ser configurable y liviana.&lt;br&gt;&lt;br&gt;
Creada por &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, usando las &lt;a href=&quot;#aboutqt&quot;&gt;herramientas Qt&lt;/a&gt; para la interface grafica.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation>Bajo la licencia &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Un agradecimiento especial a los &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donadores y Traductores&lt;/a&gt;.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation>Tamaño Máximo:</translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation>&lt;u&gt;Vista Previa&lt;/u&gt;:</translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation>Posicion:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation> y </translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation>guardar</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation>subir</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation>cancelar</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation>Subir todas mis capturas automaticamente.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation>Buscar A&amp;hora</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation>Acerca De</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visite la pagina del proyecto en SourceForge&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visite la pagina principal del Lightscreen&lt;/a&gt;</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation>Restablecer las opciones por defecto hara que pierda toda su configuración actual.</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation>Restablecer</translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation>No Restablecer</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation> segundos</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation>Mo&amp;strar un ícono en la barra de tareas.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation>Esconder Lig&amp;htscreen mientras se captura.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation>Haz click aquí para ir a la página del Lightscreen y aprender mas sobre traducciones.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;Más información..&lt;/a&gt;</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation>Este slider va desde a 0 a 100. 100 siendo la mayor calidad y 0 la más baja.&lt;br&gt;
La calidad tiene relacion con el tamaño del archivo y la legibilidad/calidad general de la imagen.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation>El prefijo sera insertado antes del &lt;em&gt;Nombre&lt;/em&gt; en la captura y es generalmente usado para distinguir los archivos. Puede ser dejado en blanco.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation>Seleccionar algo que no sea 0 causara que el programa &lt;b&gt;espere&lt;/b&gt; esa cantidad de segundos antes de sacar la captura.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation>Aumentar alrededor del &amp;mouse en modo Área.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation>&amp;Idioma:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation>&amp;Noficar con:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation>Popup en el ícono de barra de tareas</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation>&amp;Sonido</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation>Archivo</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation>&amp;Directorio:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation>&amp;Archivo:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation>(fecha)</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation>F&amp;ormato:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation>R&amp;etraso:</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation>ninguno</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation>Ejecuta&amp;r Lightscreen cuando inicia el sistema.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation>Esconder la ventana pr&amp;incipal.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation>&amp;Copiar la captura al portapeles.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation>Inc&amp;luir el cursor en la captura.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation>O&amp;ptimizar capturas PNG.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation>A&amp;visar al esconder sin un ícono de sistema.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation>&amp;Tomar solo el monitor activo.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation>Ejecuta OptiPNG el cual reduce el tamaño de archivo de las capturas.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation>Vista Previa de Capturas</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation>Arriba-Izquierda</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation>Abajo-Derecha</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation>Abajo-Izquierda</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation>Abajo-Derecha</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation>Cerrar despues de</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation>Ver &amp;Historial</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation>Actualizador</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation>Buscar actualizaciones periodicamente.</translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation>Muestra un mensaje al completar una captura, clickear en este mensaje lleva al directorio donde la misma fue guardada.</translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation>Vista Previa de Captura</translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation>Subir</translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation>Guardar</translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation>Vista Previa de Captura (%1 de %2)</translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation>Vista Previa: Cerrando en %1</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation>- no subida -</translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation>Pantalla</translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation>Área</translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation>Ventana Activa</translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation>Elegir Ventana</translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation>Subir Ultima</translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation>Ver Historial</translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation>Ir a la carpeta</translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation>Guardar como..</translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation>Lightscreen: Visor de Capturas</translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
- <translation>Puede hacer zoom usando la rueda del mouse mientras aprieta la tecla CTRL. Para volver al zoom por defecto presione &quot;Ctrl-0&quot;.</translation>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <translation>Puede hacer zoom usando la rueda del mouse y la tecla Ctrl. Para volver al zoom por defecto presione &quot;Ctrl-0&quot;.</translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation>Subiendo...</translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation>Archivo de captura no encontrado.</translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation>No se pudo conectar a imgur.com</translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation>Ha excedido su cuota de subida.</translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation>La subida ha fallado.</translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation>Lightscreen: Eligiendo Ventana</translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation>Haga click y mantenga apretado para mover el seleccionador a la ventana que desee capturar.</translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation> - Comienze a arrastrar para seleccionar ventanas</translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation>Cerrar</translation>
</message>
</context>
</TS>
diff --git a/translations/untranslated.ts b/translations/untranslated.ts
index 969e6ab..e723026 100644
--- a/translations/untranslated.ts
+++ b/translations/untranslated.ts
@@ -1,1096 +1,1103 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0">
<context>
<name>AreaDialog</name>
<message>
<location filename="../dialogs/areadialog.cpp" line="56"/>
<source>Lightscreen Area Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/areadialog.cpp" line="364"/>
+ <location filename="../dialogs/areadialog.cpp" line="366"/>
<source>Lightscreen area mode:
Use your mouse to draw a rectangle to capture.
Press any key or right click to exit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryDialog</name>
<message>
<location filename="../dialogs/historydialog.ui" line="14"/>
<source>Screenshot History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="30"/>
<source>Type here to filter through the screenshots in the list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.ui" line="40"/>
<source>Double click the path to open the image with the default picture viewer, you can also double-click the URL to open it on your web browser.
Right click items to get access to more options.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="54"/>
+ <location filename="../dialogs/historydialog.ui" line="67"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="77"/>
+ <location filename="../dialogs/historydialog.ui" line="90"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.ui" line="84"/>
+ <location filename="../dialogs/historydialog.ui" line="97"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/historydialog.cpp" line="32"/>
- <location filename="../dialogs/historydialog.cpp" line="193"/>
- <location filename="../dialogs/historydialog.cpp" line="204"/>
<location filename="../dialogs/historydialog.cpp" line="210"/>
+ <location filename="../dialogs/historydialog.cpp" line="221"/>
+ <location filename="../dialogs/historydialog.cpp" line="227"/>
<source>Filter..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="76"/>
+ <location filename="../dialogs/historydialog.cpp" line="86"/>
<source>Clearing the screenshot history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="77"/>
+ <location filename="../dialogs/historydialog.cpp" line="87"/>
<source>Are you sure you want to clear your entire screenshot history?
This cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="78"/>
+ <location filename="../dialogs/historydialog.cpp" line="88"/>
<source>Clear History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="79"/>
+ <location filename="../dialogs/historydialog.cpp" line="89"/>
<source>Don&apos;t Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="93"/>
+ <location filename="../dialogs/historydialog.cpp" line="103"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="97"/>
+ <location filename="../dialogs/historydialog.cpp" line="107"/>
<source>Open Location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/historydialog.cpp" line="140"/>
+ <location filename="../dialogs/historydialog.cpp" line="150"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HotkeyWidget</name>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="36"/>
<source>Click to select hotkey...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="86"/>
<source>Type your hotkey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/hotkeywidget.cpp" line="95"/>
<location filename="../widgets/hotkeywidget.cpp" line="116"/>
<source>Invalid hotkey</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LightscreenWindow</name>
<message>
- <location filename="../lightscreenwindow.cpp" line="221"/>
- <location filename="../lightscreenwindow.cpp" line="530"/>
- <location filename="../lightscreenwindow.cpp" line="703"/>
- <location filename="../lightscreenwindow.cpp" line="727"/>
+ <location filename="../lightscreenwindow.cpp" line="209"/>
+ <location filename="../lightscreenwindow.cpp" line="516"/>
+ <location filename="../lightscreenwindow.cpp" line="698"/>
+ <location filename="../lightscreenwindow.cpp" line="724"/>
<source>Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="222"/>
+ <location filename="../lightscreenwindow.cpp" line="210"/>
<source>You have chosen to hide Lightscreen when there&apos;s no system tray icon, so you will not be able to access the program &lt;b&gt;unless you have selected a hotkey to do so&lt;/b&gt;.&lt;br&gt;What do you want to do?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="227"/>
+ <location filename="../lightscreenwindow.cpp" line="215"/>
<source>Hide but enable tray</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="229"/>
+ <location filename="../lightscreenwindow.cpp" line="217"/>
<source>Hide and don&apos;t warn</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="231"/>
+ <location filename="../lightscreenwindow.cpp" line="219"/>
<source>Just hide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="378"/>
- <source>uploading one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="372"/>
+ <source>Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="383"/>
- <source>optimizing and uploading screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="640"/>
+ <source>The screenshot was not taken</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="386"/>
- <source>optimizing one or more screenshots</source>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
+ <source>%1 uploaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="392"/>
- <source>Are you sure you want to quit?</source>
+ <location filename="../lightscreenwindow.cpp" line="667"/>
+ <source>Click here to go to %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="640"/>
- <source>The screenshot was not taken</source>
+ <location filename="../lightscreenwindow.cpp" line="653"/>
+ <source>Upload error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
- <source>%1 uploaded</source>
+ <location filename="../lightscreenwindow.cpp" line="358"/>
+ <source>processing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="673"/>
- <source>Click here to go to %1</source>
+ <location filename="../lightscreenwindow.cpp" line="363"/>
+ <source>uploading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="659"/>
- <source>Upload error</source>
+ <location filename="../lightscreenwindow.cpp" line="366"/>
+ <source>processing and uploading</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="373"/>
+ <source>Lightscreen is currently %1 screenshots. Are you sure you want to quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="574"/>
- <location filename="../lightscreenwindow.cpp" line="875"/>
+ <location filename="../lightscreenwindow.cpp" line="567"/>
+ <location filename="../lightscreenwindow.cpp" line="870"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="577"/>
- <location filename="../lightscreenwindow.cpp" line="878"/>
+ <location filename="../lightscreenwindow.cpp" line="570"/>
+ <location filename="../lightscreenwindow.cpp" line="873"/>
<source>&amp;Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="583"/>
- <location filename="../lightscreenwindow.cpp" line="893"/>
+ <location filename="../lightscreenwindow.cpp" line="576"/>
+ <location filename="../lightscreenwindow.cpp" line="888"/>
<source>&amp;Upload last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="584"/>
- <location filename="../lightscreenwindow.cpp" line="894"/>
+ <location filename="../lightscreenwindow.cpp" line="577"/>
+ <location filename="../lightscreenwindow.cpp" line="889"/>
<source>Upload the last screenshot you took to imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="587"/>
+ <location filename="../lightscreenwindow.cpp" line="580"/>
+ <location filename="../lightscreenwindow.cpp" line="892"/>
+ <source>&amp;Cancel upload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="581"/>
+ <location filename="../lightscreenwindow.cpp" line="893"/>
+ <source>Cancel the currently uploading screenshots</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="586"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="897"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
+ <source>Do you want to cancel all screenshot uploads?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../lightscreenwindow.cpp" line="898"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="599"/>
- <location filename="../lightscreenwindow.cpp" line="917"/>
+ <location filename="../lightscreenwindow.cpp" line="598"/>
+ <location filename="../lightscreenwindow.cpp" line="918"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="334"/>
- <location filename="../lightscreenwindow.cpp" line="337"/>
+ <location filename="../lightscreenwindow.cpp" line="322"/>
+ <location filename="../lightscreenwindow.cpp" line="325"/>
<source>Failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="341"/>
+ <location filename="../lightscreenwindow.cpp" line="329"/>
<source>Cancelled!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="393"/>
- <source>Lightscreen is currently %1, this will finish momentarily.&lt;br&gt;Are you sure you want to quit?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="512"/>
+ <location filename="../lightscreenwindow.cpp" line="498"/>
<source>Some hotkeys could not be registered, they might already be in use</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="515"/>
+ <location filename="../lightscreenwindow.cpp" line="501"/>
<source>&lt;br&gt;The failed hotkeys are the following:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="524"/>
+ <location filename="../lightscreenwindow.cpp" line="510"/>
<source>&lt;br&gt;The failed hotkey is &lt;b&gt;%1&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="527"/>
+ <location filename="../lightscreenwindow.cpp" line="513"/>
<source>&lt;br&gt;&lt;i&gt;What do you want to do?&lt;/i&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="533"/>
+ <location filename="../lightscreenwindow.cpp" line="519"/>
<source>Change</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="534"/>
+ <location filename="../lightscreenwindow.cpp" line="520"/>
<source>Disable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="910"/>
+ <location filename="../lightscreenwindow.cpp" line="911"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="756"/>
- <source>Uploading...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Upload cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
- <source>Do you want to cancel the upload of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="757"/>
+ <location filename="../lightscreenwindow.cpp" line="755"/>
<source>Don&apos;t Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="700"/>
+ <location filename="../lightscreenwindow.cpp" line="694"/>
<source>Uploading %1 screenshot(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="394"/>
- <location filename="../lightscreenwindow.cpp" line="535"/>
+ <location filename="../lightscreenwindow.cpp" line="374"/>
+ <location filename="../lightscreenwindow.cpp" line="521"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="728"/>
+ <location filename="../lightscreenwindow.cpp" line="725"/>
<source>There&apos;s a new version of Lightscreen available.&lt;br&gt;Would you like to see more information?&lt;br&gt;(&lt;em&gt;You can turn this notification off&lt;/em&gt;)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="732"/>
+ <location filename="../lightscreenwindow.cpp" line="729"/>
<source>Turn Off</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="733"/>
+ <location filename="../lightscreenwindow.cpp" line="730"/>
<source>Remind Me Later</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="571"/>
- <location filename="../lightscreenwindow.cpp" line="872"/>
+ <location filename="../lightscreenwindow.cpp" line="564"/>
+ <location filename="../lightscreenwindow.cpp" line="867"/>
<source>&amp;Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="395"/>
+ <location filename="../lightscreenwindow.cpp" line="375"/>
<source>Don&apos;t Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="636"/>
<source>Saved to &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.cpp" line="641"/>
<source>An error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="580"/>
- <location filename="../lightscreenwindow.cpp" line="881"/>
+ <location filename="../lightscreenwindow.cpp" line="573"/>
+ <location filename="../lightscreenwindow.cpp" line="876"/>
<source>&amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="590"/>
- <location filename="../lightscreenwindow.cpp" line="904"/>
+ <location filename="../lightscreenwindow.cpp" line="589"/>
+ <location filename="../lightscreenwindow.cpp" line="905"/>
<source>&amp;Go to Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="327"/>
- <location filename="../lightscreenwindow.cpp" line="330"/>
+ <location filename="../lightscreenwindow.cpp" line="315"/>
+ <location filename="../lightscreenwindow.cpp" line="318"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="869"/>
+ <location filename="../lightscreenwindow.cpp" line="864"/>
<source>Show&amp;/Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="901"/>
+ <location filename="../lightscreenwindow.cpp" line="902"/>
<source>View &amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../lightscreenwindow.cpp" line="907"/>
+ <location filename="../lightscreenwindow.cpp" line="908"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LightscreenWindowClass</name>
<message>
<location filename="../lightscreenwindow.ui" line="14"/>
<source>Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="41"/>
<source>&amp;Screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="66"/>
<source>Configure Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="69"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="94"/>
<source>Hide Lightscreen </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="100"/>
<source>&amp;Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lightscreenwindow.ui" line="128"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NamingDialog</name>
<message>
<location filename="../dialogs/namingdialog.ui" line="14"/>
<source>Naming Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="45"/>
<source>Leading zeros:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="100"/>
<source>Date Format:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/namingdialog.ui" line="167"/>
<source>Flip naming.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionsDialog</name>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="514"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="513"/>
<source>Restore Defaults</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="530"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="529"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>Hotkey conflict</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="84"/>
<source>You have assigned the same hotkeys to more than one action.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>Filename character error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="89"/>
<source>The filename can&apos;t contain any of the following characters: ? : \ / * &quot; &lt; &gt; |</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>Final Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.cpp" line="94"/>
<source>You can&apos;t take screenshots unless you enable either file saving or the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="443"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="441"/>
<source>Select where you want to save the screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="456"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="454"/>
<source>Lightscreen - Restore Default Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="457"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="455"/>
<source>Restoring the default options will cause you to lose all of your current configuration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="460"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="458"/>
<source>Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="461"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="459"/>
<source>Don&apos;t Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="142"/>
- <location filename="../dialogs/optionsdialog.cpp" line="496"/>
- <location filename="../dialogs/optionsdialog.cpp" line="502"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="140"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="494"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../dialogs/optionsdialog.cpp" line="496"/>
<location filename="../dialogs/optionsdialog.cpp" line="498"/>
- <location filename="../dialogs/optionsdialog.cpp" line="500"/>
<source>.screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.cpp" line="189"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="187"/>
<source>Install &apos;OptiPNG&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="14"/>
<source>Options - Lightscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="39"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="57"/>
<source>&amp;Directory:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="97"/>
<source>The prefix for the screenshot file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="100"/>
<source>&amp;Filename:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="118"/>
<source>The prefix will be inserted before the &lt;em&gt;Naming&lt;/em&gt; in the screenshot file and it is usually used to distinguish files. It can be left blank.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="125"/>
<source>The naming is inserted after the prefix and is what makes each screenshot file unique to avoid overwriting.&lt;br /&gt;
&lt;b&gt;Numeric&lt;/b&gt;: inserts a number in sequence, 1, 2, 3..&lt;br /&gt;
&lt;b&gt;Date&lt;/b&gt;: inserts the current date and time, in the form of dd-MM-yyyy, click the &quot;wrench&quot; button on the right to customize the format.&lt;br /&gt;
&lt;b&gt;Timestamp&lt;/b&gt;: inserts a number, a Unix timestamp, which is the number of seconds passed since 1970-1-1 00:00:00.&lt;br /&gt;
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="134"/>
<source>(number)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="139"/>
<source>(date)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="144"/>
<source>(timestamp)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="170"/>
<source>The file format for the screenshot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="173"/>
<source>F&amp;ormat:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="205"/>
<source>&amp;Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="149"/>
<source>(none)</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../dialogs/optionsdialog.ui" line="272"/>
- <source>&lt;i&gt;Preview:&lt;/i&gt;</source>
- <translation type="unfinished"></translation>
- </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="311"/>
<source>System Startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="364"/>
<source>Hotkeys</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="370"/>
<source>Captures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="391"/>
<source>&amp;Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="414"/>
<source>Window &amp;Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="443"/>
<source>Active &amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="459"/>
<source>Screen &amp;Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="472"/>
<source>Lightscreen Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="493"/>
<source>&amp;Open the program window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="509"/>
<source>Open the &amp;directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="536"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="584"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="895"/>
<source>Default action:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="922"/>
- <location filename="../dialogs/optionsdialog.cpp" line="134"/>
- <location filename="../dialogs/optionsdialog.cpp" line="137"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="132"/>
+ <location filename="../dialogs/optionsdialog.cpp" line="135"/>
<source>Screenshots</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="931"/>
<source>Choose where to save each screenshot (&quot;&amp;Save as&quot;).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="945"/>
<source>&amp;Grab only the active monitor.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="971"/>
<source>Runs OptiPNG which reduces screenshot file size.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1040"/>
<source>Replace screenshots when there&apos;s an existing file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1119"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1128"/>
<source>Save my screenshot history.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1054"/>
<source>Upload all my screenshots automatically.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1063"/>
<source>D&amp;elay:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1076"/>
<source>Selecting anything other than 0 in this option will cause the program to &lt;b&gt;wait&lt;/b&gt; that amount of seconds before taking the screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1079"/>
<source>none</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1208"/>
<source>Lightscreen is a simple tool to take screenshots, designed to be customizable and lightweight.&lt;br&gt;&lt;br&gt;
Created by &lt;a href=&quot;http://ckaiser.com.ar&quot;&gt;Christian Kaiser&lt;/a&gt;, using the &lt;a href=&quot;#aboutqt&quot;&gt;Qt toolkit&lt;/a&gt; for the graphical user interface.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1219"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1222"/>
<source>Released under the &lt;a href=&quot;http://www.gnu.org/licenses/gpl-2.0.html&quot;&gt;GNU General Public License&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
Special thanks goes to the &lt;a href=&quot;http://lightscreen.sourceforge.net/about&quot;&gt;Donators and Translators&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="847"/>
<location filename="../dialogs/optionsdialog.ui" line="1088"/>
<source> seconds</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../dialogs/optionsdialog.ui" line="272"/>
+ <source>&lt;u&gt;Preview&lt;/u&gt;:</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="752"/>
<source>Maximum Size:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="803"/>
<source>Position:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="860"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="877"/>
<location filename="../dialogs/optionsdialog.ui" line="906"/>
<source>save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="882"/>
<location filename="../dialogs/optionsdialog.ui" line="911"/>
<source>upload</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="887"/>
<source>cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1187"/>
<source>Chec&amp;k Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1202"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/optionsdialog.ui" line="1241"/>
+ <location filename="../dialogs/optionsdialog.ui" line="1247"/>
<source>&lt;a href=&quot;https://sourceforge.net/projects/lightscreen/&quot;&gt;Visit Sourceforge project site&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lightscreen.sourceforge.net/&quot;&gt;Visit Lightscreen home page&lt;/a&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="323"/>
<source>&amp;Run Lightscreen at system startup.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="351"/>
<source>H&amp;ide the main window.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="596"/>
<source>Sho&amp;w a system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="603"/>
<source>&amp;Hide Lightscreen while taking a screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="959"/>
<source>&amp;Magnify around the mouse in Area mode.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="692"/>
<source>&amp;Language:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="709"/>
<source>Click here to go to the Lightscreen homepage to learn more about translations.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="712"/>
<source>&lt;a href=&quot;http://lightscreen.sourceforge.net/translation&quot;&gt;More information..&lt;/a&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="678"/>
<source>&amp;Notify with:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="24"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="625"/>
<source>Shows a completion message once the screenshot is saved, clicking this message takes you to the directory where the screenshot was saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="628"/>
<source>Tray icon Popup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="635"/>
<source>&amp;Sound cue</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="218"/>
<source>This slider goes from 0 to 100. 100 being the highest quality and 0 the lowest.&lt;br&gt;
Quality is related to file size and of course to readability and overall quality of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="938"/>
<source>&amp;Copy the screenshot to the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="952"/>
<source>Inc&amp;lude the cursor in the screenshot.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="974"/>
<source>O&amp;ptimize PNG screenshots.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="610"/>
<source>Warn when hiding without a tra&amp;y icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1047"/>
<source>Snap area screenshots automatically (no resizing).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="737"/>
<source>Screenshot Previews</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="817"/>
<source>Top Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="822"/>
<source>Top Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="827"/>
<source>Bottom Left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="832"/>
<source>Bottom Right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="840"/>
<source>Auto-close after</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1148"/>
<source>View &amp;History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1158"/>
<source>Updater</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/optionsdialog.ui" line="1167"/>
<source>Check for updates regularly.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewDialog</name>
<message>
<location filename="../dialogs/previewdialog.cpp" line="47"/>
- <location filename="../dialogs/previewdialog.cpp" line="309"/>
+ <location filename="../dialogs/previewdialog.cpp" line="307"/>
<source>Screenshot Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="160"/>
+ <location filename="../dialogs/previewdialog.cpp" line="158"/>
<source>Upload</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="182"/>
+ <location filename="../dialogs/previewdialog.cpp" line="180"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="306"/>
+ <location filename="../dialogs/previewdialog.cpp" line="304"/>
<source>Screenshot Preview (%1 of %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/previewdialog.cpp" line="404"/>
+ <location filename="../dialogs/previewdialog.cpp" line="402"/>
<source>Preview: Closing in %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../dialogs/historydialog.cpp" line="104"/>
- <location filename="../dialogs/historydialog.cpp" line="178"/>
+ <location filename="../dialogs/historydialog.cpp" line="114"/>
+ <location filename="../dialogs/historydialog.cpp" line="188"/>
<location filename="../tools/screenshotmanager.h" line="49"/>
<source>- not uploaded -</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="67"/>
<source>Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="68"/>
<source>Area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="69"/>
<source>Active Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="70"/>
<source>Pick Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="72"/>
<source>Upload Last</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="73"/>
<source>View History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="75"/>
<source>Go to Folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Screenshot</name>
<message>
- <location filename="../tools/screenshot.cpp" line="186"/>
+ <location filename="../tools/screenshot.cpp" line="243"/>
<source>Save as..</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScreenshotDialog</name>
<message>
<location filename="../dialogs/screenshotdialog.cpp" line="35"/>
<source>Lightscreen Screenshot Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../dialogs/screenshotdialog.cpp" line="37"/>
- <source>You can zoom using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
+ <location filename="../dialogs/screenshotdialog.cpp" line="40"/>
+ <source>You can zoom in and out using the mouse wheel while holding the CTRL key. To return to the default zoom press &quot;Ctrl-0&quot;.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Uploader</name>
<message>
- <location filename="../tools/uploader.cpp" line="58"/>
- <location filename="../tools/uploader.cpp" line="126"/>
+ <location filename="../tools/uploader.cpp" line="57"/>
+ <location filename="../tools/uploader.cpp" line="127"/>
<source>Uploading...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="92"/>
+ <location filename="../tools/uploader.cpp" line="91"/>
<source>Screenshot file not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="95"/>
+ <location filename="../tools/uploader.cpp" line="94"/>
<source>Could not reach imgur.com</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="98"/>
+ <location filename="../tools/uploader.cpp" line="97"/>
<source>You have exceeded your upload quota.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/uploader.cpp" line="101"/>
+ <location filename="../tools/uploader.cpp" line="100"/>
<source>Upload failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WindowPicker</name>
<message>
<location filename="../tools/windowpicker.cpp" line="52"/>
<source>Lightscreen Window Picker</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="55"/>
<source>Grab the window picker by clicking and holding down the mouse button, then drag it to the window of your choice and release it to capture.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="65"/>
<source> - Start dragging to select windows</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/windowpicker.cpp" line="72"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jun 16, 12:08 AM (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
70259
Default Alt Text
(657 KB)

Event Timeline