QTfrontend/ui/widget/about.cpp
author Wuzzy <Wuzzy2@mail.ru>
Fri, 24 May 2019 22:07:44 +0200
changeset 15048 35932896ce84
parent 14444 05de066ab212
permissions -rw-r--r--
Prevent crates from being collected twice
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 1052
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10108
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
     4
 *
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
     8
 *
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    13
 *
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 10015
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    17
 */
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    18
221
0f451dae4251 Hedgehog on About page
unc0rr
parents: 187
diff changeset
    19
#include <QGridLayout>
235
28903e620258 About page
unc0rr
parents: 221
diff changeset
    20
#include <QLabel>
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
    21
#include <QList>
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
    22
#include <QUrl>
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
    23
#include <QRegExp>
8256
19dbb3209f46 GCI2012: Refactor Authors Page
koda
parents: 7930
diff changeset
    24
#include <QNetworkAccessManager>
19dbb3209f46 GCI2012: Refactor Authors Page
koda
parents: 7930
diff changeset
    25
#include <QNetworkRequest>
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    26
#include <QMessageBox>
8256
19dbb3209f46 GCI2012: Refactor Authors Page
koda
parents: 7930
diff changeset
    27
#include <QNetworkReply>
19dbb3209f46 GCI2012: Refactor Authors Page
koda
parents: 7930
diff changeset
    28
#include <QDebug>
12902
fc47fc4af6bd Finish porting. Seems to work, but no thorough testing has been performed
unc0rr
parents: 12392
diff changeset
    29
#include <QMimeData>
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
    30
#include "hwconsts.h"
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
    31
#include "SDLInteraction.h"
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    32
#include "SDL.h"
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    33
#include "SDL_version.h"
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    34
#include "physfs.h"
14433
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
    35
#include "creditsmessages.h"
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
    36
#include "HWApplication.h"
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    37
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    38
#ifdef VIDEOREC
8391
9f2527848ffd Fixes build.
dag10 <gottlieb.drew@gmail.com>
parents: 8390
diff changeset
    39
extern "C"
9f2527848ffd Fixes build.
dag10 <gottlieb.drew@gmail.com>
parents: 8390
diff changeset
    40
{
9957
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
    41
    #include "libavcodec/version.h"
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
    42
    #include "libavformat/version.h"
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
    43
    #include "libavutil/avutil.h" // version.h only from 51.36.0
8391
9f2527848ffd Fixes build.
dag10 <gottlieb.drew@gmail.com>
parents: 8390
diff changeset
    44
}
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    45
#endif
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
    46
9327
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    47
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    48
#if defined(Q_OS_WINDOWS)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    49
#define sopath(x) x ".dll"
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    50
#elif defined(Q_OS_MAC)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    51
#define sopath(x) "@executable_path/../Frameworks/" x ".framework/" x
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    52
#else
9337
c9d4daae1dee sopath() for linux too
koda
parents: 9331
diff changeset
    53
