From 9f55ce9b04c1786c5bed52afc9028f287d28bb32 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Tue, 19 May 2015 09:57:52 +0200 Subject: [PATCH] Make RELEASE-NOTES accessible from GUI (#8616) CMake people, please check if something needs to be done to install lib/RELEASE-NOTES. --- Makefile.am | 2 +- RELEASE-NOTES | 84 ------------------- lib/Makefile.am | 4 +- lib/RELEASE-NOTES | 82 +++++++++++++++++++ src/frontends/qt4/GuiAbout.cpp | 89 ++++++++++++++++++++ src/frontends/qt4/ui/AboutUi.ui | 138 +++++++++++++++++--------------- 6 files changed, 247 insertions(+), 152 deletions(-) delete mode 100644 RELEASE-NOTES create mode 100644 lib/RELEASE-NOTES diff --git a/Makefile.am b/Makefile.am index ceb8d9653a..d93bcc5e01 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,7 +19,7 @@ SUBDIRS = config development po $(BOOST) src sourcedoc lib \ $(CLIENT) src/tex2lyx -EXTRA_DIST = ANNOUNCE INSTALL.autoconf RELEASE-NOTES UPGRADING \ +EXTRA_DIST = ANNOUNCE INSTALL.autoconf UPGRADING \ INSTALL.Win32 INSTALL.MacOSX INSTALL.cmake \ README.Win32 README.Cygwin README.localization lyx.1in \ autogen.sh CMakeLists.txt po/CMakeLists.txt diff --git a/RELEASE-NOTES b/RELEASE-NOTES deleted file mode 100644 index f1999c271a..0000000000 --- a/RELEASE-NOTES +++ /dev/null @@ -1,84 +0,0 @@ -This file lists interface changes that might affect users in 2.2.0, some -known problems in LyX 2.2.0 and some things you have to take into account -when upgrading from earlier versions to a version of the 2.2.x series. - - -Interface changes ------------------ - - - -The following pref variables were added in 2.2: - - - -The following pref variables were changed in 2.2: - - - -The following pref variables are obsoleted in 2.2: - -- \\rtl - This variable was introduced to guard against any bad consequence of - the then-new right-to-left languages support. It is no longer needed - because of improvements. Now right-to-left support is always enabled. - - -The following new LyX functions have been introduced in 2.2: - -- buffer-view-cache - Opens the last previewed output of the buffer, if it exists. - -- buffer-move-next - Moves the current tab one spot to the right. - -- buffer-move-previous - Moves the current tab one spot to the left. - - -The following LyX functions have been changed in 2.2: - - - -The following LyX key bindings have been changed in 2.2: - -- For bindings where Control + {PgDn, PgUp} switches to the - {next, previous} tab, Control + Shift + {PgDn, PgUp} moves the current - tab to the {next, previous} tab. - - -The following LyX documents have been moved in 2.2: - - - -The following metadata files have been added to the tarball in 2.2: - - - -Changes with respect to external programs and libraries in 2.2: --------------------------------------------------------- - -- LyX is not yet supposed to work with Qt5. It is advised to compile and - run LyX against Qt 4.8.x. On Windows, Qt 4.8.5 suffers from a bug that - breaks the use of shortcuts, so on Windows Qt 4.8.4 is advised. - -- LyX now gives an error if the underlying LaTeX command exited with error. - - -Known issues in version 2.2.0 ------------------------------ - -- LyX needs to be run under Python 2 and will not work properly on systems - where Python 3 is the default binary. See bug #7030 to know how to fix - this properly, since simple sheebang conversion in *.py files will not - be enough. - - -Caveats when upgrading from earlier versions to 2.2.x -------------------------------------------------------- - -- BibTeX errors are now processed and cause LyX to show the errors dialog. - Before, these errors were ignored, which means that it may happen that - documents that compiled without error with a previous version now - compile with error. However, because now in 2.2.x users can click on - the "Show Output Anyway" button, the document can still be viewed. diff --git a/lib/Makefile.am b/lib/Makefile.am index f989bb7d66..26cb880049 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -7,8 +7,8 @@ CHMOD = chmod EXTRA_DIST = examples/CMakeLists.txt scripts/CMakeLists.txt dist_pkgdata_DATA = CREDITS autocorrect chkconfig.ltx external_templates \ - encodings layouttranslations languages latexfonts symbols syntax.default \ - unicodesymbols + encodings layouttranslations languages latexfonts RELEASE-NOTES \ + symbols syntax.default unicodesymbols # We use DATA now instead of PYTHON because automake 1.11.2 complains. # Note that we "chmod 755" manually this file in install-data-hook. diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES new file mode 100644 index 0000000000..55fac8f2ba --- /dev/null +++ b/lib/RELEASE-NOTES @@ -0,0 +1,82 @@ +!Important Changes in LyX 2.2.0 + +(: This file lists interface changes that might affect users in 2.2.0, some + known problems in LyX 2.2.0 and some things you have to take into account + when upgrading from earlier versions to a version of the 2.2.x series. :) + + +!!Interface changes + + +!!!The following pref variables were added in 2.2: + + + +!!!The following pref variables were changed in 2.2: + + + +!!!The following pref variables are obsoleted in 2.2: + +* \rtl: + This variable was introduced to guard against any bad consequence of + the then-new right-to-left languages support. It is no longer needed + because of improvements. Now right-to-left support is always enabled. + + +!!!The following new LyX functions have been introduced in 2.2: + +* buffer-view-cache: + Opens the last previewed output of the buffer, if it exists. + +* buffer-move-next: + Moves the current tab one spot to the right. + +* buffer-move-previous: + Moves the current tab one spot to the left. + + +!!!The following LyX functions have been changed in 2.2: + + + +!!!The following LyX key bindings have been changed in 2.2: + +* For bindings where Control + {PgDn, PgUp} switches to the + {next, previous} tab, Control + Shift + {PgDn, PgUp} moves the current + tab to the {next, previous} tab. + + +!!!The following LyX documents have been moved in 2.2: + + + +!!!The following metadata files have been added to the tarball in 2.2: + + + +!!Changes with respect to external programs and libraries in 2.2: + +* LyX is not yet supposed to work with Qt5. It is advised to compile and + run LyX against Qt 4.8.x. On Windows, Qt 4.8.5 suffers from a bug that + breaks the use of shortcuts, so on Windows Qt 4.8.4 is advised. + +* LyX now gives an error if the underlying LaTeX command exited with error. + + +!!Known issues in version 2.2.0 + +* LyX needs to be run under Python 2 and will not work properly on systems + where Python 3 is the default binary. See bug #7030 to know how to fix + this properly, since simple sheebang conversion in *.py files will not + be enough. + + +!!Caveats when upgrading from earlier versions to 2.2.x + +* BibTeX errors are now processed and cause LyX to show the errors dialog. + Before, these errors were ignored, which means that it may happen that + documents that compiled without error with a previous version now + compile with error. However, because now in 2.2.x users can click on + the "Show Output Anyway" button, the document can still be viewed. + diff --git a/src/frontends/qt4/GuiAbout.cpp b/src/frontends/qt4/GuiAbout.cpp index a9402238d8..4f3fd301f6 100644 --- a/src/frontends/qt4/GuiAbout.cpp +++ b/src/frontends/qt4/GuiAbout.cpp @@ -83,6 +83,94 @@ static QString credits() } +static QString release_notes() +{ + QString res; + QFile file(toqstr(package().system_support().absFileName()) + "/RELEASE-NOTES"); + QTextStream out(&res); + + if (!file.exists()) { + out << qt_("ERROR: LyX wasn't able to find the RELEASE-NOTES file\n"); + out << qt_("Please install correctly to see what has changed\n"); + out << qt_("for this version of LyX."); + } else { + file.open(QIODevice::ReadOnly); + if (!file.isReadable()) { + out << qt_("ERROR: LyX wasn't able to read the RELEASE-NOTES file\n"); + out << qt_("Please install correctly to see what has changed\n"); + out << qt_("for this version of LyX."); + } else { + QTextStream ts(&file); + ts.setCodec("UTF-8"); + QString line; + bool incomment = false; + bool inlist = false; + do { + // a simple markdown parser + line = ts.readLine(); + // skipe empty lines + if (line.isEmpty()) + continue; + // parse (:comments:) + if (line.startsWith("(:")) { + if (!line.endsWith(":)")) + incomment = true; + continue; + } if (line.endsWith(":)") && incomment) { + incomment = false; + continue; + } if (incomment) + continue; + // headings + if (line.startsWith("!!!")) { + if (inlist) { + out << ""; + out << "
"; + inlist = false; + } + out << "

" << line.mid(3) << "

"; + } + else if (line.startsWith("!!")) { + if (inlist) { + out << ""; + out << "
"; + inlist = false; + } + out << "

" << line.mid(2) << "

"; + } else if (line.startsWith("!")) { + if (inlist) { + out << ""; + out << "
"; + inlist = false; + } + out << "

" << line.mid(1) << "

"; + // lists + } else if (line.startsWith("* ")) { + if (inlist) + out << ""; + else + out << "
"; + out << line; + } else + out << line; + + out << " "; + } while (!line.isNull()); + } + } + out.flush(); + return res; +} + + static QString copyright() { QString release_year = release_date().toString("yyyy"); @@ -178,6 +266,7 @@ GuiAbout::GuiAbout(GuiView & lv) d->ui.versionLA->setText(version()); d->ui.buildinfoTB->setText(buildinfo()); + d->ui.releasenotesTB->setHtml(release_notes()); d->ui.creditsTB->setHtml(credits()); } diff --git a/src/frontends/qt4/ui/AboutUi.ui b/src/frontends/qt4/ui/AboutUi.ui index ed5d153916..7188a64b92 100644 --- a/src/frontends/qt4/ui/AboutUi.ui +++ b/src/frontends/qt4/ui/AboutUi.ui @@ -1,10 +1,8 @@ - - - - + + AboutUi - - + + 0 0 @@ -12,47 +10,50 @@ 232 - + - + true - - + + 9 - + 6 - - - - + + + + 0 + + + Version - - - 11 - - + + 6 + + 11 + - - + + QFrame::Box - + QFrame::Sunken - + Version goes here - + Qt::AlignCenter - + 6 @@ -62,73 +63,83 @@ - - + + Credits - - + + 9 - + 6 - - + + - - + + Copyright - - + + 9 - + 6 - - + + - - + + Build Info - - + + 9 - + 6 - - + + + + + + + + Release Notes + + + + - - - - 0 - - + + + 6 + + 0 + - + Qt::Horizontal - + QSizePolicy::Expanding - + 20 20 @@ -137,19 +148,17 @@ - - - - 0 - 0 + + + 0 0 - + &Close - + true @@ -158,9 +167,8 @@ - - qt_i18n.h + qt_i18n.h -- 2.39.2