/*********************************************************************** * * NOTEPAD_MenuCommand * * All handling of main menu events */ static int NOTEPAD_MenuCommand(WPARAM wParam) { switch (wParam) { case CMD_NEW: DIALOG_FileNew(); break; case CMD_OPEN: DIALOG_FileOpen(); break; case CMD_SAVE: DIALOG_FileSave(); break; case CMD_SAVE_AS: DIALOG_FileSaveAs(); break; case CMD_PRINT: DIALOG_FilePrint(); break; case CMD_PAGE_SETUP: DIALOG_FilePageSetup(); break; case CMD_EXIT: DIALOG_FileExit(); break; case CMD_UNDO: DIALOG_EditUndo(); break; case CMD_CUT: DIALOG_EditCut(); break; case CMD_COPY: DIALOG_EditCopy(); break; case CMD_PASTE: DIALOG_EditPaste(); break; case CMD_DELETE: DIALOG_EditDelete(); break; case CMD_SELECT_ALL: DIALOG_EditSelectAll(); break; case CMD_TIME_DATE: DIALOG_EditTimeDate(); break; case CMD_SEARCH: DIALOG_Search(); break; case CMD_SEARCH_NEXT: DIALOG_SearchNext(); break; case CMD_REPLACE: DIALOG_Replace(); break; case CMD_GOTO: DIALOG_GoTo(); break; case CMD_WRAP: DIALOG_EditWrap(); break; case CMD_FONT: DIALOG_SelectFont(); break; case CMD_STATUSBAR: DIALOG_ViewStatusBar(); break; case CMD_HELP_CONTENTS: DIALOG_HelpContents(); break; case CMD_HELP_SEARCH: DIALOG_HelpSearch(); break; case CMD_HELP_ON_HELP: DIALOG_HelpHelp(); break; case CMD_ABOUT: DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_ABOUTBOX), Globals.hMainWnd, AboutDialogProc); break; case CMD_ABOUT_WINE: DIALOG_HelpAboutWine(); break; default: break; } return 0; }
static void HandleCommandLine(LPTSTR cmdline) { int opt_print=0; while (*cmdline == _T(' ') || *cmdline == _T('-') || *cmdline == _T('/')) { TCHAR option; if (*cmdline++ == _T(' ')) continue; option = *cmdline; if (option) cmdline++; while (*cmdline == _T(' ')) cmdline++; switch(option) { case 'p': case 'P': opt_print=1; break; } } if (*cmdline) { /* file name is passed in the command line */ LPCTSTR file_name = NULL; BOOL file_exists = FALSE; TCHAR buf[MAX_PATH]; if (cmdline[0] == _T('"')) { cmdline++; cmdline[lstrlen(cmdline) - 1] = 0; } file_name = cmdline; if (FileExists(file_name)) { file_exists = TRUE; } else if (!HasFileExtension(cmdline)) { static const TCHAR txt[] = _T(".txt"); /* try to find file with ".txt" extension */ if (!_tcscmp(txt, cmdline + _tcslen(cmdline) - _tcslen(txt))) { file_exists = FALSE; } else { _tcsncpy(buf, cmdline, MAX_PATH - _tcslen(txt) - 1); _tcscat(buf, txt); file_name = buf; file_exists = FileExists(file_name); } } if (file_exists) { DoOpenFile(file_name); InvalidateRect(Globals.hMainWnd, NULL, FALSE); if (opt_print) DIALOG_FilePrint(); } else { switch (AlertFileDoesNotExist(file_name)) { case IDYES: DoOpenFile(file_name); break; case IDNO: break; } } } }