QTfrontend/ui/widget/about.cpp
author Wuzzy <Wuzzy2@mail.ru>
Thu, 15 Mar 2018 21:15:16 +0100
changeset 13221 02bf6902eeb0
parent 12897 fc47fc4af6bd
child 13931 6c8d4e140f27
permissions -rw-r--r--
Remove Qt SVG and Qt OpenGL as hard dependencies Qt SVG is not used in the frontend (no SVGs are rendered). Neither is Qt OpenGL used. Qt OpenGL is discouraged anyway.
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>
12897
fc47fc4af6bd Finish porting. Seems to work, but no thorough testing has been performed
unc0rr
parents: 12387
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"
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    35
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    36
#ifdef VIDEOREC
8391
9f2527848ffd Fixes build.
dag10 <gottlieb.drew@gmail.com>
parents: 8390
diff changeset
    37
extern "C"
9f2527848ffd Fixes build.
dag10 <gottlieb.drew@gmail.com>
parents: 8390
diff changeset
    38
{
9957
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
    39
    #include "libavcodec/version.h"
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
    40
    #include "libavformat/version.h"
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
    41
    #include "libavutil/avutil.h" // version.h only from 51.36.0
8391
9f2527848ffd Fixes build.
dag10 <gottlieb.drew@gmail.com>
parents: 8390
diff changeset
    42
}
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    43
#endif
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
    44
9327
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    45
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    46
#if defined(Q_OS_WINDOWS)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    47
#define sopath(x) x ".dll"
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    48
#elif defined(Q_OS_MAC)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    49
#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
    50
#else
9337
c9d4daae1dee sopath() for linux too
koda
parents: 9331
diff changeset
    51
#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
    52
#endif
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
    53
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    54
#include "about.h"
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    55
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    56
About::About(QWidget * parent) :
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6175
diff changeset
    57
    QWidget(parent)
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
    58
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
    59
    QGridLayout *mainLayout = new QGridLayout(this);
2525
e6cdc0251cd1 remove the svg dependency
koda
parents: 2460
diff changeset
    60
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
    61
    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
    62
    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
    63
5646
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
    64
    QLabel *imageLabel = new QLabel;
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
    65
    QImage image(":/res/Hedgehog.png");
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
    66
    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
    67
    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
    68
    imageLabel->setFixedHeight(300);
5646
1d44c448cfa4 enable a tip on osx, remove trailing whitespaces
koda
parents: 5626
diff changeset
    69
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
    70
    leftLayout->addWidget(imageLabel, 0, Qt::AlignHCenter);
235
28903e620258 About page
unc0rr
parents: 221
diff changeset
    71
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
    72
    QLabel *lbl1 = new QLabel(this);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
    73
    lbl1->setOpenExternalLinks(true);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
    74
    lbl1->setText(
12219
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    75
        //: %1 contains Hedgewars' version number
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    76
        "<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: 12218
diff changeset
    77
        //: “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: 12218
diff changeset
    78
        "<h3>" + QString(tr("Revision %1 (%2)")).arg(*cRevisionString, *cHashString) + "</h3>"
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    79
        //: %1 is replaced by the URL of Hedgewars.
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    80
        "<p>" + QString(tr("Visit our homepage: %1"))
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    81
        .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: 12218
diff changeset
    82
        //: %1 is the name of a license
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    83
        tr("This program is distributed under the %1.")
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
    84
	.arg("<a href=\"https://www.gnu.org/licenses/gpl-2.0.html\">"+
12219
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    85
        //: Short for “GNU General Public License version 2”
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
    86
        tr("GNU GPL v2")+"</a>") +
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6175
diff changeset
    87
        "</div>"
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6175
diff changeset
    88
    );
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
    89
    lbl1->setWordWrap(true);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2751
diff changeset
    90
    mainLayout->addWidget(lbl1, 0, 1);
235
28903e620258 About page
unc0rr
parents: 221
diff changeset
    91
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
    92
    lbl2 = new QTextBrowser(this);
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
    93
    lbl2->setOpenExternalLinks(true);
