]> git.lyx.org Git - lyx.git/commitdiff
Output python version in About dialog.
authorPavel Sanda <sanda@lyx.org>
Mon, 4 Sep 2023 19:50:51 +0000 (21:50 +0200)
committerPavel Sanda <sanda@lyx.org>
Mon, 4 Sep 2023 19:50:51 +0000 (21:50 +0200)
Patch from Jose.

src/frontends/qt/GuiAbout.cpp
src/support/os.cpp
src/support/os.h

index 325801c52138a44c0b0f82681cb363cd919222bf..0a585f0eacf7eb4e2cc671bb90d42c1ce40a7c39 100644 (file)
@@ -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;
index abb9ec6d672d32eae81f477914f6104723021743..27427cd8ea0dc85f66ee89e4a99342f7e0f7d937 100644 (file)
@@ -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
index 7e6bdbde95b581be276553c9f62b884e04c2e77f..35154a8c34242bb233e3c18a055317ba13eb7de7 100644 (file)
@@ -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();