[LyX/master] Output python version in About dialog.
Pavel Sanda
sanda at lyx.org
Mon Sep 4 18:34:22 UTC 2023
commit 625c61f1d545044f8c287434968b79f17004a078
Author: Pavel Sanda <sanda at lyx.org>
Date: Mon Sep 4 21:50:51 2023 +0200
Output python version in About dialog.
Patch from Jose.
---
src/frontends/qt/GuiAbout.cpp | 4 ++--
src/support/os.cpp | 12 ++++++++++--
src/support/os.h | 3 +++
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/frontends/qt/GuiAbout.cpp b/src/frontends/qt/GuiAbout.cpp
index 325801c..0a585f0 100644
--- a/src/frontends/qt/GuiAbout.cpp
+++ b/src/frontends/qt/GuiAbout.cpp
@@ -222,7 +222,7 @@ static QString buildinfo()
<< endl;
#endif
- out << lyx_version_info
+ out << lyx_version_info
#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
<< Qt::endl;
#else
@@ -297,7 +297,7 @@ static QString version(bool const plain = false)
else
out << "</p><p>";
#endif
- out << toqstr(bformat(_("Python detected: %1$s"), from_utf8(os::python())));
+ out << toqstr(bformat(_("Python detected: %1$s"), from_utf8(os::python_info())));
if (!plain)
out << toqstr("</p></body></html>");
return res;
diff --git a/src/support/os.cpp b/src/support/os.cpp
index abb9ec6..27427cd 100644
--- a/src/support/os.cpp
+++ b/src/support/os.cpp
@@ -58,7 +58,7 @@ int timeout_ms()
static string const python23_call(string const & binary, bool verbose = false)
{
- const string version_info = " -c \"from __future__ import print_function;import sys; print(sys.version_info[:2], end=\\\"\\\")\"";
+ const string version_info = " -c \"from __future__ import print_function; import sys; print(sys.version_info[:2], end='')\"";
// Default to "python" if no binary is given.
if (binary.empty())
return "python -tt";
@@ -142,7 +142,7 @@ static string const find_python_binary()
return command;
#ifdef _WIN32
- // python launcher is not installed, let cmd auto check
+ // python launcher is not installed, let cmd auto check
// PATH for a python.exe
command = python23_call("python");
if (!command.empty())
@@ -197,6 +197,14 @@ bool hasPython()
return !(python23_call(python()).empty());
}
+string const python_info()
+{
+ const string info_version = " -c \"from __future__ import print_function; import sys; print('{} ({})'.format(sys.version.split()[0],sys.executable), end='')\"";
+ if (!hasPython())
+ return("None");
+ return (runCommand(python() + info_version).result);
+}
+
} // namespace os
} // namespace support
} // namespace lyx
diff --git a/src/support/os.h b/src/support/os.h
index 7e6bdbd..35154a8 100644
--- a/src/support/os.h
+++ b/src/support/os.h
@@ -65,6 +65,9 @@ std::string const python(bool reset = false);
/// Check for availability of the python interpreter
bool hasPython();
+/// Return information about the ython interper
+std::string const python_info();
+
///
bool isFilesystemCaseSensitive();
More information about the lyx-cvs
mailing list