mirror of
https://github.com/DxWnd/DxWnd.reloaded
synced 2024-12-30 09:25:35 +01:00
251 lines
9.2 KiB
C++
251 lines
9.2 KiB
C++
// CGlobalSettings.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "dxwndhost.h"
|
|
//#include "dxwndhostView.h"
|
|
#include "CGlobalSettings.h"
|
|
|
|
extern char gInitPath[];
|
|
extern BOOL gbDebug;
|
|
extern BOOL gAutoHideMode;
|
|
extern BOOL gWarnOnExit;
|
|
|
|
Key_Type FKeys[] = {
|
|
{IDC_KEY_LABEL1, "Time toggle", IDC_KEY_COMBO1, "timetoggle", 0},
|
|
{IDC_KEY_LABEL2, "Time fast", IDC_KEY_COMBO2, "timefast", 0},
|
|
{IDC_KEY_LABEL3, "Time slow", IDC_KEY_COMBO3, "timeslow", 0},
|
|
{IDC_KEY_LABEL4, "Alt-F4", IDC_KEY_COMBO4, "altf4", 0},
|
|
{IDC_KEY_LABEL5, "Clip toggle", IDC_KEY_COMBO5, "cliptoggle", 0},
|
|
{IDC_KEY_LABEL6, "Refresh", IDC_KEY_COMBO6, "refresh", 0},
|
|
{IDC_KEY_LABEL7, "Log toggle", IDC_KEY_COMBO7, "logtoggle", 0},
|
|
{IDC_KEY_LABEL8, "Position t.", IDC_KEY_COMBO8, "plogtoggle", 0},
|
|
{IDC_KEY_LABEL9, "FPS toggle", IDC_KEY_COMBO9, "fpstoggle", 0},
|
|
{IDC_KEY_LABEL10, "Print screen", IDC_KEY_COMBO10, "printscreen", 0},
|
|
{IDC_KEY_LABEL11, "Corner tog.", IDC_KEY_COMBO11, "corner", 0},
|
|
{IDC_KEY_LABEL12, "Time freeze", IDC_KEY_COMBO12, "freezetime", 0},
|
|
{IDC_KEY_LABEL13, "Fullscr. t.", IDC_KEY_COMBO13, "fullscreen", 0},
|
|
{IDC_KEY_LABEL14, "Work area t.", IDC_KEY_COMBO14, "workarea", 0},
|
|
{IDC_KEY_LABEL15, "Desktop t.", IDC_KEY_COMBO15, "desktop", 0},
|
|
{0, "", 0, 0}
|
|
};
|
|
|
|
Key_Type HKeys[] = {
|
|
{IDC_HKEY_LABEL1, "Minimize", IDC_HKEY_COMBO1, "minimize", 0},
|
|
{IDC_HKEY_LABEL2, "Restore", IDC_HKEY_COMBO2, "restore", 0},
|
|
{IDC_HKEY_LABEL3, "Kill proc.", IDC_HKEY_COMBO3, "kill", 0},
|
|
{0, "", 0, 0}
|
|
};
|
|
|
|
KeyCombo_Type FKeyCombo[] = {
|
|
{-1, "--"},
|
|
{VK_F1, "F1"},
|
|
{VK_F2, "F2"},
|
|
{VK_F3, "F3"},
|
|
{VK_F5, "F5"},
|
|
{VK_F6, "F6"},
|
|
{VK_F7, "F7"},
|
|
{VK_F8, "F8"},
|
|
{VK_F9, "F9"},
|
|
{VK_F10, "F10"},
|
|
{VK_F11, "F11"},
|
|
{VK_F12, "F12"},
|
|
{0, ""}
|
|
};
|
|
|
|
KeyCombo_Type HKeyCombo[] = {
|
|
{-1, "--"},
|
|
{VK_END, "END"},
|
|
{VK_HOME, "HOME"},
|
|
{VK_DELETE, "DEL"},
|
|
{VK_ESCAPE, "ESC"},
|
|
{VK_F1, "F1"},
|
|
{VK_F2, "F2"},
|
|
{VK_F3, "F3"},
|
|
{VK_F5, "F5"},
|
|
{VK_F6, "F6"},
|
|
{VK_F7, "F7"},
|
|
{VK_F8, "F8"},
|
|
{VK_F9, "F9"},
|
|
{VK_F10, "F10"},
|
|
{VK_F11, "F11"},
|
|
{VK_F12, "F12"},
|
|
{0, ""}
|
|
};
|
|
|
|
// CGlobalSettings dialog
|
|
|
|
IMPLEMENT_DYNAMIC(CGlobalSettings, CDialog)
|
|
|
|
CGlobalSettings::CGlobalSettings(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CGlobalSettings::IDD, pParent)
|
|
{
|
|
//m_DebugMode = GetPrivateProfileInt("window", "debug", 0, gInitPath);
|
|
m_AutoHideMode = GetPrivateProfileInt("window", "autohide", 0, gInitPath);
|
|
m_CheckAdminRights = GetPrivateProfileInt("window", "checkadmin", 0, gInitPath);
|
|
m_NameFromFolder = GetPrivateProfileInt("window", "namefromfolder", 0, gInitPath);
|
|
m_MultiHooks = GetPrivateProfileInt("window", "multiprocesshook", 0, gInitPath);
|
|
m_WarnOnExit = GetPrivateProfileInt("window", "warnonexit", 0, gInitPath);
|
|
m_UpdatePaths = GetPrivateProfileInt("window", "updatepaths", 1, gInitPath);
|
|
// texture limits
|
|
m_TexMinX = GetPrivateProfileInt("texture", "MinTexX", 0, gInitPath);
|
|
m_TexMinY = GetPrivateProfileInt("texture", "MinTexY", 0, gInitPath);
|
|
m_TexMaxX = GetPrivateProfileInt("texture", "MaxTexX", 0, gInitPath);
|
|
m_TexMaxY = GetPrivateProfileInt("texture", "MaxTexY", 0, gInitPath);
|
|
// defaults
|
|
m_DefaultCoordinates = GetPrivateProfileInt("window", "defaultcoord", 0, gInitPath);
|
|
m_DefaultPosX = GetPrivateProfileInt("window", "defaultposx", 50, gInitPath);
|
|
m_DefaultPosY = GetPrivateProfileInt("window", "defaultposy", 50, gInitPath);
|
|
m_DefaultSizX = GetPrivateProfileInt("window", "defaultsizx", 800, gInitPath);
|
|
m_DefaultSizY = GetPrivateProfileInt("window", "defaultsizy", 600, gInitPath);
|
|
}
|
|
|
|
CGlobalSettings::~CGlobalSettings()
|
|
{
|
|
}
|
|
|
|
void CGlobalSettings::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
//char msg[80];
|
|
//sprintf(msg, "DoDataExchange(1) defposx = %d", m_DefaultPosX);
|
|
//MessageBox(msg, "debug", 0);
|
|
CString sDefaultPosX, sDefaultPosY;
|
|
sDefaultPosX.Format("%d", m_DefaultPosX);
|
|
sDefaultPosY.Format("%d", m_DefaultPosY);
|
|
//DDX_Check(pDX, IDC_CONFIG_DEBUGMODE, m_DebugMode);
|
|
DDX_Check(pDX, IDC_CONFIG_AUTOHIDE, m_AutoHideMode);
|
|
DDX_Check(pDX, IDC_CONFIG_CHECKADMIN, m_CheckAdminRights);
|
|
DDX_Check(pDX, IDC_CONFIG_NAMEFROMFOLDER, m_NameFromFolder);
|
|
DDX_Check(pDX, IDC_CONFIG_MULTIHOOKS, m_MultiHooks);
|
|
DDX_Check(pDX, IDC_CONFIG_WARNONEXIT, m_WarnOnExit);
|
|
DDX_Check(pDX, IDC_CONFIG_SAVEPATHS, m_UpdatePaths);
|
|
DDX_Text (pDX, IDC_TEX_MINX, m_TexMinX);
|
|
DDX_Text (pDX, IDC_TEX_MINY, m_TexMinY);
|
|
DDX_Text (pDX, IDC_TEX_MAXX, m_TexMaxX);
|
|
DDX_Text (pDX, IDC_TEX_MAXY, m_TexMaxY);
|
|
DDX_Radio(pDX, IDC_DEFAULTCOORDINATES, m_DefaultCoordinates);
|
|
DDX_Text(pDX, IDC_DEFAULTPOSX, sDefaultPosX);
|
|
DDX_Text(pDX, IDC_DEFAULTPOSY, sDefaultPosY);
|
|
DDX_Text(pDX, IDC_DEFAULTSIZX, m_DefaultSizX);
|
|
DDX_Text(pDX, IDC_DEFAULTSIZY, m_DefaultSizY);
|
|
m_DefaultPosX = atoi(sDefaultPosX);
|
|
m_DefaultPosY = atoi(sDefaultPosY);
|
|
CDialog::DoDataExchange(pDX);
|
|
//sprintf(msg, "DoDataExchange(2) defposx = %d", m_DefaultPosX);
|
|
//MessageBox(msg, "debug", 0);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CGlobalSettings, CDialog)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CGlobalSettings::OnInitDialog()
|
|
{
|
|
IFormat *m_pRelIntegerFormat = new(RelIntegerFormat);
|
|
m_EditPosX.SubclassDlgItem(IDC_DEFAULTPOSX, this);
|
|
m_EditPosY.SubclassDlgItem(IDC_DEFAULTPOSY, this);
|
|
m_EditPosX.SetFormatter(m_pRelIntegerFormat);
|
|
m_EditPosY.SetFormatter(m_pRelIntegerFormat);
|
|
CDialog::OnInitDialog();
|
|
for(int i=0; FKeys[i].iLabelResourceId; i++){
|
|
int iCursor = 0;
|
|
DWORD dwKey;
|
|
dwKey = GetPrivateProfileInt("keymapping", FKeys[i].sIniLabel, -1, gInitPath);
|
|
SetDlgItemText(FKeys[i].iLabelResourceId,FKeys[i].sLabel);
|
|
CComboBox *pCombo=(CComboBox *)GetDlgItem(FKeys[i].iComboResourceId);
|
|
pCombo->Clear();
|
|
for(int j=0; FKeyCombo[j].dwVKeyCode; j++) {
|
|
pCombo->AddString(FKeyCombo[j].sVKeyLabel);
|
|
if(dwKey == FKeyCombo[j].dwVKeyCode) iCursor=j;
|
|
}
|
|
pCombo->SetCurSel(iCursor);
|
|
}
|
|
for(int i=0; HKeys[i].iLabelResourceId; i++){
|
|
int iCursor = 0;
|
|
DWORD dwKey;
|
|
dwKey = GetPrivateProfileInt("keymapping", HKeys[i].sIniLabel, -1, gInitPath);
|
|
SetDlgItemText(HKeys[i].iLabelResourceId,HKeys[i].sLabel);
|
|
CComboBox *pCombo=(CComboBox *)GetDlgItem(HKeys[i].iComboResourceId);
|
|
pCombo->Clear();
|
|
for(int j=0; HKeyCombo[j].dwVKeyCode; j++) {
|
|
pCombo->AddString(HKeyCombo[j].sVKeyLabel);
|
|
if(dwKey == HKeyCombo[j].dwVKeyCode) iCursor=j;
|
|
}
|
|
pCombo->SetCurSel(iCursor);
|
|
}
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
}
|
|
|
|
void CGlobalSettings::OnOK()
|
|
{
|
|
char val[32];
|
|
CDialog::OnOK();
|
|
// boolean flags
|
|
//sprintf_s(val, sizeof(val), "%i", m_DebugMode);
|
|
//WritePrivateProfileString("window", "debug", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_AutoHideMode);
|
|
WritePrivateProfileString("window", "autohide", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_CheckAdminRights);
|
|
WritePrivateProfileString("window", "checkadmin", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_NameFromFolder);
|
|
WritePrivateProfileString("window", "namefromfolder", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_MultiHooks);
|
|
WritePrivateProfileString("window", "multiprocesshook", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_WarnOnExit);
|
|
WritePrivateProfileString("window", "warnonexit", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_UpdatePaths);
|
|
WritePrivateProfileString("window", "updatepaths", val, gInitPath);
|
|
// texture limits
|
|
sprintf_s(val, sizeof(val), "%i", m_TexMinX);
|
|
WritePrivateProfileString("texture", "MinTexX", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_TexMinY);
|
|
WritePrivateProfileString("texture", "MinTexY", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_TexMaxX);
|
|
WritePrivateProfileString("texture", "MaxTexX", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_TexMaxY);
|
|
WritePrivateProfileString("texture", "MaxTexY", val, gInitPath);
|
|
// defaults
|
|
sprintf_s(val, sizeof(val), "%i", m_DefaultCoordinates);
|
|
WritePrivateProfileString("window", "defaultcoord", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_DefaultPosX);
|
|
WritePrivateProfileString("window", "defaultposx", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_DefaultPosY);
|
|
WritePrivateProfileString("window", "defaultposy", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_DefaultSizX);
|
|
WritePrivateProfileString("window", "defaultsizx", val, gInitPath);
|
|
sprintf_s(val, sizeof(val), "%i", m_DefaultSizY);
|
|
WritePrivateProfileString("window", "defaultsizy", val, gInitPath);
|
|
|
|
// fkeys
|
|
for(int i=0; FKeys[i].iLabelResourceId; i++){
|
|
int iCursor = 0;
|
|
DWORD dwKey;
|
|
CComboBox *pCombo=(CComboBox *)GetDlgItem(FKeys[i].iComboResourceId);
|
|
dwKey = FKeyCombo[pCombo->GetCurSel()].dwVKeyCode;
|
|
if(dwKey != -1) {
|
|
char sKNum[20];
|
|
sprintf_s(sKNum, sizeof(sKNum), "%i", dwKey);
|
|
WritePrivateProfileString("keymapping", FKeys[i].sIniLabel, sKNum, gInitPath);
|
|
}
|
|
else
|
|
WritePrivateProfileString("keymapping", FKeys[i].sIniLabel, "", gInitPath);
|
|
}
|
|
// hot keys
|
|
for(int i=0; HKeys[i].iLabelResourceId; i++){
|
|
int iCursor = 0;
|
|
DWORD dwKey;
|
|
CComboBox *pCombo=(CComboBox *)GetDlgItem(HKeys[i].iComboResourceId);
|
|
dwKey = HKeyCombo[pCombo->GetCurSel()].dwVKeyCode;
|
|
if(dwKey != -1) {
|
|
char sKNum[20];
|
|
sprintf_s(sKNum, sizeof(sKNum), "%i", dwKey);
|
|
WritePrivateProfileString("keymapping", HKeys[i].sIniLabel, sKNum, gInitPath);
|
|
}
|
|
else
|
|
WritePrivateProfileString("keymapping", HKeys[i].sIniLabel, "", gInitPath);
|
|
}
|
|
//(CDxwndhostView *)(this->GetParent())->UpdateHotKeys();
|
|
//gbDebug = m_DebugMode;
|
|
gAutoHideMode = m_AutoHideMode;
|
|
gWarnOnExit = m_WarnOnExit;
|
|
}
|