mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-20 21:43:12 -07:00
Add Sleep Trigger to GUI
This commit is contained in:
parent
6052d9d7d7
commit
8ddbad6f61
8 changed files with 108 additions and 6 deletions
|
@ -38,6 +38,13 @@ enum class ControllerButtonExt
|
|||
ANALOG_STICK_RIGHT_Y_DOWN = (1 << 25),
|
||||
};
|
||||
|
||||
enum class DisconnectAction
|
||||
{
|
||||
AlwaysNothing,
|
||||
AlwaysSleep,
|
||||
Ask
|
||||
};
|
||||
|
||||
class Settings : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -95,6 +102,9 @@ class Settings : public QObject
|
|||
|
||||
ChiakiConnectVideoProfile GetVideoProfile();
|
||||
|
||||
DisconnectAction GetDisconnectAction();
|
||||
void SetDisconnectAction(DisconnectAction action);
|
||||
|
||||
QList<RegisteredHost> GetRegisteredHosts() const { return registered_hosts.values(); }
|
||||
void AddRegisteredHost(const RegisteredHost &host);
|
||||
void RemoveRegisteredHost(const HostMAC &mac);
|
||||
|
|
|
@ -34,6 +34,7 @@ class SettingsDialog : public QDialog
|
|||
Settings *settings;
|
||||
|
||||
QCheckBox *log_verbose_check_box;
|
||||
QComboBox *disconnect_action_combo_box;
|
||||
|
||||
QComboBox *resolution_combo_box;
|
||||
QComboBox *fps_combo_box;
|
||||
|
@ -48,6 +49,7 @@ class SettingsDialog : public QDialog
|
|||
|
||||
private slots:
|
||||
void LogVerboseChanged();
|
||||
void DisconnectActionSelected();
|
||||
|
||||
void ResolutionSelected();
|
||||
void FPSSelected();
|
||||
|
|
|
@ -48,6 +48,7 @@ class ChiakiException: public Exception
|
|||
|
||||
struct StreamSessionConnectInfo
|
||||
{
|
||||
Settings *settings;
|
||||
QMap<Qt::Key, int> key_map;
|
||||
HardwareDecodeEngine hw_decode_engine;
|
||||
uint32_t log_level_mask;
|
||||
|
@ -71,6 +72,7 @@ class StreamSession : public QObject
|
|||
SessionLog log;
|
||||
ChiakiSession session;
|
||||
ChiakiOpusDecoder opus_decoder;
|
||||
bool connected;
|
||||
|
||||
Controller *controller;
|
||||
#if CHIAKI_GUI_ENABLE_SETSU
|
||||
|
@ -103,8 +105,11 @@ class StreamSession : public QObject
|
|||
explicit StreamSession(const StreamSessionConnectInfo &connect_info, QObject *parent = nullptr);
|
||||
~StreamSession();
|
||||
|
||||
bool IsConnected() { return connected; }
|
||||
|
||||
void Start();
|
||||
void Stop();
|
||||
void GoToBed();
|
||||
|
||||
void SetLoginPIN(const QString &pin);
|
||||
|
||||
|
|
|
@ -34,11 +34,12 @@ class StreamWindow: public QMainWindow
|
|||
~StreamWindow() override;
|
||||
|
||||
private:
|
||||
const StreamSessionConnectInfo connect_info;
|
||||
StreamSession *session;
|
||||
|
||||
AVOpenGLWidget *av_widget;
|
||||
|
||||
void Init(const StreamSessionConnectInfo &connect_info);
|
||||
void Init();
|
||||
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event) override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue