aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/citra_qt/config/controller_config_util.h
blob: 15e025b571a22ad368d0a2f98d1eea8d2e5b9158 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.

#ifndef _CONTROLLER_CONFIG_UTIL_HXX_
#define _CONTROLLER_CONFIG_UTIL_HXX_

#include <QWidget>
#include <QPushButton>

/* TODO(bunnei): ImplementMe

#include "config.h"

class GStickConfig : public QWidget
{
    Q_OBJECT

public:
    // change_receiver needs to have a OnKeyConfigChanged(common::Config::Control, int, const QString&) slot!
    GStickConfig(common::Config::Control leftid, common::Config::Control rightid, common::Config::Control upid, common::Config::Control downid, QObject* change_receiver, QWidget* parent = NULL);

signals:
    void LeftChanged();
    void RightChanged();
    void UpChanged();
    void DownChanged();

private:
    QPushButton* left;
    QPushButton* right;
    QPushButton* up;
    QPushButton* down;

    QPushButton* clear;
};

class GKeyConfigButton : public QPushButton
{
    Q_OBJECT

public:
    // TODO: change_receiver also needs to have an ActivePortChanged(const common::Config::ControllerPort&) signal
    // change_receiver needs to have a OnKeyConfigChanged(common::Config::Control, int, const QString&) slot!
    GKeyConfigButton(common::Config::Control id, const QIcon& icon, const QString& text, QObject* change_receiver, QWidget* parent);
    GKeyConfigButton(common::Config::Control id, const QString& text, QObject* change_receiver, QWidget* parent);

signals:
    void KeyAssigned(common::Config::Control id, int key, const QString& text);

private slots:
    void OnActivePortChanged(const common::Config::ControllerPort& config);

    void OnClicked();

    void keyPressEvent(QKeyEvent* event); // TODO: bGrabbed?
    void mousePressEvent(QMouseEvent* event);

private:
    common::Config::Control id;
    bool inputGrabbed;

    QString old_text;
};

class GButtonConfigGroup : public QWidget
{
    Q_OBJECT

public:
    // change_receiver needs to have a OnKeyConfigChanged(common::Config::Control, int, const QString&) slot!
    GButtonConfigGroup(const QString& name, common::Config::Control id, QObject* change_receiver, QWidget* parent = NULL);

private:
    GKeyConfigButton* config_button;

    common::Config::Control id;
};

*/

#endif  // _CONTROLLER_CONFIG_HXX_