Cemu/src/gui/input/InputSettings2.h
Francesco Saltori d22901be1c
Miscellaneous translatable strings improvements and fixes (#159)
* Make PPC threads/texture cache info window columns untranslatable
* Make several window titles translatable
* Make About window text translatable
* Fix <profile name> placeholder not being recognized as translatable
* Miscellaneous improvements to GUI strings
* Add a few missing entries to gitignore
* Adjust Italian translation of Linux files
2022-09-03 22:55:58 +02:00

76 lines
2 KiB
C++

#pragma once
#include <wx/dialog.h>
#include <wx/notebook.h>
#include <wx/timer.h>
#include "input/api/InputAPI.h"
#include <boost/signals2/connection.hpp>
struct ControllerPage;
class ControllerBase;
class InputSettings2 : public wxDialog
{
public:
InputSettings2(wxWindow* parent);
~InputSettings2();
private:
const wxString kDefaultProfileName = _("<profile name>");
wxNotebook* m_notebook;
wxTimer* m_timer;
wxBitmap m_connected, m_disconnected, m_low_battery;
wxWindow* initialize_page(size_t index);
// count active <vpad, wpad> controllers
std::pair<size_t, size_t> get_emulated_controller_types() const;
// currently selected controller from active tab
std::shared_ptr<ControllerBase> get_active_controller() const;
bool has_settings(InputAPI::Type type);
ControllerPage& get_current_page_data() const;
void update_state();
boost::signals2::connection m_controller_changed;
void on_controller_changed();
// events
void on_notebook_page_changed(wxBookCtrlEvent& event);
void on_timer(wxTimerEvent& event);
void on_left_click(wxMouseEvent& event);
void on_controller_page_changed(wxBookCtrlEvent& event);
void on_profile_dropdown(wxCommandEvent& event);
void on_profile_text_changed(wxCommandEvent& event);
void on_profile_load(wxCommandEvent& event);
void on_profile_save(wxCommandEvent& event);
void on_profile_delete(wxCommandEvent& event);
void on_emulated_controller_selected(wxCommandEvent& event);
void on_emulated_controller_dropdown(wxCommandEvent& event);
void on_controller_selected(wxCommandEvent& event);
void on_controller_dropdown(wxCommandEvent& event);
void on_controller_connect(wxCommandEvent& event);
void on_controller_add(wxCommandEvent& event);
void on_controller_remove(wxCommandEvent& event);
void on_controller_calibrate(wxCommandEvent& event);
void on_controller_clear(wxCommandEvent& event);
void on_controller_settings(wxCommandEvent& event);
// void on_controller_dropdown(wxCommandEvent& event);
// void on_controllers_refreshed(wxCommandEvent& event);
};