8434
4821897a0f10 big indentation/whitespaces cleanup
sheepluva
parents: 8404
diff changeset
    94
    QUrl localpage = QUrl::fromLocalFile(":/res/html/about.html");
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
    95
    lbl2->setSource(localpage); //sets the source of the label from the file above
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
    96
    mainLayout->addWidget(lbl2, 1, 1);
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    97
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
    98
    /* Library information */
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
    99
12219
072ece492a65 Make entire top part of about screen translatable
Wuzzy <almikes@aol.com>
parents: 12218
diff changeset
   100
    //: For the version numbers of Hedgewars' software dependencies
12220
a7c08e4748ff Use the same link color consistently in frontend
Wuzzy <almikes@aol.com>
parents: 12219
diff changeset
   101
    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
   102
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
   103
#ifdef __GNUC__
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   104
    libinfo.append(QString(tr("<a href=\"https://gcc.gnu.org\">GCC</a>: %1")).arg(__VERSION__));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   105
    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
   106
#else
8447
250142acef7b shorten the library label a little bit
koda
parents: 8434
diff changeset
   107
    libinfo.append(QString(tr("Unknown Compiler")).arg(__VERSION__) + 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
   108
#endif
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   109
9677
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   110
    const SDL_version *sdl_ver;
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   111
    SDL_version sdl_version;
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   112
    SDL_GetVersion(&sdl_version);
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents: 9653
diff changeset
   113
    sdl_ver = &sdl_version;
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   114
    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
   115
        .arg(sdl_ver->major)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   116
        .arg(sdl_ver->minor)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   117
        .arg(sdl_ver->patch));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   118
    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
   119
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   120
    const SDL_version *sdlmixer_ver = Mix_Linked_Version();
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   121
    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
   122
        .arg(sdlmixer_ver->major)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   123
        .arg(sdlmixer_ver->minor)
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   124
        .arg(sdlmixer_ver->patch));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   125
    libinfo.append(QString("<br>"));
9321
1d56051f70c8 show sdl_mixer version in info page
koda
parents: 9131
diff changeset
   126
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   127
    // 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
   128
    // we dynamically call the function returning the linked version
12387
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12315
diff changeset
   129
    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
   130
    if (sdlnet_handle != NULL) {
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   131
        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
   132
        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
   133
        if (sdlnet_ver_get != NULL) {
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   134
            SDL_version *sdlnet_ver = sdlnet_ver_get();
12387
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12315
diff changeset
   135
            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
   136
                .arg(sdlnet_ver->major)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   137
                .arg(sdlnet_ver->minor)
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   138
                .arg(sdlnet_ver->patch));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   139
            libinfo.append(QString("<br>"));
9327
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   140
        }
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   141
        SDL_UnloadObject(sdlnet_handle);
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   142
    }
02caf698a8f1 dynamically load sdl_net information so we don't have to link it
koda
parents: 9321
diff changeset
   143
