From f40087159b9efbc39859e60a8efb3fa0763c6078 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 2 Aug 2011 16:18:24 +0000 Subject: updated about dialog git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2285 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/aboutdialog.cpp | 142 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 src/qmmpui/aboutdialog.cpp (limited to 'src/qmmpui/aboutdialog.cpp') diff --git a/src/qmmpui/aboutdialog.cpp b/src/qmmpui/aboutdialog.cpp new file mode 100644 index 000000000..d5f27e54a --- /dev/null +++ b/src/qmmpui/aboutdialog.cpp @@ -0,0 +1,142 @@ +/*************************************************************************** +* Copyright (C) 2006-2011 by Ilya Kotov * +* forkotov02@hotmail.ru * +* * +* 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. * +* * +* This program 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. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "aboutdialog_p.h" + + +AboutDialog::AboutDialog(QWidget* parent, Qt::WFlags fl) + : QDialog( parent, fl ) +{ + setupUi(this); + setAttribute(Qt::WA_QuitOnClose, false); + licenseTextEdit->setPlainText(getstringFromResource(":COPYING")); + aboutTextEdit->setHtml(loadAbout()); + authorsTextEdit->setPlainText(getstringFromResource(":authors_")); + thanksToTextEdit->setPlainText(getstringFromResource(":thanks_")); + translatorsTextEdit->setPlainText(getstringFromResource(":translators_")); +} + +AboutDialog::~AboutDialog() +{} + +/*$SPECIALIZATION$*/ +void AboutDialog::accept() +{ + QDialog::accept(); +} + +QString AboutDialog::loadAbout() +{ + QString text; + text.append(""); + text.append(""); + text.append(""); + text.append("

"+tr("Qt-based Multimedia Player (Qmmp)")+"

"); + text.append("

"+tr("Version:")+" "+ Qmmp::strVersion() + "

"); + text.append("

"+getstringFromResource(tr(":txt/description_en.txt"))+"

"); + text.append("
"+tr("Input plugins:")+"
"); + text.append("
    "); + foreach(DecoderFactory *fact, *Decoder::factories()) + { + text.append("
  • "); + text.append(fact->properties().name); + text.append("
  • "); + } + text.append("
"); + text.append("
"+tr("Output plugins:")+"
"); + text.append("
    "); + foreach(OutputFactory *fact, *Output::factories()) + { + text.append("
  • "); + text.append(fact->properties().name); + text.append("
  • "); + } + text.append("
"); + text.append("
"+tr("Visual plugins:")+"
"); + text.append("
    "); + foreach(VisualFactory *fact, *Visual::factories()) + { + text.append("
  • "); + text.append(fact->properties().name); + text.append("
  • "); + } + text.append("
"); + text.append("
"+tr("Effect plugins:")+"
"); + text.append("
    "); + foreach(EffectFactory *fact, *Effect::factories()) + { + text.append("
  • "); + text.append(fact->properties().name); + text.append("
  • "); + } + text.append("
"); + text.append("
"+tr("General plugins:")+"
"); + text.append("
    "); + foreach(GeneralFactory *fact, *General::factories()) + { + text.append("
  • "); + text.append(fact->properties().name); + text.append("
  • "); + } + text.append("
"); + + return text; +} + +QString AboutDialog::getstringFromResource(const QString& res_file) +{ + QString ret_string; + QStringList paths; + paths << res_file + Qmmp::systemLanguageID() + ".txt"; + if(Qmmp::systemLanguageID().contains(".")) + paths << res_file + Qmmp::systemLanguageID().split(".").at(0) + ".txt"; + if(Qmmp::systemLanguageID().contains("_")) + paths << res_file + Qmmp::systemLanguageID().split("_").at(0) + ".txt"; + paths << res_file + ".txt"; + paths << res_file; + + foreach(QString path, paths) + { + QFile file(path); + if (file.open(QIODevice::ReadOnly)) + { + QTextStream ts(&file); + ts.setCodec("UTF-8"); + ret_string = ts.readAll(); + file.close(); + return ret_string; + } + } + return ret_string; +} -- cgit v1.2.3-13-gbd6f