QTfrontend/ui/widget/themeprompt.h
author Wuzzy <Wuzzy2@mail.ru>
Sat, 27 Oct 2018 15:55:19 +0200
changeset 14019 f09276eb0c27
parent 13288 f816b9e73fcb
permissions -rw-r--r--
Add 7 new taunts New sounds: * Bugger, Drat: Hog damages self only * Thisoneismine: Crate drop * Whatthe: Something is going to blow up close to hog * Solong, Ohdear: Death * Gonnagetyou: Vow for revenge Fallback code is added for existing voicepacks Thisoneismine is not used in Robot because the text in this sound file is "Threat detected.", which does not make sense.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
     1
/*
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
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>
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
     4
 *
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
     8
 *
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    12
 * GNU General Public License for more details.
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    13
 *
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
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: 9998
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    17
 */
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    18
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    19
#ifndef THEMEPROMPT_H
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    20
#define THEMEPROMPT_H
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    21
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    22
#include <QWidget>
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    23
#include <QDialog>
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    24
#include <QListView>
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    25
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    26
class QLineEdit;
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    27
class QModelIndex;
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    28
class QSortFilterProxyModel;
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    29
class LineEditCursor;
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    30
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    31
class ThemeListView : public QListView
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    32
{
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    33
    friend class ThemePrompt;
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    34
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    35
    public:
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    36
        ThemeListView(QWidget* parent = 0) : QListView(parent){}
8623
93645b4ba0de Possibly fixed issue 533.
dag10
parents: 8475
diff changeset
    37
        void moveUp();
93645b4ba0de Possibly fixed issue 533.
dag10
parents: 8475
diff changeset
    38
        void moveDown();
93645b4ba0de Possibly fixed issue 533.
dag10
parents: 8475
diff changeset
    39
        void moveLeft();
93645b4ba0de Possibly fixed issue 533.
dag10
parents: 8475
diff changeset
    40
        void moveRight();
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    41
};
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    42
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    43
class ThemePrompt : public QDialog
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    44
{
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    45
        Q_OBJECT
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    46
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    47
    public:
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    48
        ThemePrompt(int currentIndex = 0, QWidget* parent = 0);
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    49
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    50
    private:
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    51
        LineEditCursor * txtFilter;
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    52
        ThemeListView * list;
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    53
        QSortFilterProxyModel * filterModel;
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    54
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    55
    private slots:
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    56
        void onAccepted();
13288
f816b9e73fcb ThemeFilterProxyModel: Fix filter function containing a path with no return value
Wuzzy <Wuzzy2@mail.ru>
parents: 11046
diff changeset
    57
        void onRejected();
8475
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    58
        void themeChosen(const QModelIndex & index);
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    59
        void filterChanged(const QString & text);
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    60
        void moveUp();
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    61
        void moveDown();
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    62
        void moveLeft();
f605bc59c603 Initial theme selection is now random. Theme prompt now has a search input and no longer uses FlowLayout. (Resolves issue 520)
dag10
parents: 8377
diff changeset
    63
        void moveRight();
8377
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    64
};
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    65
869f80966a77 GCI2012: Improve Game Configuration Widget
dag10
parents:
diff changeset
    66
#endif // THEMEPROMPT_H