QTfrontend/ui/widget/about.cpp
author Wuzzy <Wuzzy2@mail.ru>
Thu, 25 Apr 2019 23:01:05 +0200
changeset 14844 e239378a9400
parent 14444 05de066ab212
permissions -rw-r--r--
Prevent entering “/”, “\” and “:” in team and scheme names. The name of teams and schems is saved in the file name itself, so these characters would cause trouble as they are used in path names in Linux and Windows.
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
}