diff options
author | george.hazan <george.hazan@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-05-26 20:18:42 +0000 |
---|---|---|
committer | george.hazan <george.hazan@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-05-26 20:18:42 +0000 |
commit | 2ebb53adcd4663ac2f1da74972b7b21d53b0ce53 (patch) | |
tree | 0c11a849c6bd2cff094017e8de6895a54363c586 /dbeditorpp/main_window.cpp | |
parent | 4b6195fe205b03838ce334893e1141bf43f9fc6d (diff) |
patch for dbeditorpp: C++ support, other improvements
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@122 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'dbeditorpp/main_window.cpp')
-rw-r--r-- | dbeditorpp/main_window.cpp | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/dbeditorpp/main_window.cpp b/dbeditorpp/main_window.cpp index 0c437fb..adb551e 100644 --- a/dbeditorpp/main_window.cpp +++ b/dbeditorpp/main_window.cpp @@ -1,5 +1,10 @@ #include "headers.h"
+HWND hwnd2mainWindow;
+int Order;
+HIMAGELIST himl2;
+int Hex;
+
#define GC_SPLITTERMOVED (WM_USER+101)
extern BOOL bServiceMode;
@@ -88,7 +93,7 @@ LRESULT CALLBACK ModuleTreeSubclassProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM break;
case WM_CHAR:
if (GetKeyState(VK_CONTROL)&0x8000 && wParam == 6)
- CreateDialog(hInst,MAKEINTRESOURCE(IDD_FIND),hwnd,FindWindowDlgProc);
+ CreateDialog(hInst, MAKEINTRESOURCE(IDD_FIND), hwnd, FindWindowDlgProc);
break;
case WM_KEYUP:
{
@@ -116,14 +121,14 @@ LRESULT CALLBACK ModuleTreeSubclassProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM {
if (deleteModule(module, hContact,0))
{
- safe_free(mtis);
+ mir_free(mtis);
TreeView_DeleteItem(hwnd,tvi.hItem);
}
}
else if ((mtis->type == CONTACT) && hContact)
{
char msg[1024];
- mir_snprintf(msg, 1024, Translate("Are you sure you want to delete contact \"%s\"?"), module);
+ mir_snprintf(msg, SIZEOF(msg), Translate("Are you sure you want to delete contact \"%s\"?"), module);
if (DBGetContactSettingByte(NULL,"CList", "ConfirmDelete",1))
{
if (MessageBox(0,msg, Translate("Confirm Contact Delete"), MB_YESNO|MB_ICONEXCLAMATION) == IDNO)
@@ -144,7 +149,7 @@ LRESULT CALLBACK ModuleTreeSubclassProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM else if (wParam == VK_F3)
{
- CreateDialog(hInst,MAKEINTRESOURCE(IDD_FIND),hwnd,FindWindowDlgProc);
+ CreateDialog(hInst, MAKEINTRESOURCE(IDD_FIND), hwnd, FindWindowDlgProc);
break;
}
}
@@ -160,14 +165,14 @@ static LRESULT CALLBACK SettingListSubclassProc(HWND hwnd,UINT msg,WPARAM wParam switch(msg) {
case WM_CHAR:
if (GetKeyState(VK_CONTROL)&0x8000 && wParam == 6)
- CreateDialog(hInst,MAKEINTRESOURCE(IDD_FIND),hwnd,FindWindowDlgProc);
+ CreateDialog(hInst, MAKEINTRESOURCE(IDD_FIND), hwnd, FindWindowDlgProc);
break;
case WM_KEYDOWN:
if (wParam == VK_DELETE || wParam == VK_F5 || (wParam == VK_F2 && ListView_GetSelectedCount(hwnd) == 1))
{
char *module, setting[256];
HANDLE hContact;
- SettingListInfo* sli = (SettingListInfo*)GetWindowLong(hwnd,GWL_USERDATA);
+ SettingListInfo* sli = (SettingListInfo*)GetWindowLongPtr(hwnd,GWLP_USERDATA);
if (!sli) break;
hContact = sli->hContact;
module = sli->module;
@@ -177,9 +182,9 @@ static LRESULT CALLBACK SettingListSubclassProc(HWND hwnd,UINT msg,WPARAM wParam editSetting(hContact,module, setting);
else if (wParam == VK_F5)
{
- char *szModule = strdup(module); // need to do this, otheriwse the setlist stays empty
+ char *szModule = mir_tstrdup(module); // need to do this, otheriwse the setlist stays empty
PopulateSettings(hwnd,hContact,szModule);
- safe_free(szModule);
+ mir_free(szModule);
}
else if (wParam == VK_DELETE)
DeleteSettingsFromList(hwnd, hContact, module, setting);
@@ -187,7 +192,7 @@ static LRESULT CALLBACK SettingListSubclassProc(HWND hwnd,UINT msg,WPARAM wParam return 0;
}
else if (wParam == VK_F3)
- CreateDialog(hInst,MAKEINTRESOURCE(IDD_FIND),hwnd,FindWindowDlgProc);
+ CreateDialog(hInst, MAKEINTRESOURCE(IDD_FIND), hwnd, FindWindowDlgProc);
break;
default: break;
@@ -195,7 +200,7 @@ static LRESULT CALLBACK SettingListSubclassProc(HWND hwnd,UINT msg,WPARAM wParam return CallWindowProc(SettingListSubClass,hwnd,msg,wParam,lParam);
}
-BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
+INT_PTR CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
@@ -212,15 +217,15 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) else
SetWindowText(hwnd, Translate("Database Editor++ (ansi mode)"));
// setup the splitter
- SetWindowLong(GetDlgItem(hwnd,IDC_SPLITTER),GWL_USERDATA,(LPARAM)DBGetContactSettingWord(NULL, modname, "Splitter", 300));
+ SetWindowLongPtr(GetDlgItem(hwnd,IDC_SPLITTER),GWLP_USERDATA,(LPARAM)DBGetContactSettingWord(NULL, modname, "Splitter", 300));
SendMessage(hwnd, GC_SPLITTERMOVED, 0,0);
- SplitterSubClass=(WNDPROC)SetWindowLong(GetDlgItem(hwnd,IDC_SPLITTER),GWL_WNDPROC,(LONG)SplitterSubclassProc);
+ SplitterSubClass=(WNDPROC)SetWindowLongPtr(GetDlgItem(hwnd,IDC_SPLITTER),GWLP_WNDPROC,(LONG)SplitterSubclassProc);
// module tree
TreeView_SetUnicodeFormat(GetDlgItem(hwnd,IDC_MODULES), UOS);
- ModuleTreeSubClass=(WNDPROC)SetWindowLong(GetDlgItem(hwnd,IDC_MODULES),GWL_WNDPROC,(LONG)ModuleTreeSubclassProc);
+ ModuleTreeSubClass=(WNDPROC)SetWindowLongPtr(GetDlgItem(hwnd,IDC_MODULES),GWLP_WNDPROC,(LONG)ModuleTreeSubclassProc);
//setting list
setupSettingsList(GetDlgItem(hwnd,IDC_SETTINGS));
- SettingListSubClass=(WNDPROC)SetWindowLong(GetDlgItem(hwnd,IDC_SETTINGS),GWL_WNDPROC,(LONG)SettingListSubclassProc);
+ SettingListSubClass=(WNDPROC)SetWindowLongPtr(GetDlgItem(hwnd,IDC_SETTINGS),GWLP_WNDPROC,(LONG)SettingListSubclassProc);
// traslation stuff
TranslateDialogDefault(hwnd);
CallService(MS_LANGPACK_TRANSLATEMENU,(WPARAM)hMenu,0);
@@ -252,9 +257,9 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) CheckMenuItem(GetSubMenu(hMenu,5),MENU_WORD_HEX,MF_BYCOMMAND|((Hex & HEX_WORD)?MF_CHECKED:MF_UNCHECKED));
CheckMenuItem(GetSubMenu(hMenu,5),MENU_DWORD_HEX,MF_BYCOMMAND|((Hex & HEX_DWORD)?MF_CHECKED:MF_UNCHECKED));
- CheckMenuItem(GetSubMenu(GetMenu(hwnd),5),MENU_SAVE_POSITION,MF_BYCOMMAND|(DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",0)?MF_CHECKED:MF_UNCHECKED));
+ CheckMenuItem(GetSubMenu(GetMenu(hwnd),5),MENU_SAVE_POSITION,MF_BYCOMMAND|(DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",1)?MF_CHECKED:MF_UNCHECKED));
- Order = DBGetContactSettingByte(NULL,modname,"SortMode",0);
+ Order = DBGetContactSettingByte(NULL,modname,"SortMode",1);
CheckMenuItem(GetSubMenu(GetMenu(hwnd),5),MENU_SORT_ORDER,MF_BYCOMMAND|(Order?MF_CHECKED:MF_UNCHECKED));
@@ -330,7 +335,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) if (hRestore)
restore = 3;
else
- if (DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",0))
+ if (DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",1))
restore = 2;
else
restore = 0;
@@ -346,7 +351,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) RECT rc;
RECT rc2;
- int splitterPos = GetWindowLong(GetDlgItem(hwnd,IDC_SPLITTER),GWL_USERDATA);
+ int splitterPos = GetWindowLongPtr(GetDlgItem(hwnd,IDC_SPLITTER),GWLP_USERDATA);
GetWindowRect(hwnd,&rc2);
@@ -359,7 +364,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) splitterPos=rc.left+pt.x+1;
if (splitterPos<65) splitterPos=65;
if (splitterPos > rc2.right-rc2.left-65) splitterPos=rc2.right-rc2.left-65;
- SetWindowLong(GetDlgItem(hwnd,IDC_SPLITTER),GWL_USERDATA, splitterPos);
+ SetWindowLongPtr(GetDlgItem(hwnd,IDC_SPLITTER),GWLP_USERDATA, splitterPos);
DBWriteContactSettingWord(NULL, modname, "Splitter",(WORD)splitterPos);
}
PostMessage(hwnd,WM_SIZE,0,0);
@@ -368,7 +373,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) case WM_GETMINMAXINFO:
{
MINMAXINFO *mmi=(MINMAXINFO*)lParam;
- int splitterPos = GetWindowLong(GetDlgItem(hwnd,IDC_SPLITTER),GWL_USERDATA);
+ int splitterPos = GetWindowLongPtr(GetDlgItem(hwnd,IDC_SPLITTER),GWLP_USERDATA);
if(splitterPos+40 > 200)
mmi->ptMinTrackSize.x=splitterPos+65;
@@ -386,7 +391,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) urd.cbSize=sizeof(urd);
urd.hInstance=hInst;
urd.hwndDlg=hwnd;
- urd.lParam=(LPARAM)GetWindowLong(GetDlgItem(hwnd,IDC_SPLITTER),GWL_USERDATA);
+ urd.lParam=(LPARAM)GetWindowLongPtr(GetDlgItem(hwnd,IDC_SPLITTER),GWLP_USERDATA);
urd.lpTemplate=MAKEINTRESOURCE(IDD_MAIN);
urd.pfnResizer=DialogResize;
CallService(MS_UTILS_RESIZEDIALOG,0,(LPARAM)&urd);
@@ -404,7 +409,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) break;
case WM_DESTROY: // free our shit!
- if (DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",0))
+ if (DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",1))
{
HTREEITEM item;
HWND hwnd2Tree = GetDlgItem(hwnd,IDC_MODULES);
@@ -450,7 +455,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
char text[256];
- ListView_GetItemText(hwnd2Settings, pos, 0, text, sizeof(text));
+ ListView_GetItemText(hwnd2Settings, pos, 0, text, SIZEOF(text));
DBWriteContactSettingString(NULL,modname,"LastSetting",text);
}
@@ -469,9 +474,9 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) ImageList_Destroy(himl);
if (himl2)
ImageList_Destroy(himl2);
- SetWindowLong(GetDlgItem(hwnd,IDC_SETTINGS),GWL_WNDPROC,(LONG)SettingListSubClass);
- SetWindowLong(GetDlgItem(hwnd,IDC_MODULES),GWL_WNDPROC,(LONG)ModuleTreeSubClass);
- SetWindowLong(GetDlgItem(hwnd,IDC_SPLITTER),GWL_WNDPROC,(LONG)SplitterSubClass);
+ SetWindowLongPtr(GetDlgItem(hwnd,IDC_SETTINGS),GWLP_WNDPROC,(LONG)SettingListSubClass);
+ SetWindowLongPtr(GetDlgItem(hwnd,IDC_MODULES),GWLP_WNDPROC,(LONG)ModuleTreeSubClass);
+ SetWindowLongPtr(GetDlgItem(hwnd,IDC_SPLITTER),GWLP_WNDPROC,(LONG)SplitterSubClass);
if (!DBGetContactSettingByte(NULL,modname,"Maximised",0))
{
RECT rc;
@@ -521,7 +526,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) case MENU_VIEW_WATCHES:
{
if (!hwnd2watchedVarsWindow) // so only opens 1 at a time
- hwnd2watchedVarsWindow = CreateDialog(hInst,MAKEINTRESOURCE(IDD_WATCH_DIAG),0,WatchDlgProc);
+ hwnd2watchedVarsWindow = CreateDialog(hInst, MAKEINTRESOURCE(IDD_WATCH_DIAG), 0, WatchDlgProc);
else SetForegroundWindow(hwnd2watchedVarsWindow);
}
break;
@@ -538,10 +543,10 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) exportDB(NULL, 0);
break;
case MENU_IMPORTFROMFILE:
- ImportSettingsFromFileMenuItem(INVALID_HANDLE_VALUE);
+ ImportSettingsFromFileMenuItem(NULL, "");
break;
case MENU_IMPORTFROMTEXT:
- ImportSettingsMenuItem(INVALID_HANDLE_VALUE);
+ ImportSettingsMenuItem(NULL);
break;
case MENU_EXIT:
case IDCANCEL:
@@ -551,7 +556,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) deleteModuleGui();
break;
case MENU_FINDANDREPLACE:
- CreateDialog(hInst,MAKEINTRESOURCE(IDD_FIND),hwnd,FindWindowDlgProc);
+ CreateDialog(hInst, MAKEINTRESOURCE(IDD_FIND), hwnd, FindWindowDlgProc);
break;
case MENU_FILTER_ALL:
if (Mode != MODE_ALL)
@@ -606,7 +611,7 @@ BOOL CALLBACK MainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) break;
case MENU_SAVE_POSITION:
{
- BOOL save = !DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",0);
+ BOOL save = !DBGetContactSettingByte(NULL,modname,"RestoreOnOpen",1);
CheckMenuItem(GetSubMenu(GetMenu(hwnd),5),MENU_SAVE_POSITION,MF_BYCOMMAND|(save?MF_CHECKED:MF_UNCHECKED));
DBWriteContactSettingByte(NULL,modname,"RestoreOnOpen", (byte)save);
}
|