summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosep LlodrĂ  <jlg.hrtc@gmail.com>2018-04-16 01:25:33 +0200
committerJosep LlodrĂ  Grimalt <jlg.hrtc@gmail.com>2018-04-18 13:44:10 +0000
commita9668d22f048b50b9a2ca5856ef636bc8259f89b (patch)
tree441c02d93ee14123ded39187104e5644f9c859c5
parent38b62511970b048b4a0edc5c8bcdea8c37fa76c7 (diff)
downloadqttools-a9668d22f048b50b9a2ca5856ef636bc8259f89b.tar.gz
linguist: Add Done action in Translation menu
In some situations you may want to mark a message as Done without automatically jumping to the next untranslated message. If you are revisiting (or fixing) some specific translations, using "Done and Next" would constantly jump to another segment for every change made. You can now mark a message as translated using Alt+Return, but also through the Translation > Done menu item. Change-Id: I1a3c95fcf321a793c1b726ec13733c61f15caa05 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Mateusz Starzycki <mstarzycki@gmail.com>
-rw-r--r--src/linguist/linguist/images/mac/done.pngbin0 -> 2224 bytes
-rw-r--r--src/linguist/linguist/images/win/done.pngbin0 -> 1954 bytes
-rw-r--r--src/linguist/linguist/linguist.qrc2
-rw-r--r--src/linguist/linguist/mainwindow.cpp13
-rw-r--r--src/linguist/linguist/mainwindow.h1
-rw-r--r--src/linguist/linguist/mainwindow.ui18
6 files changed, 33 insertions, 1 deletions
diff --git a/src/linguist/linguist/images/mac/done.png b/src/linguist/linguist/images/mac/done.png
new file mode 100644
index 000000000..11bc041ac
--- /dev/null
+++ b/src/linguist/linguist/images/mac/done.png
Binary files differ
diff --git a/src/linguist/linguist/images/win/done.png b/src/linguist/linguist/images/win/done.png
new file mode 100644
index 000000000..31417340b
--- /dev/null
+++ b/src/linguist/linguist/images/win/done.png
Binary files differ
diff --git a/src/linguist/linguist/linguist.qrc b/src/linguist/linguist/linguist.qrc
index 11ee778b2..19a060d25 100644
--- a/src/linguist/linguist/linguist.qrc
+++ b/src/linguist/linguist/linguist.qrc
@@ -3,6 +3,7 @@
<file>images/appicon.png</file>
<file>images/mac/accelerator.png</file>
<file>images/mac/book.png</file>
+ <file>images/mac/done.png</file>
<file>images/mac/doneandnext.png</file>
<file>images/mac/editcopy.png</file>
<file>images/mac/editcut.png</file>
@@ -36,6 +37,7 @@
<file>images/plus.png</file>
<file>images/win/accelerator.png</file>
<file>images/win/book.png</file>
+ <file>images/win/done.png</file>
<file>images/win/doneandnext.png</file>
<file>images/win/editcopy.png</file>
<file>images/win/editcut.png</file>
diff --git a/src/linguist/linguist/mainwindow.cpp b/src/linguist/linguist/mainwindow.cpp
index 355754b21..a33774289 100644
--- a/src/linguist/linguist/mainwindow.cpp
+++ b/src/linguist/linguist/mainwindow.cpp
@@ -1588,12 +1588,16 @@ void MainWindow::refreshItemViews()
updateStatistics();
}
-void MainWindow::doneAndNext()
+void MainWindow::done()
{
int model = m_messageEditor->activeModel();
if (model >= 0 && m_dataModel->isModelWritable(model))
m_dataModel->setFinished(m_currentIndex, true);
+}
+void MainWindow::doneAndNext()
+{
+ done();
if (!m_messageEditor->focusNextUnfinished())
nextUnfinished();
}
@@ -1843,6 +1847,7 @@ void MainWindow::setupMenuBar()
// No well defined theme icons for these actions
m_ui.actionAccelerators->setIcon(QIcon(prefix + QStringLiteral("/accelerator.png")));
m_ui.actionOpenPhraseBook->setIcon(QIcon(prefix + QStringLiteral("/book.png")));
+ m_ui.actionDone->setIcon(QIcon(prefix + QStringLiteral("/done.png")));
m_ui.actionDoneAndNext->setIcon(QIcon(prefix + QStringLiteral("/doneandnext.png")));
m_ui.actionNext->setIcon(QIcon(prefix + QStringLiteral("/next.png")));
m_ui.actionNextUnfinished->setIcon(QIcon(prefix + QStringLiteral("/nextunfinished.png")));
@@ -1902,6 +1907,7 @@ void MainWindow::setupMenuBar()
connect(m_ui.actionNextUnfinished, SIGNAL(triggered()), this, SLOT(nextUnfinished()));
connect(m_ui.actionNext, SIGNAL(triggered()), this, SLOT(next()));
connect(m_ui.actionPrev, SIGNAL(triggered()), this, SLOT(prev()));
+ connect(m_ui.actionDone, SIGNAL(triggered()), this, SLOT(done()));
connect(m_ui.actionDoneAndNext, SIGNAL(triggered()), this, SLOT(doneAndNext()));
connect(m_ui.actionBeginFromSource, SIGNAL(triggered()), m_messageEditor, SLOT(beginFromSource()));
connect(m_messageEditor, SIGNAL(beginFromSourceAvailable(bool)), m_ui.actionBeginFromSource, SLOT(setEnabled(bool)));
@@ -1962,6 +1968,9 @@ void MainWindow::setupMenuBar()
m_ui.actionManual->setWhatsThis(tr("Display the manual for %1.").arg(tr("Qt Linguist")));
m_ui.actionAbout->setWhatsThis(tr("Display information about %1.").arg(tr("Qt Linguist")));
+ m_ui.actionDone->setShortcuts(QList<QKeySequence>()
+ << QKeySequence(QLatin1String("Alt+Return"))
+ << QKeySequence(QLatin1String("Alt+Enter")));
m_ui.actionDoneAndNext->setShortcuts(QList<QKeySequence>()
<< QKeySequence(QLatin1String("Ctrl+Return"))
<< QKeySequence(QLatin1String("Ctrl+Enter")));
@@ -2194,6 +2203,7 @@ void MainWindow::setupToolBars()
translationst->addAction(m_ui.actionNext);
translationst->addAction(m_ui.actionPrevUnfinished);
translationst->addAction(m_ui.actionNextUnfinished);
+ translationst->addAction(m_ui.actionDone);
translationst->addAction(m_ui.actionDoneAndNext);
validationt->addAction(m_ui.actionAccelerators);
@@ -2345,6 +2355,7 @@ void MainWindow::updateProgress()
bool enable = numFinished != numEditable;
m_ui.actionPrevUnfinished->setEnabled(enable);
m_ui.actionNextUnfinished->setEnabled(enable);
+ m_ui.actionDone->setEnabled(enable);
m_ui.actionDoneAndNext->setEnabled(enable);
m_ui.actionPrev->setEnabled(m_dataModel->contextCount() > 0);
diff --git a/src/linguist/linguist/mainwindow.h b/src/linguist/linguist/mainwindow.h
index b871b635e..dccc1cd19 100644
--- a/src/linguist/linguist/mainwindow.h
+++ b/src/linguist/linguist/mainwindow.h
@@ -86,6 +86,7 @@ protected:
bool eventFilter(QObject *object, QEvent *event);
private slots:
+ void done();
void doneAndNext();
void prev();
void next();
diff --git a/src/linguist/linguist/mainwindow.ui b/src/linguist/linguist/mainwindow.ui
index 6b4922e16..3c6ba951a 100644
--- a/src/linguist/linguist/mainwindow.ui
+++ b/src/linguist/linguist/mainwindow.ui
@@ -148,6 +148,7 @@
<addaction name="actionNextUnfinished"/>
<addaction name="actionPrev"/>
<addaction name="actionNext"/>
+ <addaction name="actionDone"/>
<addaction name="actionDoneAndNext"/>
<addaction name="actionBeginFromSource"/>
</widget>
@@ -960,6 +961,23 @@
<string>Alt+0</string>
</property>
</action>
+ <action name="actionDone">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>D&amp;one</string>
+ </property>
+ <property name="toolTip">
+ <string>Mark item as done</string>
+ </property>
+ <property name="whatsThis">
+ <string>Mark this item as done.</string>
+ </property>
+ <property name="menuRole">
+ <enum>QAction::NoRole</enum>
+ </property>
+ </action>
</widget>
<resources/>
<connections/>