summaryrefslogtreecommitdiff
path: root/protocols/Steam/src/steam_dialogs.h
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2015-04-03 20:53:10 +0000
committerAlexander Lantsev <aunsane@gmail.com>2015-04-03 20:53:10 +0000
commit77633ec5799b374a1899d05ae69a2e5f978f2a7c (patch)
tree495918b4f9fe4afabd3327bd31ded2b51c99cc1d /protocols/Steam/src/steam_dialogs.h
parent62d9ae35f2621f77a8f5c2bd34bef66553ac6036 (diff)
Steam: moved to core ui
git-svn-id: http://svn.miranda-ng.org/main/trunk@12594 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Steam/src/steam_dialogs.h')
-rw-r--r--protocols/Steam/src/steam_dialogs.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/protocols/Steam/src/steam_dialogs.h b/protocols/Steam/src/steam_dialogs.h
new file mode 100644
index 0000000000..dd919fa365
--- /dev/null
+++ b/protocols/Steam/src/steam_dialogs.h
@@ -0,0 +1,137 @@
+#ifndef _STEAM_DIALOGS_H_
+#define _STEAM_DIALOGS_H_
+
+class CSteamDlgBase : public CProtoDlgBase<CSteamProto>
+{
+private:
+ typedef CProtoDlgBase<CSteamProto> CSuper;
+
+protected:
+ __inline CSteamDlgBase(CSteamProto *proto, int idDialog, HWND parent, bool show_label = true) :
+ CSuper(proto, idDialog, parent, show_label) { }
+};
+
+/////////////////////////////////////////////////////////////////////////////////
+
+class CSteamPasswordEditor : public CSteamDlgBase
+{
+private:
+ typedef CSteamDlgBase CSuper;
+
+ CCtrlEdit m_password;
+ CCtrlCheck m_savePermanently;
+
+ CCtrlButton m_ok;
+
+protected:
+ void OnInitDialog();
+ void OnOk(CCtrlButton*);
+ void OnClose();
+
+public:
+ CSteamPasswordEditor(CSteamProto *proto);
+};
+
+/////////////////////////////////////////////////////////////////////////////////
+
+class CSteamGuardDialog : public CSteamDlgBase
+{
+private:
+ typedef CSteamDlgBase CSuper;
+
+ char m_domain[32];
+
+ CCtrlEdit m_text;
+ CCtrlButton m_ok;
+ CCtrlHyperlink m_link;
+
+protected:
+ void OnInitDialog();
+ void OnOk(CCtrlButton*);
+ void OnClose();
+
+public:
+ CSteamGuardDialog(CSteamProto *proto, char *domain);
+
+ char *GetGuardCode();
+};
+
+/////////////////////////////////////////////////////////////////////////////////
+
+class CSteamCaptchaDialog : public CSteamDlgBase
+{
+private:
+ typedef CSteamDlgBase CSuper;
+
+ BYTE *m_captchaImage;
+ int m_captchaImageSize;
+
+ CCtrlEdit m_text;
+ CCtrlButton m_ok;
+
+protected:
+ void OnInitDialog();
+ void OnOk(CCtrlButton*);
+ void OnClose();
+
+ INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam);
+
+public:
+ CSteamCaptchaDialog(CSteamProto *proto, BYTE *captchaImage, int captchaImageSize);
+ ~CSteamCaptchaDialog();
+
+ char *GetCaptchaText();
+};
+
+/////////////////////////////////////////////////////////////////////////////////
+
+class CSteamOptionsMain : public CSteamDlgBase
+{
+private:
+ typedef CSteamDlgBase CSuper;
+
+ CCtrlEdit m_username;
+ CCtrlEdit m_password;
+ CCtrlEdit m_group;
+
+ CCtrlCheck m_biggerAvatars;
+
+protected:
+ CSteamOptionsMain(CSteamProto *proto, int idDialog, HWND hwndParent = NULL);
+
+ void OnInitDialog();
+ void OnApply();
+
+public:
+ static CDlgBase *CreateAccountManagerPage(void *param, HWND owner)
+ {
+ CSteamOptionsMain *page = new CSteamOptionsMain((CSteamProto*)param, IDD_ACCMGR, owner);
+ page->Show();
+ return page;
+ }
+
+ static CDlgBase *CreateOptionsPage(void *param) { return new CSteamOptionsMain((CSteamProto*)param, IDD_OPT_MAIN); }
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
+class CSteamOptionsBlockList : public CSteamDlgBase
+{
+private:
+ typedef CSteamDlgBase CSuper;
+
+ CCtrlListView m_list;
+ CCtrlCombo m_contacts;
+ CCtrlButton m_add;
+
+protected:
+ CSteamOptionsBlockList(CSteamProto *proto);
+
+ void OnInitDialog();
+ void OnBlock(CCtrlButton*);
+
+public:
+ static CDlgBase *CreateOptionsPage(void *param) { return new CSteamOptionsBlockList((CSteamProto*)param); }
+};
+
+#endif //_STEAM_DIALOGS_H_ \ No newline at end of file