#define sopath(x) "lib" x ".so"
9327
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    54
#endif
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    55
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    56
#include "about.h"
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    57
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    58
QString About::getCreditsHtml()
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    59
{
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    60
    // Open the credits file
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    61
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    62
    /* *** FILE FORMAT OF CREDITS FILE ***
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
    63
    The credits file is an RFC-4180-compliant CSV file with 5 columns.
14436
6f6d9fe79830 Some minor credits typo fixes
Wuzzy <Wuzzy2@mail.ru>
parents: 14435
diff changeset
    64
    The first column (column 1) is always 1 letter long and is the row type.
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    65
    The row type determines the meaning of the other columns.
14436
6f6d9fe79830 Some minor credits typo fixes
Wuzzy <Wuzzy2@mail.ru>
parents: 14435
diff changeset
    66
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    67
    The following row types are supported:
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    68
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    69
    * E: Credits entry
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    70
        * Column 2: Task/contribution
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    71
        * Column 3: Contributor name
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    72
        * Column 4: Contributor e-mail
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
    73
        * Column 5: Contributor nickname
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    74
    * M: Alternative credits entry that is a placeholder for other or unknown authors
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
    75
        * Columns 2-5: Unused
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    76
    * S: Section
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    77
        * Column 2: Section name
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
    78
        * Columns 3-5: Unused
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    79
    * U: Subsection
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
    80
        * Column 2: Subsection name
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
    81
        * Columns 3-5: Unused
14436
6f6d9fe79830 Some minor credits typo fixes
Wuzzy <Wuzzy2@mail.ru>
parents: 14435
diff changeset
    82
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
    83
    Columns 2, 3 and 5 MUST be in US-ASCII.
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    84
    */
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    85
    QFile creditsFile(":/res/credits.csv");
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    86
    if (!creditsFile.open(QIODevice::ReadOnly))
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    87
    {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    88
        qWarning("ERROR: Credits file could not be opened!");
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    89
        return "<p>ERROR: Credits file could not be opened!</p>";
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    90
    }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    91
    QString creditsString = creditsFile.readAll();
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    92
    QString out = QString("<h1>" + tr("Credits") + "</h1>\n");
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
    93
    QStringList cells = QStringList() << QString("") << QString("") << QString("") << QString("") << QString("");
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    94
    bool firstSection = true;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    95
    unsigned long int column = 0;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    96
    unsigned long int charInCell = 0;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    97
    bool isInQuote = false;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    98
    bool ignoreChar = false;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
    99
    bool lineComplete = false;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   100
    QChar currChar;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   101
    QChar prevChar;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   102
    for(long long int i = 0; i<creditsString.length(); i++)
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   103
    {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   104
        currChar = creditsString.at(i);
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   105
        QString type, task, name, mail, nick;
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   106
        if(currChar == '"')
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   107
        {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   108
            if(charInCell == 0)
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   109
            {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   110
                isInQuote = true;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   111
                ignoreChar = true;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   112
            }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   113
            else if(isInQuote && prevChar != '"')
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   114
            {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   115
                ignoreChar = true;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   116
            }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   117
        }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   118
        else if(isInQuote && charInCell > 0 && prevChar == '"' && (currChar == '\r' || currChar == ','))
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   119
        {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   120
            isInQuote = false;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   121
            ignoreChar = true;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   122
        }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   123
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   124
        charInCell++;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   125
        if(!isInQuote && currChar == ',')
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   126
        {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   127
            column++;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   128
            charInCell = 0;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   129
        }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   130
        else if(!isInQuote && currChar == '\n' && prevChar == '\r')
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   131
        {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   132
            lineComplete = true;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   133
        }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   134
        if(!isInQuote && (currChar == '\r' || currChar == '\n' || currChar == ','))
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   135
        {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   136
            ignoreChar = true;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   137
        }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   138
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   139
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   140
        if(!ignoreChar)
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   141
        {
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   142
            cells[column].append(currChar);
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   143
        }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   144
        ignoreChar = false;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   145
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   146
        if(lineComplete)
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   147
        {
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   148
            type = cells[0];
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   149
            task = cells[1];
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   150
            name = cells[2];
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   151
            mail = cells[3];
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   152
            nick = cells[4];
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   153
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   154
            if(type == "S")
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   155
            {
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   156
                // section
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   157
                if (!firstSection)
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   158
                    out = out + "</ul>\n";
14435
5b5aff91cebb Make captions in credits translatable, too
Wuzzy <Wuzzy2@mail.ru>
parents: 14434
diff changeset
   159
                out = out + "<h2>" + HWApplication::translate("credits", task.toLatin1().constData()) + "</h2>\n<ul>\n";
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   160
                firstSection = false;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   161
            }
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   162
            else if(type == "U")
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   163
            {
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   164
                // subsection
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   165
                out = out + "</ul>\n";
14435
5b5aff91cebb Make captions in credits translatable, too
Wuzzy <Wuzzy2@mail.ru>
parents: 14434
diff changeset
   166
                out = out + "<h3>" + HWApplication::translate("credits", task.toLatin1().constData()) + "</h3>\n<ul>\n";
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   167
            }
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   168
            else if(type == "M")
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   169
            {
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   170
                // other people
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   171
                out = out + "<li>" + tr("Other people") + "</li>" + "\n";
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   172
            }
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   173
            else if(type == "E")
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   174
            {
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   175
                QString showName = QString("");
14443
1bfb50187286 Colorize people names in About screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14441
diff changeset
   176
                if(!name.isEmpty())
1bfb50187286 Colorize people names in About screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14441
diff changeset
   177
                    name = "<span class=\"name\">"+name+"</span>";
1bfb50187286 Colorize people names in About screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14441
diff changeset
   178
                if(!nick.isEmpty())
1bfb50187286 Colorize people names in About screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14441
diff changeset
   179
                    nick= "<span class=\"nick\">"+nick+"</span>";
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   180
                if(!name.isEmpty() && !nick.isEmpty())
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   181
                    showName = tr("%1 (alias %2)").arg(name).arg(nick);
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   182
                else if(name.isEmpty() && !nick.isEmpty())
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   183
                    showName = nick;
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   184
                else if(!name.isEmpty() && nick.isEmpty())
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   185
                    showName = name;
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   186
                // credits list entry
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   187
                QString mailLink = QString("<a href=\"mailto:%1\">%1</a>").arg(mail);
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   188
                if(task.isEmpty() && mail.isEmpty() && !showName.isEmpty())
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   189
                {
14433
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   190
                    // Name only
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   191
                    out = out + "<li>" + showName + "</li>\n";
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   192
                }
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   193
                else if(showName.isEmpty() && mail.isEmpty() && !task.isEmpty())
14438
a88c61d8976a Clean up CREDITS file, move more credits to credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14436
diff changeset
   194
                {
a88c61d8976a Clean up CREDITS file, move more credits to credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14436
diff changeset
   195
                    // Task only
a88c61d8976a Clean up CREDITS file, move more credits to credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14436
diff changeset
   196
                    out = out + "<li>" + HWApplication::translate("credits", task.toLatin1().constData()) + "</li>\n";
a88c61d8976a Clean up CREDITS file, move more credits to credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14436
diff changeset
   197
                }
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   198
                else if(task.isEmpty())
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   199
                {
14433
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   200
                    // Name and e-mail
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   201
                    //: Part of credits. %1: Contributor name. %2: E-mail address
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   202
                    out = out + "<li>" + tr("%1 &lt;%2&gt;").arg(showName).arg(mailLink) + "</li>\n";
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   203
                }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   204
                else if(mail.isEmpty())
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   205
                {
14433
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   206
                    // Contribution and name
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   207
                    //: Part of credits. %1: Description of contribution. %2: Contributor name
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   208
                    out = out + "<li>" + tr("%1: %2")
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   209
                        .arg(HWApplication::translate("credits", task.toLatin1().constData()))
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   210
                        .arg(showName)
14433
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   211
                        + "</li>\n";
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   212
                }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   213
                else
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   214
                {
14433
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   215
                    // Contribution, name and e-mail
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   216
                    //: Part of credits. %1: Description of contribution. %2: Contributor name. %3: E-mail address
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   217
                    out = out + "<li>" + tr("%1: %2 &lt;%3&gt;")
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   218
                        .arg(HWApplication::translate("credits", task.toLatin1().constData()))
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   219
                        .arg(showName)
14433
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   220
                        .arg(mailLink)
fbe5e49462aa Make about dialog in frontend translatable
Wuzzy <Wuzzy2@mail.ru>
parents: 14431
diff changeset
   221
                        + "</li>\n";
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   222
                }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   223
            }
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   224
            else
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   225
            {
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   226
                qWarning("Invalid row type in credits.csv: %s", qPrintable(type));
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   227
            }
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   228
            lineComplete = false;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   229
            column = 0;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   230
            cells[0] = "";
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   231
            cells[1] = "";
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   232
            cells[2] = "";
14434
e64b9ea24cd8 Add row type column in credits.csv
Wuzzy <Wuzzy2@mail.ru>
parents: 14433
diff changeset
   233
            cells[3] = "";
14441
3f679f2fb45a Add nicknames in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14438
diff changeset
   234
            cells[4] = "";
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   235
            charInCell = 0;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   236
        }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   237
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   238
        prevChar = currChar;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   239
    }
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   240
    creditsFile.close();
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   241
    out = out + "</ul>";
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   242
    return out;
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   243
}
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   244
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
   245
