QString DMainWindow::RequestBootFilename() { // If a game is already selected, just return the filename if (m_game_tracker->SelectedGame() != nullptr) return m_game_tracker->SelectedGame()->GetFileName(); return ShowFileDialog(); }
// 'Main program' equivalent: the program execution "starts" here bool CocoaDialogApp::OnInit() { if (utf8_args.GetCount() < 2) return OptionError(); m_parentWnd = NULL; // This code is currently disabled, as it will end up // setting focus to a random window if parentwnd is busy. // http://blogs.msdn.com/oldnewthing/archive/2004/02/27/81155.aspx #ifdef __WXMSW__ // Use currently active window as parent HWND wnd = ::GetForegroundWindow(); if (wnd) { m_parentWnd = new wxWindow(); m_parentWnd->AssociateHandle(wnd); } #endif //__WXMSW__ // Parse the options const wxString runmode(utf8_args[1]); m_optionDict.SetRunmode(runmode); if (!m_optionDict.ParseArgs(utf8_args)) return OptionError(); // m_optionDict.Print(); //Initilizing image handlers //wxImage::AddHandler(new wxBMPHandler); wxImage::AddHandler(new wxPNGHandler); wxImage::AddHandler(new wxJPEGHandler); wxImage::AddHandler(new wxGIFHandler); wxImage::AddHandler(new wxICOHandler); // Show the Dialog if (runmode == wxT("inputbox")) { // Verify mandatory options if (!m_optionDict.HasOption(wxT("button1"))) return OptionError(wxT("At least one button has to be defined")); InputBox* inputBox = new InputBox(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); SetTopWindow(inputBox); } else if (runmode == wxT("secure-inputbox")) { // Verify mandatory options if (!m_optionDict.HasOption(wxT("button1"))) return OptionError(wxT("At least one button has to be defined")); m_optionDict.SetOption(wxT("no-show")); new InputBox(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("standard-inputbox")) { m_optionDict.SetOption(wxT("button1"), wxT("Ok")); if (!m_optionDict.HasOption(wxT("no-cancel"))) m_optionDict.SetOption(wxT("button2"), wxT("Cancel")); new InputBox(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("secure-standard-inputbox")) { m_optionDict.SetOption(wxT("button1"), wxT("Ok")); if (!m_optionDict.HasOption(wxT("no-cancel"))) m_optionDict.SetOption(wxT("button2"), wxT("Cancel")); m_optionDict.SetOption(wxT("no-show")); new InputBox(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("progressbar")) { new ProgressBar(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("dropdown")) { // Verify mandatory options if (!m_optionDict.HasOption(wxT("button1"))) return OptionError(wxT("At least one button has to be defined.")); if (!m_optionDict.HasMultiOption(wxT("items"))) return OptionError(wxT("Need to define items for dropdown box.")); new DropdownBox(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("standard-dropdown")) { m_optionDict.SetOption(wxT("button1"), wxT("Ok")); m_optionDict.SetOption(wxT("button2"), wxT("Cancel")); // Verify mandatory options if (!m_optionDict.HasMultiOption(wxT("items"))) return OptionError(wxT("Need to define items for dropdown box.")); new DropdownBox(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("msgbox")) { if (m_optionDict.HasOption(wxT("help"))) return OptionHelp(wxT("msgbox")); // Verify mandatory options if (!m_optionDict.HasOption(wxT("button1"))) return OptionError(wxT("At least one button has to be defined")); new MessageDialog(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("ok-msgbox")) { if (m_optionDict.HasOption(wxT("help"))) return OptionHelp(wxT("ok-msgbox")); m_optionDict.SetOption(wxT("button1"), wxT("Ok")); if (!m_optionDict.HasOption(wxT("no-cancel"))) m_optionDict.SetOption(wxT("button2"), wxT("Cancel")); new MessageDialog(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("yesno-msgbox")) { if (m_optionDict.HasOption(wxT("help"))) return OptionHelp(wxT("yesno-msgbox")); m_optionDict.SetOption(wxT("button1"), wxT("Yes")); m_optionDict.SetOption(wxT("button2"), wxT("No")); new MessageDialog(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("textbox")) { if (m_optionDict.HasOption(wxT("help"))) return OptionHelp(wxT("textbox")); // Verify mandatory options if (!m_optionDict.HasOption(wxT("button1"))) return OptionError(wxT("At least one button has to be defined")); new InputBox(m_parentWnd, m_optionDict, m_optionDict.HasOption(wxT("float"))); } else if (runmode == wxT("fileselect") || runmode == wxT("filesave")) { ShowFileDialog(); return false; // end program } else if (runmode == wxT("colourselect") || runmode == wxT("colorselect")) { ShowColourDialog(); return false; // end program } else if (runmode == wxT("menu")) { ShowPopupMenu(); return false; // end program } #ifdef FEAT_BROWSER else if (runmode == wxT("html")) { new HtmlDialog(m_parentWnd, m_optionDict); } #endif else return OptionError(wxT("Unknown runmode.")); wxLogDebug(wxT("wxCD done")); return true; }
void DMainWindow::OnOpen() { QString filename = ShowFileDialog(); if (!filename.isNull()) StartGame(filename); }
void CPDetectorDialog::OnSelectPathStack(wxCommandEvent &e) { wxString prog=m_edit_prog_stack->GetValue(); if (ShowFileDialog(prog)) m_edit_prog_stack->SetValue(prog); };
void CPDetectorDialog::OnSelectPathDescriptor(wxCommandEvent &e) { wxString prog=m_edit_prog_descriptor->GetValue(); if (ShowFileDialog(prog)) m_edit_prog_descriptor->SetValue(prog); };
BOOL CSharedDirsTreeCtrl::OnCommand(WPARAM wParam, LPARAM lParam) { CTypedPtrList<CPtrList, CKnownFile*> selectedList; int iSelectedItems = m_pSharedFilesCtrl->GetItemCount(); for (int i = 0; i < iSelectedItems; i++) { selectedList.AddTail((CKnownFile*)m_pSharedFilesCtrl->GetItemData(i)); } CDirectoryItem* pSelectedDir = GetSelectedFilter(); // folder based if (pSelectedDir != NULL){ switch (wParam){ case MP_OPENFOLDER: if (pSelectedDir && pSelectedDir->m_eItemType == SDI_NO){ ShellExecute(NULL, _T("open"), pSelectedDir->m_strFullPath, NULL, NULL, SW_SHOW); } break; case MP_SHAREDIR: EditSharedDirectories(pSelectedDir, true, false); break; case MP_SHAREDIRSUB: EditSharedDirectories(pSelectedDir, true, true); break; case MP_UNSHAREDIR: EditSharedDirectories(pSelectedDir, false, false); break; case MP_UNSHAREDIRSUB: EditSharedDirectories(pSelectedDir, false, true); break; } } // file based if (selectedList.GetCount() > 0 && pSelectedDir != NULL) { CKnownFile* file = NULL; if (selectedList.GetCount() == 1) file = selectedList.GetHead(); switch (wParam){ case MP_GETED2KLINK:{ CString str; POSITION pos = selectedList.GetHeadPosition(); while (pos != NULL) { file = selectedList.GetNext(pos); if (!str.IsEmpty()) str += _T("\r\n"); str += CreateED2kLink(file); } theApp.CopyTextToClipboard(str); break; } // file operations case MP_REMOVE: case MPG_DELETE:{ if (IDNO == AfxMessageBox(GetResString(IDS_CONFIRM_FILEDELETE),MB_ICONWARNING | MB_ICONQUESTION | MB_DEFBUTTON2 | MB_YESNO)) return TRUE; m_pSharedFilesCtrl->SetRedraw(FALSE); bool bRemovedItems = false; while (!selectedList.IsEmpty()) { CKnownFile* myfile = selectedList.RemoveHead(); if (!myfile || myfile->IsPartFile()) continue; BOOL delsucc = FALSE; if (!PathFileExists(myfile->GetFilePath())) delsucc = TRUE; else{ // Delete if (!thePrefs.GetRemoveToBin()){ delsucc = DeleteFile(myfile->GetFilePath()); } else{ // delete to recycle bin :( TCHAR todel[MAX_PATH+1]; memset(todel, 0, sizeof todel); _tcsncpy(todel, myfile->GetFilePath(), ARRSIZE(todel)-2); SHFILEOPSTRUCT fp = {0}; fp.wFunc = FO_DELETE; fp.hwnd = theApp.emuledlg->m_hWnd; fp.pFrom = todel; fp.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION | FOF_SILENT;// | FOF_NOERRORUI delsucc = (SHFileOperation(&fp) == 0); } } if (delsucc){ theApp.sharedfiles->RemoveFile(myfile); bRemovedItems = true; if (myfile->IsKindOf(RUNTIME_CLASS(CPartFile))) theApp.emuledlg->transferwnd->downloadlistctrl.ClearCompleted(static_cast<CPartFile*>(myfile)); } else{ CString strError; strError.Format( GetResString(IDS_ERR_DELFILE) + _T("\r\n\r\n%s"), myfile->GetFilePath(), GetErrorMessage(GetLastError())); AfxMessageBox(strError); } } m_pSharedFilesCtrl->SetRedraw(TRUE); if (bRemovedItems) m_pSharedFilesCtrl->AutoSelectItem(); break; } case MP_CMT: ShowFileDialog(selectedList, IDD_COMMENT); break; case MPG_ALTENTER: case MP_DETAIL: ShowFileDialog(selectedList); break; case MP_SHOWED2KLINK: ShowFileDialog(selectedList, IDD_ED2KLINK); break; case MP_PRIOVERYLOW: case MP_PRIOLOW: case MP_PRIONORMAL: case MP_PRIOHIGH: case MP_PRIOVERYHIGH: case MP_PRIOAUTO: { POSITION pos = selectedList.GetHeadPosition(); while (pos != NULL) { CKnownFile* file = selectedList.GetNext(pos); switch (wParam) { case MP_PRIOVERYLOW: file->SetAutoUpPriority(false); file->SetUpPriority(PR_VERYLOW); m_pSharedFilesCtrl->UpdateFile(file); break; case MP_PRIOLOW: file->SetAutoUpPriority(false); file->SetUpPriority(PR_LOW); m_pSharedFilesCtrl->UpdateFile(file); break; case MP_PRIONORMAL: file->SetAutoUpPriority(false); file->SetUpPriority(PR_NORMAL); m_pSharedFilesCtrl->UpdateFile(file); break; case MP_PRIOHIGH: file->SetAutoUpPriority(false); file->SetUpPriority(PR_HIGH); m_pSharedFilesCtrl->UpdateFile(file); break; case MP_PRIOVERYHIGH: file->SetAutoUpPriority(false); file->SetUpPriority(PR_VERYHIGH); m_pSharedFilesCtrl->UpdateFile(file); break; case MP_PRIOAUTO: file->SetAutoUpPriority(true); file->UpdateAutoUpPriority(); m_pSharedFilesCtrl->UpdateFile(file); break; } } break; } default: if (wParam>=MP_WEBURL && wParam<=MP_WEBURL+256){ theWebServices.RunURL(file, wParam); } break; } } return TRUE; }