::
: scantailor
Sources Gear Bugs and FR Repocop
: scantailor-alt-priority.patch
diff --git a/scantailor/MainWindow.cpp b/scantailor/MainWindow.cpp
index 114b1f5..44d07ee 100644
--- a/scantailor/MainWindow.cpp
+++ b/scantailor/MainWindow.cpp
@@ -86,6 +86,7 @@
#include <QVBoxLayout>
#include <QLayoutItem>
#include <QScrollBar>
+#include <QSettings>
#include <QPushButton>
#include <QCheckBox>
#include <QFileInfo>
@@ -126,9 +127,11 @@ MainWindow::MainWindow()
setupUi(this);
-#if !defined(ENABLE_OPENGL)
+#if ( !defined(ENABLE_OPENGL) && !defined( Q_OS_LINUX))
// Right now the only setting is 3D acceleration, so get rid of
// the whole Settings dialog, if it's inaccessible.
+ // If it is Linux, we have another important option in Settings
+ // dialog - Worker thread priority.
actionSettings->setVisible(false);
#endif
@@ -420,7 +423,23 @@ MainWindow::createBatchProcessingWidget()
tr("Beep when finished"), lower_panel
);
lower_layout->addWidget(m_pBeepOnBatchProcessingCompletion);
-
+
+#if !defined( Q_OS_LINUX)
+ QHBoxLayout* priority_layout = new QHBoxLayout( lower_panel);
+ QComboBox * priority_selector = new QComboBox( lower_panel);
+ priority_selector->addItem( tr("Normal"));
+ priority_selector->addItem( tr("Low"));
+ priority_selector->addItem( tr("Lowest"));
+ priority_selector->addItem( tr("Idle"));
+
+ priority_selector->setCurrentIndex(
+ QSettings().value("settings/worker_thread_priority", 3).toInt());
+
+ priority_layout->addWidget( priority_selector);
+ priority_layout->addWidget( new QLabel(
+ tr("Batch processing priority"), lower_panel));
+ lower_layout->addLayout( priority_layout);
+#endif
layout->addWidget(stop_btn, 1, 1, Qt::AlignCenter);
layout->addWidget(lower_panel, 2, 0, 1, 3, Qt::AlignHCenter|Qt::AlignTop);
layout->setColumnStretch(0, 1);
@@ -429,6 +448,10 @@ MainWindow::createBatchProcessingWidget()
layout->setRowStretch(2, 1);
connect(stop_btn, SIGNAL(clicked()), SLOT(stopBatchProcessing()));
+
+#if !defined( Q_OS_LINUX)
+ connect(priority_selector, SIGNAL(currentIndexChanged( int)), SLOT(prioritySelectionChanged( int)));
+#endif
}
void
@@ -953,6 +976,13 @@ MainWindow::stopBatchProcessing(MainAreaAction main_area)
}
}
+
+void
+MainWindow::prioritySelectionChanged( int selection)
+{
+ QSettings().setValue("settings/worker_thread_priority", selection);
+}
+
void
MainWindow::filterResult(BackgroundTaskPtr const& task, FilterResultPtr const& result)
{
diff --git a/scantailor/MainWindow.h b/scantailor/MainWindow.h
index e41b48f..b68eb10 100644
--- a/scantailor/MainWindow.h
+++ b/scantailor/MainWindow.h
@@ -110,6 +110,8 @@ private slots:
void startBatchProcessing();
void stopBatchProcessing(MainAreaAction main_area = LOAD_IMAGE);
+
+ void prioritySelectionChanged( int selection);
void invalidateThumbnailSlot(PageId const& page_id);
diff --git a/scantailor/SettingsDialog.cpp b/scantailor/SettingsDialog.cpp
index bad6152..8669160 100644
--- a/scantailor/SettingsDialog.cpp
+++ b/scantailor/SettingsDialog.cpp
@@ -20,6 +20,8 @@
#include "SettingsDialog.h.moc"
#include "OpenGLSupport.h"
#include "config.h"
+
+#include <QMessageBox>
#include <QSettings>
#include <QVariant>
@@ -46,6 +48,12 @@ SettingsDialog::SettingsDialog(QWidget* parent)
}
#endif
+#if defined( Q_OS_LINUX)
+ ui.workerThreadPriority->setToolTip( tr("Requires restart of the program ScanTailor"));
+#endif
+ ui.workerThreadPriority->setCurrentIndex(
+ settings.value("settings/worker_thread_priority", 3).toInt());
+
connect(ui.buttonBox, SIGNAL(accepted()), SLOT(commitChanges()));
}
@@ -60,4 +68,17 @@ SettingsDialog::commitChanges()
#ifdef ENABLE_OPENGL
settings.setValue("settings/use_3d_acceleration", ui.use3DAcceleration->isChecked());
#endif
+ if( settings.value("settings/worker_thread_priority", 3).toInt()
+ != ui.workerThreadPriority->currentIndex())
+ {
+ settings.setValue("settings/worker_thread_priority",
+ ui.workerThreadPriority->currentIndex());
+
+#if defined( Q_OS_LINUX)
+ QMessageBox::information( this, tr("Priority"),
+ tr("Batch processing priority will be\
+ adjusted only after restart of ScanTailor."));
+#endif
+ }
}
+
diff --git a/scantailor/WorkerThread.cpp b/scantailor/WorkerThread.cpp
index 3a4a9fb..c334133 100644
--- a/scantailor/WorkerThread.cpp
+++ b/scantailor/WorkerThread.cpp
@@ -15,14 +15,19 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#include "WorkerThread.h"
#include "WorkerThread.h.moc"
#include <QCoreApplication>
-#include <QThread>
#include <QEvent>
+#include <QSettings>
+#include <QThread>
#include <assert.h>
+#if defined( Q_OS_LINUX) // For Linux resetPriority
+#include <unistd.h>
+#include <sys/resource.h>
+#endif
+
class WorkerThread::Dispatcher : public QObject
{
public:
@@ -46,6 +51,8 @@ protected:
virtual void run();
virtual void customEvent(QEvent* event);
+protected:
+ void resetPriority();
private:
WorkerThread& m_rOwner;
Dispatcher m_dispatcher;
@@ -168,17 +175,82 @@ WorkerThread::Impl::performTask(BackgroundTaskPtr const& task)
void
WorkerThread::Impl::run()
{
+ resetPriority();
exec();
}
void
WorkerThread::Impl::customEvent(QEvent* event)
{
+#if !defined( Q_OS_LINUX)
+ resetPriority();
+#endif
TaskResultEvent* evt = dynamic_cast<TaskResultEvent*>(event);
assert(evt);
m_rOwner.emitTaskResult(evt->task(), evt->result());
}
+#if defined( Q_OS_LINUX)
+int workerThreadPriorityToPOSIXNiceLevel(WorkerThread::Priority priority)
+{
+ switch (priority) {
+ case WorkerThread::Normal:
+ return 0;
+ case WorkerThread::Low:
+ return 6;
+ case WorkerThread::Lowest:
+ return 12;
+ case WorkerThread::Idle:
+ default:
+ return 19;
+ }
+}
+#else
+QThread::Priority workerThreadPriorityToQThreadPriority(WorkerThread::Priority priority)
+{
+ switch (priority) {
+ case WorkerThread::Normal:
+ return QThread::NormalPriority;
+ case WorkerThread::Low:
+ return QThread::LowPriority;
+ case WorkerThread::Lowest:
+ return QThread::LowestPriority;
+ case WorkerThread::Idle:
+ default:
+ return QThread::IdlePriority;
+ }
+}
+#endif
+
+// Different approach is required for Windows and Linux.
+// In Linux with nptl each thread is treated as an individual process.
+// Thus QThread can not adjust Thread Priority relatively to
+// the main thread of the process. So, we need to use regular
+// POSIX functions to adjust current thread priority.
+//
+// So, resetPriority in Linux! should be run only within Impl::run().
+void
+WorkerThread::Impl::resetPriority()
+{
+ assert(isRunning());
+
+ if(!isRunning()) {
+ return; // To avoid priority adjustment of the main thread in Linux!
+ }
+
+ WorkerThread::Priority priority =
+ static_cast<WorkerThread::Priority>(
+ QSettings().value("settings/worker_thread_priority", 3).toInt());
+#if defined( Q_OS_LINUX)
+ // Changing the priority of CURRENT thread! Thus we should run resetPriority only from run() in Linux!
+ setpriority(PRIO_PROCESS, 0,
+ workerThreadPriorityToPOSIXNiceLevel(priority));
+#else
+ QThread::setPriority(
+ workerThreadPriorityToQThreadPriority(priority));
+#endif
+}
+
/*====================== WorkerThread::PerformTaskEvent ====================*/
@@ -199,3 +271,4 @@ WorkerThread::TaskResultEvent::TaskResultEvent(
m_ptrResult(result)
{
}
+
diff --git a/scantailor/WorkerThread.h b/scantailor/WorkerThread.h
index 4c239a6..979fe1e 100644
--- a/scantailor/WorkerThread.h
+++ b/scantailor/WorkerThread.h
@@ -30,6 +30,17 @@ class WorkerThread : public QObject
Q_OBJECT
DECLARE_NON_COPYABLE(WorkerThread)
public:
+ // Numbers should be the same as indices
+ // in priority_selector ComboBox in
+ // MainWindow::createBatchProcessingWidget!!!
+ enum Priority
+ {
+ Normal = 0,
+ Low = 1,
+ Lowest = 2,
+ Idle = 3
+ };
+public:
WorkerThread(QObject* parent = 0);
~WorkerThread();
diff --git a/scantailor/translations/scantailor_ru.ts b/scantailor/translations/scantailor_ru.ts
index 50ac203..403e4ac 100644
--- a/scantailor/translations/scantailor_ru.ts
+++ b/scantailor/translations/scantailor_ru.ts
@@ -2,24 +2,97 @@
<!DOCTYPE TS>
<TS version="2.0" language="ru">
<context>
+ <name>CrashReportDialog</name>
+ <message>
+ <location filename="../crash_reporter/ui/CrashReportDialog.ui" line="14"/>
+ <source>Crash Report</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/ui/CrashReportDialog.ui" line="20"/>
+ <source>Scan Tailor crashed. That's usually caused by errors in the software. You can help us find and fix the problem by submitting this crash report.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/ui/CrashReportDialog.ui" line="30"/>
+ <source>Information to be sent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/ui/CrashReportDialog.ui" line="63"/>
+ <source>If you have additional information, for example you know how to reproduce the crash, please provide it here.
+English or Russian please.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/ui/CrashReportDialog.ui" line="71"/>
+ <source>If you are willing to provide further assistance to developers to help fix this problem, please provide your email address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/ui/CrashReportDialog.ui" line="81"/>
+ <source>Email [optional]</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/CrashReportDialog.cpp" line="71"/>
+ <source>This file contains the internal state of the program when it crashed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/CrashReportDialog.cpp" line="77"/>
+ <source>Dump file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/CrashReportDialog.cpp" line="105"/>
+ <source>Sending ...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/CrashReportDialog.cpp" line="136"/>
+ <source>Unexpected response (code %1) from dispatcher</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/CrashReportDialog.cpp" line="161"/>
+ <source>Unexpected response from dispatcher</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/CrashReportDialog.cpp" line="221"/>
+ <source>Unexpected response (code %1) from the receiving side</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../crash_reporter/CrashReportDialog.cpp" line="227"/>
+ <source>Successfully sent</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>DeskewOptionsWidget</name>
<message>
<location filename="../filters/deskew/ui/DeskewOptionsWidget.ui" line="13"/>
+ <location filename="../filters/deskew/ui_DeskewOptionsWidget.h" line="119"/>
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="../filters/deskew/ui/DeskewOptionsWidget.ui" line="19"/>
+ <location filename="../filters/deskew/ui_DeskewOptionsWidget.h" line="120"/>
<source>Deskew</source>
<translation>Компенсация наклона</translation>
</message>
<message>
<location filename="../filters/deskew/ui/DeskewOptionsWidget.ui" line="40"/>
+ <location filename="../filters/deskew/ui_DeskewOptionsWidget.h" line="121"/>
<source>Auto</source>
<translation>Автоматически</translation>
</message>
<message>
<location filename="../filters/deskew/ui/DeskewOptionsWidget.ui" line="56"/>
+ <location filename="../filters/deskew/ui_DeskewOptionsWidget.h" line="122"/>
<source>Manual</source>
<translation>Вручную</translation>
</message>
@@ -36,16 +109,19 @@
<name>ErrorWidget</name>
<message>
<location filename="../ui/ErrorWidget.ui" line="13"/>
+ <location filename="../ui_ErrorWidget.h" line="90"/>
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="../ui/ErrorWidget.ui" line="54"/>
+ <location filename="../ui_ErrorWidget.h" line="92"/>
<source>ImageLabel</source>
<translation></translation>
</message>
<message>
<location filename="../ui/ErrorWidget.ui" line="61"/>
+ <location filename="../ui_ErrorWidget.h" line="93"/>
<source>TextLabel</source>
<translation></translation>
</message>
@@ -85,36 +161,43 @@
</message>
<message>
<location filename="../ui/FixDpiDialog.ui" line="13"/>
+ <location filename="../ui_FixDpiDialog.h" line="159"/>
<source>Fix DPI</source>
<translation>Исправить DPI</translation>
</message>
<message>
<location filename="../ui/FixDpiDialog.ui" line="23"/>
+ <location filename="../ui_FixDpiDialog.h" line="160"/>
<source>Tab 1</source>
<translation></translation>
</message>
<message>
<location filename="../ui/FixDpiDialog.ui" line="33"/>
+ <location filename="../ui_FixDpiDialog.h" line="161"/>
<source>Tab 2</source>
<translation></translation>
</message>
<message>
<location filename="../ui/FixDpiDialog.ui" line="46"/>
+ <location filename="../ui_FixDpiDialog.h" line="162"/>
<source>DPI</source>
<translation></translation>
</message>
<message>
<location filename="../ui/FixDpiDialog.ui" line="69"/>
+ <location filename="../ui_FixDpiDialog.h" line="165"/>
<source>Custom</source>
<translation>Особый</translation>
</message>
<message>
<location filename="../ui/FixDpiDialog.ui" line="90"/>
+ <location filename="../ui_FixDpiDialog.h" line="167"/>
<source>x</source>
<translation></translation>
</message>
<message>
<location filename="../ui/FixDpiDialog.ui" line="113"/>
+ <location filename="../ui_FixDpiDialog.h" line="168"/>
<source>Apply</source>
<translation>Применить</translation>
</message>
@@ -123,21 +206,25 @@
<name>FixDpiSinglePageDialog</name>
<message>
<location filename="../ui/FixDpiSinglePageDialog.ui" line="13"/>
+ <location filename="../ui_FixDpiSinglePageDialog.h" line="124"/>
<source>Fix DPI</source>
<translation>Исправить DPI</translation>
</message>
<message>
<location filename="../ui/FixDpiSinglePageDialog.ui" line="19"/>
+ <location filename="../ui_FixDpiSinglePageDialog.h" line="125"/>
<source>DPI for %1</source>
<translation>DPI для %1</translation>
</message>
<message>
<location filename="../ui/FixDpiSinglePageDialog.ui" line="45"/>
+ <location filename="../ui_FixDpiSinglePageDialog.h" line="128"/>
<source>Custom</source>
<translation>Особый</translation>
</message>
<message>
<location filename="../ui/FixDpiSinglePageDialog.ui" line="93"/>
+ <location filename="../ui_FixDpiSinglePageDialog.h" line="130"/>
<source>x</source>
<translation></translation>
</message>
@@ -169,10 +256,6 @@
<source>Use the mouse wheel or +/- to zoom. When zoomed, dragging is possible.</source>
<translation>Используйте колесо мыши для увеличения. В увеличенном виде доступно перетаскивание.</translation>
</message>
- <message>
- <source>Unrestricted dragging is possible by holding down the Shift key.</source>
- <translation type="obsolete">Удерживая кнопку Shift, можно перетаскивать без ограничений.</translation>
- </message>
</context>
<context>
<name>LoadFileTask</name>
@@ -186,318 +269,310 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../MainWindow.cpp" line="1127"/>
- <location filename="../MainWindow.cpp" line="1136"/>
- <location filename="../MainWindow.cpp" line="1390"/>
- <location filename="../MainWindow.cpp" line="1421"/>
- <location filename="../MainWindow.cpp" line="1496"/>
+ <location filename="../MainWindow.cpp" line="1157"/>
+ <location filename="../MainWindow.cpp" line="1166"/>
+ <location filename="../MainWindow.cpp" line="1420"/>
+ <location filename="../MainWindow.cpp" line="1451"/>
+ <location filename="../MainWindow.cpp" line="1526"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1391"/>
- <location filename="../MainWindow.cpp" line="1422"/>
+ <location filename="../MainWindow.cpp" line="1421"/>
+ <location filename="../MainWindow.cpp" line="1452"/>
<source>Error saving the project file!</source>
<translation>Ошибка при сохранении файла!</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="219"/>
- <location filename="../MainWindow.cpp" line="483"/>
+ <location filename="../MainWindow.cpp" line="506"/>
+ <location filename="../ui_MainWindow.h" line="229"/>
<source>Save Project</source>
<translation>Сохранить проект</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="483"/>
+ <location filename="../MainWindow.cpp" line="506"/>
<source>Save this project?</source>
<translation>Сохранить этот проект?</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1040"/>
- <location filename="../MainWindow.cpp" line="1108"/>
+ <location filename="../MainWindow.cpp" line="1070"/>
+ <location filename="../MainWindow.cpp" line="1138"/>
<source>Scan Tailor Projects</source>
<translation>Проекты Scan Tailor</translation>
</message>
<message>
- <source>You can't output pages yet.
-First you need to process all of them with the "Page Layout" filter.</source>
- <translation type="obsolete">Вывод невозможен, поскольку еще не известны итоговые размеры страниц.
-Для их определения, прогоните пакетную обработку на этапах "Полезная Область' или "Макет страницы".</translation>
- </message>
- <message>
- <location filename="../MainWindow.cpp" line="1319"/>
+ <location filename="../MainWindow.cpp" line="1349"/>
<source>Unnamed</source>
<translation>Без имени</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="20"/>
+ <location filename="../ui_MainWindow.h" line="227"/>
<source>MainWindow</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="134"/>
+ <location filename="../ui_MainWindow.h" line="250"/>
<source>Keep current page in view.</source>
<translation>Держать текущую страницу в поле зрения.</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="214"/>
+ <location filename="../ui_MainWindow.h" line="228"/>
<source>Debug</source>
<translation>Режим отладки</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="222"/>
+ <location filename="../ui_MainWindow.h" line="230"/>
<source>Ctrl+S</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="227"/>
+ <location filename="../ui_MainWindow.h" line="231"/>
<source>Save Project As ...</source>
<translation>Сохранить проект как ...</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="232"/>
<location filename="../ui/MainWindow.ui" line="281"/>
+ <location filename="../ui_MainWindow.h" line="232"/>
+ <location filename="../ui_MainWindow.h" line="242"/>
<source>Next Page</source>
<translation>Следующая страница</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="235"/>
+ <location filename="../ui_MainWindow.h" line="233"/>
<source>PgDown</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="243"/>
<location filename="../ui/MainWindow.ui" line="270"/>
+ <location filename="../ui_MainWindow.h" line="234"/>
+ <location filename="../ui_MainWindow.h" line="240"/>
<source>Previous Page</source>
<translation>Предыдущая страница</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="246"/>
+ <location filename="../ui_MainWindow.h" line="235"/>
<source>PgUp</source>
<translation></translation>
</message>
<message>
- <source>Start Batch Processing</source>
- <translation type="obsolete">Запустить пакетную обработку</translation>
- </message>
- <message>
- <source>Stop Batch Processing</source>
- <translation type="obsolete">Остановить пакетную обработку</translation>
- </message>
- <message>
<location filename="../ui/MainWindow.ui" line="182"/>
+ <location filename="../ui_MainWindow.h" line="256"/>
<source>Tools</source>
<translation>Инструменты</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="190"/>
+ <location filename="../ui_MainWindow.h" line="257"/>
<source>File</source>
<translation>Файл</translation>
</message>
<message>
- <source>Process</source>
- <translation type="obsolete">Обработка</translation>
- </message>
- <message>
- <location filename="../MainWindow.cpp" line="1288"/>
+ <location filename="../MainWindow.cpp" line="1318"/>
<source>Output is not yet possible, as the final size of pages is not yet known.
To determine it, run batch processing at "Select Content" or "Page Layout".</source>
<translation>Вывод невозможен, поскольку еще не известны итоговые размеры страниц. Для их определения, прогоните пакетную обработку на этапах "Полезная область" или "Макет страницы".</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1107"/>
+ <location filename="../MainWindow.cpp" line="1137"/>
<source>Open Project</source>
<translation>Открыть проект</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="420"/>
+ <location filename="../MainWindow.cpp" line="423"/>
<source>Beep when finished</source>
<translation>Звуковой сигнал по окончании</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="776"/>
+ <location filename="../MainWindow.cpp" line="430"/>
+ <source>Normal</source>
+ <translation>Нормальный</translation>
+ </message>
+ <message>
+ <location filename="../MainWindow.cpp" line="431"/>
+ <source>Low</source>
+ <translation>Низкий</translation>
+ </message>
+ <message>
+ <location filename="../MainWindow.cpp" line="432"/>
+ <source>Lowest</source>
+ <translation>Низший</translation>
+ </message>
+ <message>
+ <location filename="../MainWindow.cpp" line="433"/>
+ <source>Idle</source>
+ <translation>Фоновый</translation>
+ </message>
+ <message>
+ <location filename="../MainWindow.cpp" line="440"/>
+ <source>Batch processing priority</source>
+ <translation>Приоритет фоновой обработки</translation>
+ </message>
+ <message>
+ <location filename="../MainWindow.cpp" line="799"/>
<source>Insert before ...</source>
<translation>Вставить перед ...</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="779"/>
+ <location filename="../MainWindow.cpp" line="802"/>
<source>Insert after ...</source>
<translation>Вставить после ...</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="785"/>
+ <location filename="../MainWindow.cpp" line="808"/>
<source>Remove from project ...</source>
<translation>Удалить из проекта ...</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="802"/>
+ <location filename="../MainWindow.cpp" line="825"/>
<source>Insert here ...</source>
<translation>Вставить сюда ...</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1128"/>
+ <location filename="../MainWindow.cpp" line="1158"/>
<source>Unable to open the project file.</source>
<translation>Не удалось открыть файл проекта.</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1137"/>
+ <location filename="../MainWindow.cpp" line="1167"/>
<source>The project file is broken.</source>
<translation>Файл проекта поврежден.</translation>
</message>
<message>
- <source>Unable to interpret the project file.</source>
- <translation type="obsolete">Не удалось импортировать проект.</translation>
- </message>
- <message>
- <location filename="../MainWindow.cpp" line="1324"/>
+ <location filename="../MainWindow.cpp" line="1354"/>
<source>%1 - Scan Tailor %2</source>
<translation></translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1469"/>
+ <location filename="../MainWindow.cpp" line="1499"/>
<source>File to insert</source>
<translation>Вставить файл</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1475"/>
+ <location filename="../MainWindow.cpp" line="1505"/>
<source>Images not in project (%1)</source>
<translation>Изображения не в проекте (%1)</translation>
</message>
<message>
- <location filename="../MainWindow.cpp" line="1497"/>
+ <location filename="../MainWindow.cpp" line="1527"/>
<source>Error opening the image file.</source>
<translation>Ошибка при открытии файла изображения.</translation>
</message>
<message>
- <source>%1 (page %2)</source>
- <translation type="obsolete">%1 (страницы %2)</translation>
- </message>
- <message>
- <location filename="../MainWindow.cpp" line="1537"/>
+ <location filename="../MainWindow.cpp" line="1567"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
- <source>Unable to delete file:
-%1</source>
- <translation type="obsolete">Невозможно удалить файл:
-%1</translation>
- </message>
- <message>
<location filename="../ui/MainWindow.ui" line="254"/>
+ <location filename="../ui_MainWindow.h" line="236"/>
<source>New Project ...</source>
<translation>Новый проект ...</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="257"/>
+ <location filename="../ui_MainWindow.h" line="237"/>
<source>Ctrl+N</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="262"/>
+ <location filename="../ui_MainWindow.h" line="238"/>
<source>Open Project ...</source>
<translation>Открыть проект ...</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="265"/>
+ <location filename="../ui_MainWindow.h" line="239"/>
<source>Ctrl+O</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="160"/>
+ <location filename="../ui_MainWindow.h" line="254"/>
<source>Use PgUp, PgDown or Q, W to navigate between pages.</source>
<translation>Страницы можно листать с помощью PgUp и PgDown, а также Q и W.</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="273"/>
+ <location filename="../ui_MainWindow.h" line="241"/>
<source>Q</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="284"/>
+ <location filename="../ui_MainWindow.h" line="243"/>
<source>W</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="292"/>
+ <location filename="../ui_MainWindow.h" line="244"/>
<source>Close Project</source>
<translation>Закрыть проект</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="295"/>
+ <location filename="../ui_MainWindow.h" line="245"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="300"/>
+ <location filename="../ui_MainWindow.h" line="246"/>
<source>Quit</source>
<translation>Выход</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="303"/>
+ <location filename="../ui_MainWindow.h" line="247"/>
<source>Ctrl+Q</source>
<translation></translation>
</message>
<message>
- <source>Keep the current page in view.</source>
- <translation type="obsolete">Автоматически переходить к выбранной странице.</translation>
- </message>
- <message>
- <source>Scroll to a selected page automatically.</source>
- <translation type="obsolete">Автоматически переходить к выбранной странице.</translation>
- </message>
- <message>
- <source>Thumbnail list auto-scrolling.</source>
- <translation type="obsolete">Автопрокрутка ленты предпросмотра.</translation>
- </message>
- <message>
- <location filename="../MainWindow.cpp" line="412"/>
+ <location filename="../MainWindow.cpp" line="415"/>
<source>Stop batch processing</source>
<translation>Остановить пакетную обработку</translation>
</message>
<message>
<location filename="../ui/MainWindow.ui" line="308"/>
+ <location filename="../ui_MainWindow.h" line="248"/>
<source>Settings ...</source>
<translation>Настройки ...</translation>
</message>
</context>
<context>
- <name>NewOpenProjectDialog</name>
- <message>
- <source>New Project</source>
- <translation type="obsolete">Новый проект</translation>
- </message>
- <message>
- <source>Open Project</source>
- <translation type="obsolete">Открыть проект</translation>
- </message>
-</context>
-<context>
<name>NewOpenProjectPanel</name>
<message>
<location filename="../ui/NewOpenProjectPanel.ui" line="19"/>
+ <location filename="../ui_NewOpenProjectPanel.h" line="103"/>
<source>Form</source>
<translation></translation>
</message>
<message>
- <source>New Project</source>
- <translation type="obsolete">Новый проект</translation>
- </message>
- <message>
- <source>Open Project</source>
- <translation type="obsolete">Открыть проект</translation>
- </message>
- <message>
<location filename="../ui/NewOpenProjectPanel.ui" line="103"/>
+ <location filename="../ui_NewOpenProjectPanel.h" line="106"/>
<source>Recent Projects</source>
<translation>Недавние проекты</translation>
</message>
<message>
<location filename="../ui/NewOpenProjectPanel.ui" line="52"/>
+ <location filename="../ui_NewOpenProjectPanel.h" line="104"/>
<source>New Project ...</source>
<translation>Новый проект ...</translation>
</message>
<message>
<location filename="../ui/NewOpenProjectPanel.ui" line="78"/>
+ <location filename="../ui_NewOpenProjectPanel.h" line="105"/>
<source>Open Project ...</source>
<translation>Открыть проект ...</translation>
</message>
@@ -506,31 +581,37 @@ To determine it, run batch processing at "Select Content" or "Pag
<name>OrientationApplyDialog</name>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="17"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="211"/>
<source>Fix Orientation</source>
<translation>Исправление ориентации</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="23"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="212"/>
<source>Apply to</source>
<translation>Применить</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="29"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="213"/>
<source>This page only (already applied)</source>
<translation>Только к этой странице (уже применено)</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="39"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="214"/>
<source>All pages</source>
<translation>Ко всем страницам</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="46"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="215"/>
<source>This page and the following ones</source>
<translation>К этой странице и всем последующим</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="71"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="216"/>
<source>Every other page</source>
<extracomment>All odd or even pages, depending on the current page being odd or even.</extracomment>
<translation>К каждой второй странице</translation>
@@ -538,67 +619,67 @@ To determine it, run batch processing at "Select Content" or "Pag
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="101"/>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="206"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="217"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="221"/>
<source>The current page will be included.</source>
<translation>Текущая страница будет включена в список.</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="125"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="218"/>
<source>Selected pages</source>
<translation>К выбранным страницам</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="155"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="219"/>
<source>Use Ctrl+Click / Shift+Click to select multiple pages.</source>
<translation>Используйте Ctrl+Клик / Shift+Клик для выбора группы страниц.</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationApplyDialog.ui" line="176"/>
+ <location filename="../filters/fix_orientation/ui_OrientationApplyDialog.h" line="220"/>
<source>Every other selected page</source>
<translation>К каждой второй выбранной странице</translation>
</message>
- <message>
- <source>Every page in range</source>
- <translation type="obsolete">Ко всем страницам в диапазоне</translation>
- </message>
- <message>
- <source>Every other page in range</source>
- <translation type="obsolete">К каждой второй странице в диапазоне</translation>
- </message>
- <message>
- <source>Range</source>
- <translation type="obsolete">Диапазон</translation>
- </message>
</context>
<context>
<name>OrientationOptionsWidget</name>
<message>
<location filename="../filters/fix_orientation/ui/OrientationOptionsWidget.ui" line="13"/>
+ <location filename="../filters/fix_orientation/ui_OrientationOptionsWidget.h" line="173"/>
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationOptionsWidget.ui" line="19"/>
+ <location filename="../filters/fix_orientation/ui_OrientationOptionsWidget.h" line="174"/>
<source>Rotate</source>
<translation>Поворот</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationOptionsWidget.ui" line="40"/>
<location filename="../filters/fix_orientation/ui/OrientationOptionsWidget.ui" line="56"/>
+ <location filename="../filters/fix_orientation/ui_OrientationOptionsWidget.h" line="175"/>
+ <location filename="../filters/fix_orientation/ui_OrientationOptionsWidget.h" line="176"/>
<source>...</source>
<translation></translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationOptionsWidget.ui" line="142"/>
+ <location filename="../filters/fix_orientation/ui_OrientationOptionsWidget.h" line="178"/>
<source>Reset</source>
<translation>Сброс</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationOptionsWidget.ui" line="167"/>
+ <location filename="../filters/fix_orientation/ui_OrientationOptionsWidget.h" line="179"/>
<source>Scope</source>
<translation>Область применения</translation>
</message>
<message>
<location filename="../filters/fix_orientation/ui/OrientationOptionsWidget.ui" line="188"/>
+ <location filename="../filters/fix_orientation/ui_OrientationOptionsWidget.h" line="180"/>
<source>Apply to ...</source>
<translation>Применить к ...</translation>
</message>
@@ -606,45 +687,44 @@ To determine it, run batch processing at "Select Content" or "Pag
<context>
<name>OutputApplyColorsDialog</name>
<message>
- <source>Apply Colors</source>
- <translation type="obsolete">Применить режим вывода</translation>
- </message>
- <message>
- <source>Scope</source>
- <translation type="obsolete">Примененить</translation>
- </message>
- <message>
<location filename="../filters/output/ui/OutputApplyColorsDialog.ui" line="23"/>
+ <location filename="../filters/output/ui_OutputApplyColorsDialog.h" line="132"/>
<source>Apply to</source>
<translation>Применить</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputApplyColorsDialog.ui" line="29"/>
+ <location filename="../filters/output/ui_OutputApplyColorsDialog.h" line="133"/>
<source>This page only (already applied)</source>
<translation>Только к этой странице (уже применено)</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputApplyColorsDialog.ui" line="39"/>
+ <location filename="../filters/output/ui_OutputApplyColorsDialog.h" line="134"/>
<source>All pages</source>
<translation>Ко всем страницам</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputApplyColorsDialog.ui" line="46"/>
+ <location filename="../filters/output/ui_OutputApplyColorsDialog.h" line="135"/>
<source>This page and the following ones</source>
<translation>К этой странице и всем последующим</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputApplyColorsDialog.ui" line="62"/>
+ <location filename="../filters/output/ui_OutputApplyColorsDialog.h" line="136"/>
<source>Selected pages</source>
<translation>К выбранным страницам</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputApplyColorsDialog.ui" line="95"/>
+ <location filename="../filters/output/ui_OutputApplyColorsDialog.h" line="137"/>
<source>Use Ctrl+Click / Shift+Click to select multiple pages.</source>
<translation>Используйте Ctrl+Клик / Shift+Клик для выбора группы страниц.</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputApplyColorsDialog.ui" line="17"/>
+ <location filename="../filters/output/ui_OutputApplyColorsDialog.h" line="131"/>
<source>Apply Mode</source>
<translation>Применить режим вывода</translation>
</message>
@@ -653,45 +733,49 @@ To determine it, run batch processing at "Select Content" or "Pag
<name>OutputChangeDpiDialog</name>
<message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="23"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="160"/>
<source>DPI</source>
<translation></translation>
</message>
<message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="68"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="161"/>
<source>Scope</source>
<translation>Применить</translation>
</message>
<message>
- <source>This page only (already applied)</source>
- <translation type="obsolete">Только к этой странице (уже применено)</translation>
- </message>
- <message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="91"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="164"/>
<source>This page and the following ones</source>
<translation>К этой странице и всем последующим</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="107"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="165"/>
<source>Selected pages</source>
<translation>К выбранным страницам</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="140"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="166"/>
<source>Use Ctrl+Click / Shift+Click to select multiple pages.</source>
<translation>Используйте Ctrl+Клик / Shift+Клик для выбора группы страниц.</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="74"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="162"/>
<source>This page only</source>
<translation>Только к этой странице</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="84"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="163"/>
<source>All pages</source>
<translation>Ко всем страницам</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputChangeDpiDialog.ui" line="17"/>
+ <location filename="../filters/output/ui_OutputChangeDpiDialog.h" line="159"/>
<source>Apply Output Resolution</source>
<translation>Применить разрешение вывода</translation>
</message>
@@ -700,37 +784,45 @@ To determine it, run batch processing at "Select Content" or "Pag
<name>OutputOptionsWidget</name>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="14"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="377"/>
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="20"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="378"/>
<source>Output Resolution (DPI)</source>
<translation>Разрешение вывода (DPI)</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="78"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="380"/>
<source>Change ...</source>
<translation>Изменить ...</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="281"/>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="393"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="388"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="394"/>
<source>No despeckling</source>
<translation>Не удалять пятна</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="303"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="390"/>
<source>Dewarp</source>
<translation>Устранение геометрических искажений</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="369"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="392"/>
<source>Despeckling</source>
<translation>Удаление пятен</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="418"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="398"/>
<source>Cautious despeckling</source>
<translation>Осторожное удаление пятен</translation>
</message>
@@ -738,67 +830,59 @@ To determine it, run batch processing at "Select Content" or "Pag
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="421"/>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="447"/>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="473"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="400"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="404"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="408"/>
<source>...</source>
<translation></translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="444"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="402"/>
<source>Normal despeckling</source>
<translation>Обычное удаление пятен</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="470"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="406"/>
<source>Aggressive despeckling</source>
<translation>Аггрессивное удаление пятен</translation>
</message>
<message>
- <source>Colors</source>
- <translation type="obsolete">Режим</translation>
- </message>
- <message>
- <source>Light</source>
- <translation type="obsolete">Светлый</translation>
- </message>
- <message>
- <source>Dark</source>
- <translation type="obsolete">Темный</translation>
- </message>
- <message>
- <source>B/W Threshold</source>
- <translation type="obsolete">Черно-белый порог</translation>
- </message>
- <message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="344"/>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="526"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="391"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="409"/>
<source>Apply To ...</source>
<translation>Применить к ...</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="103"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="381"/>
<source>Mode</source>
<translation>Режим</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="169"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="382"/>
<source>White margins</source>
<translation>Белые поля</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="176"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="383"/>
<source>Equalize illumination</source>
<translation>Выровнять освещение</translation>
</message>
<message>
- <source>Despeckle</source>
- <translation type="obsolete">Удалять пятна</translation>
- </message>
- <message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="237"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="384"/>
<source>Thinner</source>
<translation>Тоньше</translation>
</message>
<message>
<location filename="../filters/output/ui/OutputOptionsWidget.ui" line="269"/>
+ <location filename="../filters/output/ui_OutputOptionsWidget.h" line="386"/>
<source>Thicker</source>
<translation>Жирнее</translation>
</message>
@@ -806,36 +890,38 @@ To determine it, run batch processing at "Select Content" or "Pag
<context>
<name>PageLayoutApplyDialog</name>
<message>
- <source>Scope</source>
- <translation type="obsolete">Применить</translation>
- </message>
- <message>
<location filename="../filters/page_layout/ui/PageLayoutApplyDialog.ui" line="20"/>
+ <location filename="../filters/page_layout/ui_PageLayoutApplyDialog.h" line="131"/>
<source>Apply to</source>
<translation>Применить</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutApplyDialog.ui" line="26"/>
+ <location filename="../filters/page_layout/ui_PageLayoutApplyDialog.h" line="132"/>
<source>This page only (already applied)</source>
<translation>Только к этой странице (уже применено)</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutApplyDialog.ui" line="36"/>
+ <location filename="../filters/page_layout/ui_PageLayoutApplyDialog.h" line="133"/>
<source>All pages</source>
<translation>Ко всем страницам</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutApplyDialog.ui" line="43"/>
+ <location filename="../filters/page_layout/ui_PageLayoutApplyDialog.h" line="134"/>
<source>This page and the following ones</source>
<translation>К этой странице и всем последующим</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutApplyDialog.ui" line="59"/>
+ <location filename="../filters/page_layout/ui_PageLayoutApplyDialog.h" line="135"/>
<source>Selected pages</source>
<translation>К выбранным страницам</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutApplyDialog.ui" line="92"/>
+ <location filename="../filters/page_layout/ui_PageLayoutApplyDialog.h" line="136"/>
<source>Use Ctrl+Click / Shift+Click to select multiple pages.</source>
<translation>Используйте Ctrl+Клик / Shift+Клик для выбора группы страниц.</translation>
</message>
@@ -844,26 +930,31 @@ To determine it, run batch processing at "Select Content" or "Pag
<name>PageLayoutOptionsWidget</name>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="13"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="461"/>
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="19"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="462"/>
<source>Margins</source>
<translation>Поля</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="41"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="465"/>
<source>Millimeters (mm)</source>
<translation>Миллиметры (mm)</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="46"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="466"/>
<source>Inches (in)</source>
<translation>Дюймы (in)</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="86"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="468"/>
<source>Top</source>
<translation>Сверху</translation>
</message>
@@ -879,73 +970,79 @@ To determine it, run batch processing at "Select Content" or "Pag
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="463"/>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="486"/>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="509"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="469"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="472"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="477"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="478"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="479"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="480"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="481"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="482"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="483"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="484"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="485"/>
<source>...</source>
<translation></translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="114"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="470"/>
<source>Bottom</source>
<translation>Снизу</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="131"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="471"/>
<source>Left</source>
<translation>Слева</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="172"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="473"/>
<source>Right</source>
<translation>Справа</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="231"/>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="564"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="474"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="486"/>
<source>Apply To ...</source>
<translation>Применить к ...</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="256"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="475"/>
<source>Alignment</source>
<translation>Выравнивание</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="277"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="476"/>
<source>Align with other pages</source>
<translation>Выровнять с другими страницами</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="604"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="488"/>
<source>Go to the widest page.</source>
<translation>Перейти к самой широкой странице.</translation>
</message>
<message>
- <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="widest_page"><span style=" text-decoration: underline; color:#0057ae;">Widest Page</span></a></p></body></html></source>
- <translation type="obsolete"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="widest_page"><span style=" text-decoration: underline; color:#0057ae;">Самая широкая страница</span></a></p></body></html></translation>
- </message>
- <message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="647"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="492"/>
<source>Go to the tallest page.</source>
<translation>Перейти к самой высокой странице.</translation>
</message>
<message>
- <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="tallest_page"><span style=" text-decoration: underline; color:#0057ae;">Tallest Page</span></a></p></body></html></source>
- <translation type="obsolete"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="tallest_page"><span style=" text-decoration: underline; color:#0057ae;">Самая высокая страница</span></a></p></body></html></translation>
- </message>
- <message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="607"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="490"/>
<source>Widest Page</source>
<translation>Самая широкая страница</translation>
</message>
<message>
<location filename="../filters/page_layout/ui/PageLayoutOptionsWidget.ui" line="650"/>
+ <location filename="../filters/page_layout/ui_PageLayoutOptionsWidget.h" line="494"/>
<source>Tallest Page</source>
<translation>Самая высокая страница</translation>
</message>
@@ -954,55 +1051,61 @@ p, li { white-space: pre-wrap; }
<name>PageSplitModeDialog</name>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="17"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="177"/>
<source>Split Pages</source>
<translation>Разрезание страниц</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="63"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="178"/>
<source>Mode</source>
<translation>Тип разреза</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="69"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="179"/>
<source>Auto</source>
<translation>Автоматически</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="79"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="180"/>
<source>Manual</source>
<translation>Вручную</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="89"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="181"/>
<source>Scope</source>
<translation>Применить</translation>
</message>
<message>
- <source>This page only (already applied)</source>
- <translation type="obsolete">Только к этой странице (уже применено)</translation>
- </message>
- <message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="112"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="184"/>
<source>This page and the following ones</source>
<translation>К этой странице и всем последующим</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="128"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="185"/>
<source>Selected pages</source>
<translation>К выбранным страницам</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="161"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="186"/>
<source>Use Ctrl+Click / Shift+Click to select multiple pages.</source>
<translation>Используйте Ctrl+Клик / Shift+Клик для выбора группы страниц.</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="95"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="182"/>
<source>This page only</source>
<translation>Только к этой странице</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitModeDialog.ui" line="105"/>
+ <location filename="../filters/page_split/ui_PageSplitModeDialog.h" line="183"/>
<source>All pages</source>
<translation>Ко всем страницам</translation>
</message>
@@ -1011,36 +1114,43 @@ p, li { white-space: pre-wrap; }
<name>PageSplitOptionsWidget</name>
<message>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="20"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="257"/>
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="26"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="258"/>
<source>Page Layout</source>
<translation>Тип разреза</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="134"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="259"/>
<source>?</source>
<translation></translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="159"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="260"/>
<source>Change ...</source>
<translation>Изменить ...</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="184"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="261"/>
<source>Split Line</source>
<translation>Разделительная линия</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="214"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="262"/>
<source>Auto</source>
<translation>Автоматически</translation>
</message>
<message>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="230"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="263"/>
<source>Manual</source>
<translation>Вручную</translation>
</message>
@@ -1048,6 +1158,9 @@ p, li { white-space: pre-wrap; }
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="283"/>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="306"/>
<location filename="../filters/page_split/ui/PageSplitOptionsWidget.ui" line="326"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="264"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="265"/>
+ <location filename="../filters/page_split/ui_PageSplitOptionsWidget.h" line="266"/>
<source>...</source>
<translation></translation>
</message>
@@ -1057,12 +1170,14 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="20"/>
<location filename="../ProjectFilesDialog.cpp" line="334"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="207"/>
<source>Input Directory</source>
<translation>Директория ввода</translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="43"/>
<location filename="../ProjectFilesDialog.cpp" line="354"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="209"/>
<source>Output Directory</source>
<translation>Директория вывода</translation>
</message>
@@ -1122,28 +1237,35 @@ You should remove them from the project.</source>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="14"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="206"/>
<source>Project Files</source>
<translation>Файлы проекта</translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="33"/>
<location filename="../ui/ProjectFilesDialog.ui" line="52"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="208"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="210"/>
<source>Browse</source>
<translation>Обзор</translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="64"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="211"/>
<source>Files Not In Project</source>
<translation>Файлы не в проекте</translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="77"/>
<location filename="../ui/ProjectFilesDialog.ui" line="159"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="212"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="228"/>
<source>Select All</source>
<translation>Выбрать все</translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="102"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="214"/>
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
@@ -1152,11 +1274,13 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="108"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="219"/>
<source>>></source>
<translation></translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="115"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="221"/>
<source><html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
@@ -1165,21 +1289,25 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="121"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="226"/>
<source><<</source>
<translation></translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="143"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="227"/>
<source>Files In Project</source>
<translation>Файлы в проекте</translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="171"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="229"/>
<source>Right to left layout (for Hebrew and Arabic)</source>
<translation>Система письменности справа-налево (для Иврита или Арабского)</translation>
</message>
<message>
<location filename="../ui/ProjectFilesDialog.ui" line="178"/>
+ <location filename="../ui_ProjectFilesDialog.h" line="230"/>
<source>Fix DPIs, even if they look OK</source>
<translation>Править DPI, даже если они выглядят нормальными</translation>
</message>
@@ -1187,61 +1315,33 @@ p, li { white-space: pre-wrap; }
<context>
<name>ProjectOpeningContext</name>
<message>
- <source>Open Project</source>
- <translation type="obsolete">Открыть проект</translation>
- </message>
- <message>
- <source>Scan Tailor Projects</source>
- <translation type="obsolete">Проекты Scan Tailor</translation>
- </message>
- <message>
<location filename="../ProjectOpeningContext.cpp" line="51"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
- <source>Unable to open the project file.</source>
- <translation type="obsolete">Не удалось открыть файл проекта.</translation>
- </message>
- <message>
- <source>The project file is broken.</source>
- <translation type="obsolete">Файл проекта поврежден.</translation>
- </message>
- <message>
<location filename="../ProjectOpeningContext.cpp" line="52"/>
<source>Unable to interpret the project file.</source>
<translation>Не удалось импортировать проект.</translation>
</message>
</context>
<context>
- <name>RemoveFileDialog</name>
- <message>
- <source>Remove File</source>
- <translation type="obsolete">Удалить файл</translation>
- </message>
- <message>
- <source>Remove %1 from project?</source>
- <translation type="obsolete">Удалить %1 из проекта?</translation>
- </message>
- <message>
- <source>Also delete the file from disk</source>
- <translation type="obsolete">Удалить его также и с диска</translation>
- </message>
-</context>
-<context>
<name>RemovePagesDialog</name>
<message>
<location filename="../ui/RemovePagesDialog.ui" line="14"/>
+ <location filename="../ui_RemovePagesDialog.h" line="76"/>
<source>Remove Pages</source>
<translation>Удалить страницы</translation>
</message>
<message>
<location filename="../ui/RemovePagesDialog.ui" line="20"/>
+ <location filename="../ui_RemovePagesDialog.h" line="77"/>
<source>Remove %1 page(s) from project?</source>
<translation>Удалить %1 страниц из проекта?</translation>
</message>
<message>
<location filename="../ui/RemovePagesDialog.ui" line="33"/>
+ <location filename="../ui_RemovePagesDialog.h" line="78"/>
<source>Files will remain on disk</source>
<translation>Файлы останутся на диске</translation>
</message>
@@ -1250,21 +1350,25 @@ p, li { white-space: pre-wrap; }
<name>SelectContentOptionsWidget</name>
<message>
<location filename="../filters/select_content/ui/SelectContentOptionsWidget.ui" line="13"/>
+ <location filename="../filters/select_content/ui_SelectContentOptionsWidget.h" line="88"/>
<source>Form</source>
<translation></translation>
</message>
<message>
<location filename="../filters/select_content/ui/SelectContentOptionsWidget.ui" line="19"/>
+ <location filename="../filters/select_content/ui_SelectContentOptionsWidget.h" line="89"/>
<source>Content Box</source>
<translation>Полезная область</translation>
</message>
<message>
<location filename="../filters/select_content/ui/SelectContentOptionsWidget.ui" line="38"/>
+ <location filename="../filters/select_content/ui_SelectContentOptionsWidget.h" line="90"/>
<source>Auto</source>
<translation>Автоматически</translation>
</message>
<message>
<location filename="../filters/select_content/ui/SelectContentOptionsWidget.ui" line="54"/>
+ <location filename="../filters/select_content/ui_SelectContentOptionsWidget.h" line="91"/>
<source>Manual</source>
<translation>Вручную</translation>
</message>
@@ -1272,25 +1376,72 @@ p, li { white-space: pre-wrap; }
<context>
<name>SettingsDialog</name>
<message>
- <location filename="../SettingsDialog.cpp" line="36"/>
+ <location filename="../SettingsDialog.cpp" line="38"/>
<source>Compiled without OpenGL support.</source>
<translation>Собрано без поддержки OpenGL.</translation>
</message>
<message>
- <location filename="../SettingsDialog.cpp" line="41"/>
+ <location filename="../SettingsDialog.cpp" line="43"/>
<source>Your hardware / driver don't provide the necessary features.</source>
<translation>Ваше железо или драйвер не поддерживают необходимого функционала.</translation>
</message>
<message>
+ <location filename="../SettingsDialog.cpp" line="52"/>
+ <source>Requires restart of the program ScanTailor</source>
+ <translation>Требуется перезапуск программы ScanTailor</translation>
+ </message>
+ <message>
+ <location filename="../SettingsDialog.cpp" line="77"/>
+ <source>Priority</source>
+ <translation>Приоритет</translation>
+ </message>
+ <message>
+ <location filename="../SettingsDialog.cpp" line="78"/>
+ <source>Batch processing priority will be adjusted only after restart of ScanTailor.</source>
+ <translation>Приоритет фоновой обработки будет изменён только после перезапуска программы ScanTailor.</translation>
+ </message>
+ <message>
<location filename="../ui/SettingsDialog.ui" line="14"/>
+ <location filename="../ui_SettingsDialog.h" line="88"/>
<source>Settings</source>
<translation>Настройки</translation>
</message>
<message>
<location filename="../ui/SettingsDialog.ui" line="20"/>
+ <location filename="../ui_SettingsDialog.h" line="89"/>
<source>Use 3D acceleration for user interface</source>
<translation>Использовать 3D ускорение для интерфейса пользователя</translation>
</message>
+ <message>
+ <location filename="../ui/SettingsDialog.ui" line="30"/>
+ <location filename="../ui_SettingsDialog.h" line="92"/>
+ <source>Normal</source>
+ <translation>Нормальный</translation>
+ </message>
+ <message>
+ <location filename="../ui/SettingsDialog.ui" line="35"/>
+ <location filename="../ui_SettingsDialog.h" line="93"/>
+ <source>Low</source>
+ <translation>Низкий</translation>
+ </message>
+ <message>
+ <location filename="../ui/SettingsDialog.ui" line="40"/>
+ <location filename="../ui_SettingsDialog.h" line="94"/>
+ <source>Lowest</source>
+ <translation>Низший</translation>
+ </message>
+ <message>
+ <location filename="../ui/SettingsDialog.ui" line="45"/>
+ <location filename="../ui_SettingsDialog.h" line="95"/>
+ <source>Idle</source>
+ <translation>Фоновый</translation>
+ </message>
+ <message>
+ <location filename="../ui/SettingsDialog.ui" line="53"/>
+ <location filename="../ui_SettingsDialog.h" line="97"/>
+ <source>Batch processing priority</source>
+ <translation>Приоритет фоновой обработки</translation>
+ </message>
</context>
<context>
<name>StageListView</name>
@@ -1376,21 +1527,25 @@ p, li { white-space: pre-wrap; }
<name>ZonePropertiesDialog</name>
<message>
<location filename="../filters/output/ui/ZonePropertiesDialog.ui" line="14"/>
+ <location filename="../filters/output/ui_ZonePropertiesDialog.h" line="79"/>
<source>Zone Properties</source>
<translation>Свойства зоны</translation>
</message>
<message>
<location filename="../filters/output/ui/ZonePropertiesDialog.ui" line="20"/>
+ <location filename="../filters/output/ui_ZonePropertiesDialog.h" line="80"/>
<source>Subtract from all layers</source>
<translation>Вычесть из всех слоев</translation>
</message>
<message>
<location filename="../filters/output/ui/ZonePropertiesDialog.ui" line="27"/>
+ <location filename="../filters/output/ui_ZonePropertiesDialog.h" line="81"/>
<source>Add to auto layer</source>
<translation>Добавить к авто-слою</translation>
</message>
<message>
<location filename="../filters/output/ui/ZonePropertiesDialog.ui" line="34"/>
+ <location filename="../filters/output/ui_ZonePropertiesDialog.h" line="82"/>
<source>Subtract from auto layer</source>
<translation>Вычесть из авто-слоя</translation>
</message>
@@ -1427,18 +1582,6 @@ p, li { white-space: pre-wrap; }
<context>
<name>fix_orientation::ApplyDialog</name>
<message>
- <source>Error</source>
- <translation type="obsolete">Ошибка</translation>
- </message>
- <message>
- <source>Range is required.</source>
- <translation type="obsolete">Требуется указать диапазон.</translation>
- </message>
- <message>
- <source>Page %1 (the current page) must be inside the range.</source>
- <translation type="obsolete">Страница %1 (текущая страница) должна быть внутри диапазона.</translation>
- </message>
- <message>
<location filename="../filters/fix_orientation/ApplyDialog.cpp" line="52"/>
<source>Can't do: more that one group is selected.</source>
<translation>Невозможно: выбрано несколько групп страниц.</translation>
@@ -1462,14 +1605,6 @@ p, li { white-space: pre-wrap; }
<translation>Ошибка</translation>
</message>
<message>
- <source>Horizontal DPI is not set.</source>
- <translation type="obsolete">Горизонтальный DPI не установлен.</translation>
- </message>
- <message>
- <source>Vertical DPI is not set.</source>
- <translation type="obsolete">Вертикальный DPI не установлен. </translation>
- </message>
- <message>
<location filename="../filters/output/ChangeDpiDialog.cpp" line="140"/>
<source>DPI is too low!</source>
<translation>DPI слишком низкий!</translation>
@@ -1506,10 +1641,6 @@ p, li { white-space: pre-wrap; }
<translation>Черно-белый</translation>
</message>
<message>
- <source>Bitonal</source>
- <translation type="obsolete">Двухтоновый</translation>
- </message>
- <message>
<location filename="../filters/output/OptionsWidget.cpp" line="62"/>
<source>Color / Grayscale</source>
<translation>Цветной / Серый</translation>
@@ -1526,66 +1657,6 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
- <name>output::PictureZoneEditor::ContextMenuHandler</name>
- <message>
- <source>Properties</source>
- <translation type="obsolete">Свойства</translation>
- </message>
- <message>
- <source>Delete</source>
- <translation type="obsolete">Удалить</translation>
- </message>
- <message>
- <source>Delete confirmation</source>
- <translation type="obsolete">Подтверждение удаления</translation>
- </message>
- <message>
- <source>Really delete this zone?</source>
- <translation type="obsolete">Действительно удалить эту зону?</translation>
- </message>
-</context>
-<context>
- <name>output::PictureZoneEditor::DefaultState</name>
- <message>
- <source>Drag the vertex.</source>
- <translation type="obsolete">Вершину можно перетаскивать.</translation>
- </message>
- <message>
- <source>Click to create a new vertex here.</source>
- <translation type="obsolete">Кликните для создания новой вершины.</translation>
- </message>
- <message>
- <source>Right click to edit zone properties.</source>
- <translation type="obsolete">Правый клик для редактирования свойств зоны.</translation>
- </message>
- <message>
- <source>Click to start creating a new picture zone.</source>
- <translation type="obsolete">Кликните чтобы начать создание новой зоны.</translation>
- </message>
-</context>
-<context>
- <name>output::PictureZoneEditor::SplineCreationState</name>
- <message>
- <source>Finish the zone by connecting its start and end points.</source>
- <translation type="obsolete">Закончите зону, соединив начало с концом.</translation>
- </message>
- <message>
- <source>At least 3 edges are required. ESC to discard this zone.</source>
- <translation type="obsolete">Нужно как минимум 3 ребра. ESC для отмены создания зоны.</translation>
- </message>
-</context>
-<context>
- <name>output::PictureZoneEditor::VertexDragHandler</name>
- <message>
- <source>Merge these two vertices.</source>
- <translation type="obsolete">Объединить эти две вершины.</translation>
- </message>
- <message>
- <source>Move the vertex to one of its neighbors to merge them.</source>
- <translation type="obsolete">Придвиньте вершину к одной из соседних вершин, чтобы объеденить их.</translation>
- </message>
-</context>
-<context>
<name>output::Task::UiUpdater</name>
<message>
<location filename="../filters/output/Task.cpp" line="410"/>
@@ -1653,14 +1724,6 @@ p, li { white-space: pre-wrap; }
<context>
<name>page_split::ImageView</name>
<message>
- <source>Drag this handle to skew the line.</source>
- <translation type="obsolete">Тяните эту рукоятку чтобы наклонить линию.</translation>
- </message>
- <message>
- <source>This line can be dragged.</source>
- <translation type="obsolete">Это линию можно перетаскивать мышкой.</translation>
- </message>
- <message>
<location filename="../filters/page_split/ImageView.cpp" line="51"/>
<source>Drag the line or the handles.</source>
<translation>Тяните линию или рукоятки.</translation>
@@ -1669,14 +1732,6 @@ p, li { white-space: pre-wrap; }
<context>
<name>page_split::OptionsWidget</name>
<message>
- <source>This page only</source>
- <translation type="obsolete">Только для этой страницы</translation>
- </message>
- <message>
- <source>All pages</source>
- <translation type="obsolete">Для всех страниц</translation>
- </message>
- <message>
<location filename="../filters/page_split/OptionsWidget.cpp" line="130"/>
<location filename="../filters/page_split/OptionsWidget.cpp" line="236"/>
<location filename="../filters/page_split/OptionsWidget.cpp" line="332"/>
diff --git a/scantailor/ui/SettingsDialog.ui b/scantailor/ui/SettingsDialog.ui
index e6c5db9..9cbd9c8 100644
--- a/scantailor/ui/SettingsDialog.ui
+++ b/scantailor/ui/SettingsDialog.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>395</width>
- <height>183</height>
+ <width>337</width>
+ <height>148</height>
</rect>
</property>
<property name="windowTitle">
@@ -22,6 +22,41 @@
</widget>
</item>
<item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QComboBox" name="workerThreadPriority">
+ <item>
+ <property name="text">
+ <string>Normal</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Low</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Lowest</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Idle</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Batch processing priority</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>