About::About(QWidget * parent) :
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6175
diff changeset
   246
    QWidget(parent)
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
   247
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
   248
    QGridLayout *mainLayout = new QGridLayout(this);
2525
e6cdc0251cd1 remove the svg dependency
koda
parents: 2460
diff changeset
   249
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   250
    QVBoxLayout * leftLayout = new QVBoxLayout();
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   251
    mainLayout->addLayout(leftLayout, 0, 0, 2, 1);
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   252
5646
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
   253
    QLabel *imageLabel = new QLabel;
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
   254
    QImage image(":/res/Hedgehog.png");
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
   255
    imageLabel->setPixmap(QPixmap::fromImage(image));
9131
07f3bf8d98a3 Hedgewars.png had a resolution more than twice as high as required; also fixed some (mostly obsolete) code that also contained a typo that would cause a warning/note in clang
sheepluva
parents: 9080
diff changeset
   256
    imageLabel->setFixedWidth(273);
07f3bf8d98a3 Hedgewars.png had a resolution more than twice as high as required; also fixed some (mostly obsolete) code that also contained a typo that would cause a warning/note in clang
sheepluva
parents: 9080
diff changeset
   257
    imageLabel->setFixedHeight(300);
5646
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
   258
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   259
    leftLayout->addWidget(imageLabel, 0, Qt::AlignHCenter);
