void CAboutDialog::OnCopy(wxCommandEvent& event) { wxString text = _T("FileZilla Client\n"); text += _T("----------------\n\n"); text += _T("Version: ") + CBuildInfo::GetVersion(); if (CBuildInfo::GetBuildType() == _T("nightly")) text += _T("-nightly"); text += '\n'; text += _T("\nBuild information:\n"); wxString host = CBuildInfo::GetHostname(); if (!host.empty()) text += _T(" Compiled for: ") + host + _T("\n"); wxString build = CBuildInfo::GetBuildSystem(); if (!build.empty()) text += _T(" Compiled on: ") + build + _T("\n"); text += _T(" Build date: ") + CBuildInfo::GetBuildDateString() + _T("\n"); text += _T(" Compiled with: ") + CBuildInfo::GetCompiler() + _T("\n"); wxString compilerFlags = CBuildInfo::GetCompilerFlags(); if (!compilerFlags.empty()) text += _T(" Compiler flags: ") + compilerFlags + _T("\n"); text += _T("\nLinked against:\n"); for (int i = 0; i < dependency::count; ++i) { text += wxString::Format(_T(" % -15s %s\n"), (GetDependencyName(dependency::type(i)) + _T(":")).c_str(), GetDependencyVersion(dependency::type(i)).c_str()); } text += _T("\nOperating system:\n"); wxString os = wxGetOsDescription(); if (!os.empty()) text += _T(" Name: ") + os + _T("\n"); int major, minor; if (wxGetOsVersion(&major, &minor) != wxOS_UNKNOWN) text += wxString::Format(_T(" Version: %d.%d\n"), major, minor); #if defined(__WXMSW__) if (::wxIsPlatform64Bit()) text += _T(" Platform: 64 bit system\n"); else text += _T(" Platform: 32 bit system\n"); #endif #ifdef __WXMSW__ text.Replace(_T("\n"), _T("\r\n")); #endif if (!wxTheClipboard->Open()) { wxMessageBox(_("Could not open clipboard"), _("Could not copy data"), wxICON_EXCLAMATION); return; } wxTheClipboard->SetData(new wxTextDataObject(text)); wxTheClipboard->Flush(); wxTheClipboard->Close(); }
void CAboutDialog::OnCopy(wxCommandEvent&) { wxString text = _T("FileZilla Client\n"); text += _T("----------------\n\n"); text += _T("Version: ") + CBuildInfo::GetVersion(); if (CBuildInfo::GetBuildType() == _T("nightly")) text += _T("-nightly"); text += '\n'; text += _T("\nBuild information:\n"); wxString host = CBuildInfo::GetHostname(); if (!host.empty()) text += _T(" Compiled for: ") + host + _T("\n"); wxString build = CBuildInfo::GetBuildSystem(); if (!build.empty()) text += _T(" Compiled on: ") + build + _T("\n"); text += _T(" Build date: ") + CBuildInfo::GetBuildDateString() + _T("\n"); text += _T(" Compiled with: ") + CBuildInfo::GetCompiler() + _T("\n"); wxString compilerFlags = CBuildInfo::GetCompilerFlags(); if (!compilerFlags.empty()) text += _T(" Compiler flags: ") + compilerFlags + _T("\n"); text += _T("\nLinked against:\n"); for (int i = 0; i < static_cast<int>(lib_dependency::count); ++i) { text += wxString::Format(_T(" % -15s %s\n"), GetDependencyName(lib_dependency(i)) + _T(":"), GetDependencyVersion(lib_dependency(i))); } text += _T("\nOperating system:\n"); wxString os = wxGetOsDescription(); if (!os.empty()) text += _T(" Name: ") + os + _T("\n"); int major, minor; if (GetRealOsVersion(major, minor)) { wxString version = wxString::Format(_T("%d.%d"), major, minor); int fakeMajor, fakeMinor; if (wxGetOsVersion(&fakeMajor, &fakeMinor) != wxOS_UNKNOWN && (fakeMajor != major || fakeMinor != minor)) { version += _T(" "); version += wxString::Format(_("(app-compat is set to %d.%d)"), fakeMajor, fakeMinor); } text += wxString::Format(_T(" Version: %s\n"), version); } #ifdef __WXMSW__ if (::wxIsPlatform64Bit()) text += _T(" Platform: 64-bit system\n"); else text += _T(" Platform: 32-bit system\n"); #endif wxString cpuCaps = CBuildInfo::GetCPUCaps(' '); if (!cpuCaps.empty()) { text += _T(" CPU features: ") + cpuCaps + _T("\n"); } text += _T(" Settings dir: ") + COptions::Get()->GetOption(OPTION_DEFAULT_SETTINGSDIR) + _T("\n"); #ifdef __WXMSW__ text.Replace(_T("\n"), _T("\r\n")); #endif if (!wxTheClipboard->Open()) { wxMessageBoxEx(_("Could not open clipboard"), _("Could not copy data"), wxICON_EXCLAMATION); return; } wxTheClipboard->SetData(new wxTextDataObject(text)); wxTheClipboard->Flush(); wxTheClipboard->Close(); }