12387
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12315
diff changeset
   144
    void *sdlimage_handle = SDL_LoadObject(sopath("SDL2_image"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   145
    if (sdlimage_handle != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   146
        SDL_version *(*sdlimage_ver_get)(void) = NULL;
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   147
        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
   148
        if (sdlimage_ver_get != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   149
            SDL_version *sdlimage_ver = sdlimage_ver_get();
12387
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12315
diff changeset
   150
            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
   151
                .arg(sdlimage_ver->major)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   152
                .arg(sdlimage_ver->minor)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   153
                .arg(sdlimage_ver->patch));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   154
            libinfo.append(QString("<br>"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   155
        }
12315
0f98d45204d7 Fix incorrect SDL_UnloadObject usage in about.cpp (copy-paste fail)
Wuzzy <almikes@aol.com>
parents: 12268
diff changeset
   156
        SDL_UnloadObject(sdlimage_handle);
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   157
    }
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   158
12387
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12315
diff changeset
   159
    void *sdlttf_handle = SDL_LoadObject(sopath("SDL2_ttf"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   160
    if (sdlttf_handle != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   161
        SDL_version *(*sdlttf_ver_get)(void) = NULL;
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   162
        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
   163
        if (sdlttf_ver_get != NULL) {
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   164
            SDL_version *sdlttf_ver = sdlttf_ver_get();
12387
cfcbc960337e very elaborate change to the confusing and convoluted code for detecting (non-)linked SDL-libs versions in frontend
sheepluva
parents: 12315
diff changeset
   165
            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
   166
                .arg(sdlttf_ver->major)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   167
                .arg(sdlttf_ver->minor)
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   168
                .arg(sdlttf_ver->patch));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   169
            libinfo.append(QString("<br>"));
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   170
        }
12315
0f98d45204d7 Fix incorrect SDL_UnloadObject usage in about.cpp (copy-paste fail)
Wuzzy <almikes@aol.com>
parents: 12268
diff changeset
   171
        SDL_UnloadObject(sdlttf_handle);
9329
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   172
    }
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   173
b825fa990e1c the same for sdl_image and sdl_ttf
koda
parents: 9327
diff changeset
   174
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   175
    libinfo.append(QString(tr("<a href=\"https://www.qt.io/developers/\">Qt</a>: %1")).arg(QT_VERSION_STR));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   176
    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
   177
8390
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   178
#ifdef VIDEOREC
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   179
    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
   180
        .arg(LIBAVCODEC_VERSION_MAJOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   181
        .arg(LIBAVCODEC_VERSION_MINOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   182
        .arg(LIBAVCODEC_VERSION_MICRO));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   183
    libinfo.append(QString("<br>"));
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   184
    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
   185
        .arg(LIBAVFORMAT_VERSION_MAJOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   186
        .arg(LIBAVFORMAT_VERSION_MINOR)
7a62f31895ac add other libav library versions
koda
parents: 9653
diff changeset
   187
        .arg(LIBAVFORMAT_VERSION_MICRO));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   188
    libinfo.append(QString("<br>"));
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   189
    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
   190
        .arg(LIBAVUTIL_VERSION_MAJOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   191
        .arg(LIBAVUTIL_VERSION_MINOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   192
        .arg(LIBAVUTIL_VERSION_MICRO));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   193
    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
   194
#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
   195
12268
2eedf9e0cd6d Replace some HTTP links with HTTPS links
Wuzzy <almikes@aol.com>
parents: 12220
diff changeset
   196
    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
   197
        .arg(PHYSFS_VER_MAJOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   198
        .arg(PHYSFS_VER_MINOR)
0b2403003640 Added "what we use" section to "about" page. From GCI.
dag10 <gottlieb.drew@gmail.com>
parents: 8256
diff changeset
   199
        .arg(PHYSFS_VER_PATCH));
12218
b532cc42ebd4 Make library list in about screen translatable
Wuzzy <almikes@aol.com>
parents: 11830
diff changeset
   200
    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
   201
9331
26f0bf0de172 use linked version for sdl and sdl_mixer too for consistency, comment some things
koda
parents: 9329
diff changeset
   202
    // 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
   203
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
   204
    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
   205
    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
   206
    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
   207
    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
   208
    lblLibInfo->setMaximumWidth(280);
8447
250142acef7b shorten the library label a little bit
koda
parents: 8434
diff changeset
   209
    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
   210
    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
   211
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   212
    setAcceptDrops(true);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents:
diff changeset
   213
}
6175
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   214
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   215
void About::dragEnterEvent(QDragEnterEvent * event)
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   216
{
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   217
    if (event->mimeData()->hasUrls())
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   218
    {
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   219
        QList<QUrl> urls = event->mimeData()->urls();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   220
        QString url = urls[0].toString();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   221
        if (urls.count() == 1)
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   222
            if (url.contains(QRegExp("^file://.*\\.ogg$")))
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   223
                event->acceptProposedAction();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   224
    }
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   225
}
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   226
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   227
void About::dropEvent(QDropEvent * event)
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   228
{
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   229
    QString file =
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   230
        event->mimeData()->urls()[0].toString().remove(QRegExp("^file://"));
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   231
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   232
    SDLInteraction::instance().setMusicTrack(file);
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   233
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   234
    event->acceptProposedAction();
a80833ddaef0 moving a file around, fixing a png, etc.
sheepluva
parents: 6067
diff changeset
   235
}