235
28903e620258 About page
unc0rr
parents: 221
diff changeset
   260
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
   261
    QLabel *lbl1 = new QLabel(this);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
   262
    lbl1->setOpenExternalLinks(true);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
   263
    lbl1->setText(
12224
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   264
        //: %1 contains Hedgewars' version number
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   265
        "<div align=\"center\"><h1>"+QString(tr("Hedgewars %1")).arg(*cVersionString) + "</h1>"
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   266
        //: “Revision” stands for a revision in Mercurial, a distributed version control system. %1 is the revision, %2 is the hexadecimal hash.
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   267
        "<h3>" + QString(tr("Revision %1 (%2)")).arg(*cRevisionString, *cHashString) + "</h3>"
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   268
        //: %1 is replaced by the URL of Hedgewars.
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   269
        "<p>" + QString(tr("Visit our homepage: %1"))
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   270
        .arg("<a href=\"https://www.hedgewars.org/\">https://www.hedgewars.org/</a>") + "</p>" +
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   271
        //: %1 is the name of a license
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   272
        tr("This program is distributed under the %1.")
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   273
	.arg("<a href=\"https://www.gnu.org/licenses/gpl-2.0.html\">"+
12224
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   274
        //: Short for “GNU General Public License version 2”
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   275
        tr("GNU GPL v2")+"</a>") +
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6175
diff changeset
   276
        "</div>"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6175
diff changeset
   277
    );
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
   278
    lbl1->setWordWrap(true);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
   279
    mainLayout->addWidget(lbl1, 0, 1);
235
28903e620258 About page
unc0rr
parents: 221
diff changeset
   280
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   281
    /* Credits */
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   282
    creditsBrowser = new QTextBrowser(this);
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   283
    creditsBrowser->setOpenExternalLinks(true);
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   284
    QString credits = getCreditsHtml();
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   285
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   286
    QString header =
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   287
        "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   288
        "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   289
        "<head>"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   290
        "<title>Hedgewars Credits</title>"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   291
        "<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" />"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   292
        "<style type=\"text/css\">"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   293
        "     body { color: orange; }"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   294
        "     a { color: #ffe270; }"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   295
        "     ul { list-style-type: none; }"
