X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiAbout.cpp;h=fcd0653afd8740951ba19cb51a974a0593e475da;hb=8b7584846c4e1a9c87a004fab479722fee7e3013;hp=7d6fa2d15d959a5b155c159d02e4f6f6d533b5c6;hpb=42015a8ebd17092c9b55c9519015119d04f52218;p=lyx.git diff --git a/src/frontends/qt4/GuiAbout.cpp b/src/frontends/qt4/GuiAbout.cpp index 7d6fa2d15d..fcd0653afd 100644 --- a/src/frontends/qt4/GuiAbout.cpp +++ b/src/frontends/qt4/GuiAbout.cpp @@ -12,16 +12,21 @@ #include "GuiAbout.h" +#include "ui_AboutUi.h" + #include "qt_helpers.h" -#include "gettext.h" #include "version.h" #include "support/filetools.h" +#include "support/gettext.h" +#include "support/lstrings.h" #include "support/Package.h" +#include #include #include +using namespace lyx::support; using lyx::support::package; using lyx::support::makeDisplayPath; @@ -29,27 +34,40 @@ using lyx::support::makeDisplayPath; namespace lyx { namespace frontend { + +static QDate release_date() +{ + return QDate::fromString(QString(lyx_release_date), Qt::ISODate); +} + + static QString credits() { QString res; - QFile file(toqstr(package().system_support().absFilename()) + "CREDITS"); + QFile file(toqstr(package().system_support().absFileName()) + "/CREDITS"); QTextStream out(&res); if (file.isReadable()) { - out << toqstr(_("ERROR: LyX wasn't able to read CREDITS file\n")); - out << toqstr(_("Please install correctly to estimate the great\n")); - out << toqstr(_("amount of work other people have done for the LyX project.")); + out << qt_("ERROR: LyX wasn't able to read CREDITS file\n"); + out << qt_("Please install correctly to estimate the great\n"); + out << qt_("amount of work other people have done for the LyX project."); } else { file.open(QIODevice::ReadOnly); QTextStream ts(&file); + ts.setCodec("UTF-8"); QString line; do { line = ts.readLine(); if (line.startsWith("@b")) out << "" << line.mid(2) << ""; - else if (line.startsWith("@i")) + else if (line.startsWith("@i")) { + if (line.startsWith("@iE-mail")) { + // unmask email + line.replace(QString(" () "), QString("@")); + line.replace(QString(" ! "), QString(".")); + } out << "" << line.mid(2) << ""; - else + } else out << line; out << "
"; } while (!line.isNull()); @@ -61,56 +79,86 @@ static QString credits() static QString copyright() { - return toqstr(_("LyX is Copyright (C) 1995 by Matthias Ettrich,\n1995-2006 LyX Team")); + QString release_year = release_date().toString("yyyy"); + docstring copy_message = + bformat(_("LyX is Copyright (C) 1995 by Matthias Ettrich,\n1995--%1$s LyX Team"), + qstring_to_ucs4(release_year)); + return toqstr(copy_message); } static QString license() { - return toqstr(_("This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.")); + return qt_("This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version."); } static QString disclaimer() { - return toqstr(_("LyX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU General Public License for more details.\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.")); + return qt_("LyX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU General Public License for more details.\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."); } static QString version() { + QString loc_release_date; + QDate date = release_date(); + if (date.isValid()) { + QLocale loc; + loc_release_date = loc.toString(date, QLocale::LongFormat); + } else { + if (QString(lyx_release_date) == "not released yet") + loc_release_date = qt_("not released yet"); + else + loc_release_date = toqstr(lyx_release_date); + } + docstring version_date = + bformat(_("LyX Version %1$s\n(%2$s)"), + from_ascii(lyx_version), + qstring_to_ucs4(loc_release_date))+"\n\n"; QString res; QTextStream out(&res); - out << toqstr(_("LyX Version ")); - out << lyx_version; - out << " ("; - out << lyx_release_date; - out << ")\n"; - out << toqstr(_("Library directory: ")); - out << toqstr(makeDisplayPath(package().system_support().absFilename())); + out << toqstr(version_date); + out << qt_("Library directory: "); + out << toqstr(makeDisplayPath(package().system_support().absFileName())); out << "\n"; - out << toqstr(_("User directory: ")); - out << toqstr(makeDisplayPath(package().user_support().absFilename())); + out << qt_("User directory: "); + out << toqstr(makeDisplayPath(package().user_support().absFileName())); +#ifdef DEVEL_VERSION + out << "\n"; + out << "Qt Version (run-time): " << toqstr(qVersion()) << "\n"; + out << "Qt Version (compile-time): " << QT_VERSION_STR << "\n"; +#endif return res; } +struct GuiAbout::Private +{ + Ui::AboutUi ui; +}; + + GuiAbout::GuiAbout(GuiView & lv) - : GuiDialog(lv, "aboutlyx") + : DialogView(lv, "aboutlyx", qt_("About LyX")), + d(new GuiAbout::Private) { - setupUi(this); - setViewTitle(_("About LyX")); + d->ui.setupUi(this); - connect(closePB, SIGNAL(clicked()), this, SLOT(reject())); + d->ui.copyrightTB->setPlainText(copyright()); + d->ui.copyrightTB->append(QString()); + d->ui.copyrightTB->append(license()); + d->ui.copyrightTB->append(QString()); + d->ui.copyrightTB->append(disclaimer()); + + d->ui.versionLA->setText(version()); + d->ui.creditsTB->setHtml(credits()); +} - copyrightTB->setPlainText(copyright()); - copyrightTB->append(QString()); - copyrightTB->append(license()); - copyrightTB->append(QString()); - copyrightTB->append(disclaimer()); - versionLA->setText(version()); - creditsTB->setHtml(credits()); +void GuiAbout::on_closePB_clicked() +{ + close(); } @@ -120,4 +168,4 @@ Dialog * createGuiAbout(GuiView & lv) { return new GuiAbout(lv); } } // namespace frontend } // namespace lyx -#include "GuiAbout_moc.cpp" +#include "moc_GuiAbout.cpp"