[LyX/master] Disable language selector in LyXFiles dialog if no file is selected (#12412)
Juergen Spitzmueller
spitz at lyx.org
Fri Oct 29 10:54:24 UTC 2021
commit 61fb295e46dbff2c5fe745d51891dbbce0f231a0
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Oct 29 13:16:08 2021 +0200
Disable language selector in LyXFiles dialog if no file is selected (#12412)
---
src/frontends/qt/GuiLyXFiles.cpp | 18 ++++++++++++------
src/frontends/qt/ui/LyXFilesUi.ui | 2 +-
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/frontends/qt/GuiLyXFiles.cpp b/src/frontends/qt/GuiLyXFiles.cpp
index ee02d7b..dedb0bd 100644
--- a/src/frontends/qt/GuiLyXFiles.cpp
+++ b/src/frontends/qt/GuiLyXFiles.cpp
@@ -149,7 +149,6 @@ QMap<QString, QString> GuiLyXFiles::getFiles()
++i;
}
setLanguage();
- languageLA->setText(qt_("Preferred &Language:"));
return result;
}
@@ -310,9 +309,6 @@ void GuiLyXFiles::on_filesLW_itemClicked(QTreeWidgetItem * item, int)
languageCO->addItem(i.value(), i.key());
++i;
}
- languageLA->setText(qt_("File &Language:"));
- languageCO->setToolTip(qt_("All available languages of the selected file are displayed here.\n"
- "The selected language version will be opened."));
setLanguage();
QString const realpath = getRealPath();
filesLW->currentItem()->setData(0, Qt::ToolTipRole, realpath);
@@ -327,8 +323,18 @@ void GuiLyXFiles::on_filesLW_itemClicked(QTreeWidgetItem * item, int)
void GuiLyXFiles::setLanguage()
{
// Enable language selection only if there is a selection.
- languageCO->setEnabled(languageCO->count() > 1);
- languageLA->setEnabled(languageCO->count() > 1);
+ bool const item_selected = filesLW->currentItem();
+ bool const language_alternatives = languageCO->count() > 1;
+ languageCO->setEnabled(item_selected && language_alternatives);
+ languageLA->setEnabled(item_selected && language_alternatives);
+ if (item_selected && language_alternatives)
+ languageCO->setToolTip(qt_("All available languages of the selected file are displayed here.\n"
+ "The selected language version will be opened."));
+ else if (item_selected)
+ languageCO->setToolTip(qt_("No alternative language versions available for the selected file."));
+ else
+ languageCO->setToolTip(qt_("If alternative languages are available for a given file,\n"
+ "they can be chosen here if a file is selected."));
// first try last setting
if (!savelang_.isEmpty()) {
int index = languageCO->findData(savelang_);
diff --git a/src/frontends/qt/ui/LyXFilesUi.ui b/src/frontends/qt/ui/LyXFilesUi.ui
index 621b9bb..573ac77 100644
--- a/src/frontends/qt/ui/LyXFilesUi.ui
+++ b/src/frontends/qt/ui/LyXFilesUi.ui
@@ -91,7 +91,7 @@
<string/>
</property>
<property name="text">
- <string>&Language:</string>
+ <string>File &Language:</string>
</property>
<property name="buddy">
<cstring>languageCO</cstring>
More information about the lyx-cvs
mailing list