14443
1bfb50187286 Colorize people names in About screen
Wuzzy <Wuzzy2@mail.ru>
parents: 14441
diff changeset
   296
        "     .name { color: #ffffff; font-weight: bold; }"
14444
05de066ab212 Fix minor mistake in credits
Wuzzy <Wuzzy2@mail.ru>
parents: 14443
diff changeset
   297
        "     .nick { color: #ffff00; font-weight: bold; }"
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   298
        "</style>"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   299
        "</head>"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   300
        "<body>"
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   301
        "";
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   302
    QString footer =
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   303
        ""
14431
8e2773ff2986 Point to CREDITS file
Wuzzy <Wuzzy2@mail.ru>
parents: 14430
diff changeset
   304
        "<h2>" + tr("Extended Credits") + "</h2>"
8e2773ff2986 Point to CREDITS file
Wuzzy <Wuzzy2@mail.ru>
parents: 14430
diff changeset
   305
        "<p>" + tr("An extended credits list can be found in the CREDITS text file.") + "</p>"
14430
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   306
        "</body></html>";
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   307
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   308
    creditsBrowser->setHtml(header + credits + footer);
bf0ec13a21ea Move credits to RFC-4180-conforming CSV file
Wuzzy <Wuzzy2@mail.ru>
parents: 14422
diff changeset
   309
    mainLayout->addWidget(creditsBrowser, 1, 1);
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   310
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   311
    /* Library information */
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   312
12224
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12223
diff changeset
   313
    //: For the version numbers of Hedgewars' software dependencies
12225
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12224
diff changeset
   314
    QString libinfo = QString(tr("Dependency versions:") + QString("<br>"));
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   315
13915
6c8d4e140f27 fix frontend compatibility issues
alfadur
parents: 12902
diff changeset
   316
#if defined(__GNUC__)
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   317
    libinfo.append(QString(tr("<a href=\"https://gcc.gnu.org\">GCC</a>: %1")).arg(__VERSION__));
14422
b2d0c72b5d89 Backed out changeset e60e2e7dd43a to restore pre-0.9.25 string changes
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   318
#elif defined(WIN32_VCPKG)
b2d0c72b5d89 Backed out changeset e60e2e7dd43a to restore pre-0.9.25 string changes
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   319
    libinfo.append(QString(tr("<a href=\"https://visualstudio.microsoft.com\">VC++</a>: %1")).arg(_MSC_FULL_VER));
b2d0c72b5d89 Backed out changeset e60e2e7dd43a to restore pre-0.9.25 string changes
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   320
#elif defined(__VERSION__)
b2d0c72b5d89 Backed out changeset e60e2e7dd43a to restore pre-0.9.25 string changes
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   321
    libinfo.append(QString(tr("Unknown Compiler: %1")).arg(__VERSION__));
14199
e60e2e7dd43a Remove 2 strings violating the 0.9.25 string freeze. Backout this changeset after 0.9.25 got released
Wuzzy <Wuzzy2@mail.ru>
parents: 13915
diff changeset
   322
#else
13915
6c8d4e140f27 fix frontend compatibility issues
alfadur
parents: 12902
diff changeset
   323
    libinfo.append(QString(tr("Unknown Compiler")));
6c8d4e140f27 fix frontend compatibility issues
alfadur
parents: 12902
diff changeset
   324
#endif
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   325
    libinfo.append(QString("<br>"));
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   326
9677
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   327
    const SDL_version *sdl_ver;
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   328
    SDL_version sdl_version;
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   329
    SDL_GetVersion(&sdl_version);
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   330
    sdl_ver = &sdl_version;
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   331
    libinfo.append(QString(tr("<a href=\"https://www.libsdl.org/\">SDL2</a>: %1.%2.%3"))
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   332
        .arg(sdl_ver->major)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   333
        .arg(sdl_ver->minor)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   334
        .arg(sdl_ver->patch));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   335
    libinfo.append(QString("<br>"));
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   336
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   337
    const SDL_version *sdlmixer_ver = Mix_Linked_Version();
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   338
    libinfo.append(QString(tr("<a href=\"https://www.libsdl.org/\">SDL2_mixer</a>: %1.%2.%3"))
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   339
        .arg(sdlmixer_ver->major)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   340
        .arg(sdlmixer_ver->minor)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   341
        .arg(sdlmixer_ver->patch));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   342
    libinfo.append(QString("<br>"));
