1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #include "main.h"
- extern void AccessingGracenoteHack(int);
- extern HWND subWnd;
- // TODO: benski> a lot of things don't need to be part of gen_ml window - they could easily be done with a hidden window
- LRESULT APIENTRY ml_newWndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- switch (uMsg)
- {
- case WM_USER+641:
- {
- AccessingGracenoteHack(wParam);
- break;
- }
- case WM_ML_IPC:
- {
- INT_PTR ret = HandleIpcMessage((INT_PTR)lParam, (INT_PTR)wParam);
- if (ret != 0)
- {
- SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, ret);
- return ret; // supposed to return TRUE but thus is not working for me :(
- }
- }
- break;
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case IDM_DOSHITMENU_ADDNEWVIEW:
- addNewQuery(hwndDlg);
- return 0;
- case IDM_ADD_PLEDIT:
- add_pledit_to_library();
- return 0;
- case IDM_ADD_DIRS:
- add_to_library(hwndDlg);
- return 0;
- case IDM_REMOVE_UNUSED_FILES:
- Scan_RemoveFiles(hwndDlg);
- if (m_curview_hwnd) SendMessage(m_curview_hwnd, WM_APP + 1, 0, 0); //update current view
- return 0;
- case IDM_RESCANFOLDERSNOW:
- if (!g_bgscan_scanning) SendMessage(hwndDlg, WM_USER + 575, 0xffff00dd, 0);
- return 0;
- }
- break;
- case WM_USER + 575: //sent by prefs to start scanning
- if (wParam == 0xffff00dd && !lParam)
- {
- if (!g_bgscan_scanning)
- {
- Scan_BackgroundScan();
- }
- }
- break;
- case WM_TIMER:
- {
- static int in_timer;
- if (in_timer) return 0;
- in_timer = 1;
- if (wParam == 200) // decide if it is time to scan yet
- {
- if (!g_bgscan_scanning)
- {
- if (g_bgrescan_force || (g_bgrescan_do && (time(NULL) - g_bgscan_last_rescan) > g_bgrescan_int*60))
- {
- // send to the prefs page so it'll show the status if it's open
- // (makes it easier to see if things are working with the rescan every x option)
- if (IsWindow(subWnd)) SendMessage(subWnd, WM_USER+101, 0, 0);
- Scan_BackgroundScan();
- }
- }
- in_timer = 0;
- return 0;
- }
- in_timer = 0;
- }
- break;
- }
- return CallWindowProc(ml_oldWndProc, hwndDlg, uMsg, wParam, lParam);
- }
|