9321
1d56051f70c8 show sdl_mixer version in info page
koda
parents: 9131
diff changeset
   343
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   344
    // the remaining sdl modules used only in engine, so instead of needlessly linking them here
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   345
    // we dynamically call the function returning the linked version
12392
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12320
diff changeset
   346
    void *sdlnet_handle = SDL_LoadObject(sopath("SDL2_net"));
9327
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   347
    if (sdlnet_handle != NULL) {
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   348
        SDL_version *(*sdlnet_ver_get)(void) = NULL;
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   349
        sdlnet_ver_get = (SDL_version *(*)(void)) SDL_LoadFunction(sdlnet_handle, "SDLNet_Linked_Version");
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   350
        if (sdlnet_ver_get != NULL) {
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   351
            SDL_version *sdlnet_ver = sdlnet_ver_get();
12392
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12320
diff changeset
   352
            libinfo.append(QString(tr("<a href=\"https://www.libsdl.org/\">SDL2_net</a>: %1.%2.%3"))
9327
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   353
                .arg(sdlnet_ver->major)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   354
                .arg(sdlnet_ver->minor)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   355
                .arg(sdlnet_ver->patch));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   356
            libinfo.append(QString("<br>"));
9327
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   357
        }
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   358
        SDL_UnloadObject(sdlnet_handle);
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   359
    }
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   360
12392
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12320
diff changeset
   361
    void *sdlimage_handle = SDL_LoadObject(sopath("SDL2_image"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   362
    if (sdlimage_handle != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   363
        SDL_version *(*sdlimage_ver_get)(void) = NULL;
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   364
        sdlimage_ver_get = (SDL_version *(*)(void)) SDL_LoadFunction(sdlimage_handle, "IMG_Linked_Version");
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   365
        if (sdlimage_ver_get != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   366
            SDL_version *sdlimage_ver = sdlimage_ver_get();
12392
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12320
diff changeset
   367
            libinfo.append(QString(tr("<a href=\"https://www.libsdl.org/\">SDL2_image</a>: %1.%2.%3"))
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   368
                .arg(sdlimage_ver->major)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   369
                .arg(sdlimage_ver->minor)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   370
                .arg(sdlimage_ver->patch));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   371
            libinfo.append(QString("<br>"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   372
        }
12320
0f98d45204d7 Fix incorrect SDL_UnloadObject usage in about.cpp (copy-paste fail)
Wuzzy <almikes@aol.com>
parents: 12273
diff changeset
   373
        SDL_UnloadObject(sdlimage_handle);
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   374
    }
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   375
12392
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12320
diff changeset
   376
    void *sdlttf_handle = SDL_LoadObject(sopath("SDL2_ttf"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   377
    if (sdlttf_handle != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   378
        SDL_version *(*sdlttf_ver_get)(void) = NULL;
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   379
        sdlttf_ver_get = (SDL_version *(*)(void)) SDL_LoadFunction(sdlttf_handle, "TTF_Linked_Version");
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   380
        if (sdlttf_ver_get != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   381
            SDL_version *sdlttf_ver = sdlttf_ver_get();
12392
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12320
diff changeset
   382
            libinfo.append(QString(tr("<a href=\"https://www.libsdl.org/\">SDL2_ttf</a>: %1.%2.%3"))
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   383
                .arg(sdlttf_ver->major)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   384
                .arg(sdlttf_ver->minor)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   385
                .arg(sdlttf_ver->patch));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   386
            libinfo.append(QString("<br>"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   387
        }
12320
0f98d45204d7 Fix incorrect SDL_UnloadObject usage in about.cpp (copy-paste fail)
Wuzzy <almikes@aol.com>
parents: 12273
diff changeset
   388
        SDL_UnloadObject(sdlttf_handle);
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   389
    }
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   390
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   391
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   392
    libinfo.append(QString(tr("<a href=\"https://www.qt.io/developers/\">Qt</a>: %1")).arg(QT_VERSION_STR));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   393
    libinfo.append(QString("<br>"));
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   394
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   395
#ifdef VIDEOREC
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   396
    libinfo.append(QString(tr("<a href=\"https://libav.org\">libavcodec</a>: %1.%2.%3"))
9957
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   397
        .arg(LIBAVCODEC_VERSION_MAJOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   398
        .arg(LIBAVCODEC_VERSION_MINOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   399
        .arg(LIBAVCODEC_VERSION_MICRO));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   400
    libinfo.append(QString("<br>"));
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   401
    libinfo.append(QString(tr("<a href=\"https://libav.org\">libavformat</a>: %1.%2.%3"))
9957
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   402
        .arg(LIBAVFORMAT_VERSION_MAJOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   403
        .arg(LIBAVFORMAT_VERSION_MINOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   404
        .arg(LIBAVFORMAT_VERSION_MICRO));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   405
    libinfo.append(QString("<br>"));
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   406
    libinfo.append(QString(tr("<a href=\"https://libav.org\">libavutil</a>: %1.%2.%3"))
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   407
        .arg(LIBAVUTIL_VERSION_MAJOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   408
        .arg(LIBAVUTIL_VERSION_MINOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   409
        .arg(LIBAVUTIL_VERSION_MICRO));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   410
    libinfo.append(QString("<br>"));
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   411
#endif
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   412
12273
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12225
diff changeset
   413
    libinfo.append(QString(tr("<a href=\"https://icculus.org/physfs/\">PhysFS</a>: %1.%2.%3"))
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   414
        .arg(PHYSFS_VER_MAJOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   415
        .arg(PHYSFS_VER_MINOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   416
        .arg(PHYSFS_VER_PATCH));
12223
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11835
diff changeset
   417
    libinfo.append(QString("<br>"));
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   418
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   419
    // TODO: how to add Lua information?
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   420
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   421
    QLabel * lblLibInfo = new QLabel();
8760
534e30885b66 enable/fix links on about page. why don't people test that stuff when they insert it? it's just one click...
sheepluva
parents: 8654
diff changeset
   422
    lblLibInfo->setOpenExternalLinks(true);
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   423
    lblLibInfo->setText(libinfo);
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   424
    lblLibInfo->setWordWrap(true);
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   425
    lblLibInfo->setMaximumWidth(280);
8447
250142acef7b shorten the library label a little bit
koda
parents: 8434
diff changeset
   426
    leftLayout->addWidget(lblLibInfo, 0, Qt::AlignHCenter);
8404
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   427
    leftLayout->addStretch(1);
f06227b2ea14 Moved library version info out of about.html and into a QLabel beneath Hedgehog.png on about page.
dag10 <gottlieb.drew@gmail.com>
parents: 8391
diff changeset
   428
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   429
    setAcceptDrops(true);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
   430
}
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   431
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   432
void About::dragEnterEvent(QDragEnterEvent * event)
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   433
{
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   434
    if (event->mimeData()->hasUrls())
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   435
    {
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   436
        QList<QUrl> urls = event->mimeData()->urls();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   437
        QString url = urls[0].toString();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   438
        if (urls.count() == 1)
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   439
            if (url.contains(QRegExp("^file://.*\\.ogg$")))
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   440
                event->acceptProposedAction();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   441
    }
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   442
}
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   443
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   444
void About::dropEvent(QDropEvent * event)
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   445
{
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   446
    QString file =
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   447
        event->mimeData()->urls()[0].toString().remove(QRegExp("^file://"));
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   448
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   449
    SDLInteraction::instance().setMusicTrack(file);
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   450
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   451
    event->acceptProposedAction();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   452
}