36 #include "pano13/queryfeature.h"
38 #if !(defined HAVE_STD_FILESYSTEM)
39 #include "boost/version.hpp"
45 #include <exiv2/exiv2.hpp>
49 #include "vigra/config.hxx"
50 #include "hugin_config.h"
53 EVT_NOTEBOOK_PAGE_CHANGED(XRCID("about_notebook"),
AboutDialog::OnChangedTab)
65 wxXmlResource::Get()->LoadDialog(
this, parent, wxT(
"about_dlg"));
69 #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE
71 strFile = MacGetPathToBundledResourceFile(CFSTR(
"about.htm"));
72 if(strFile!=wxT(
"")) XRCCTRL(*
this,
"about_html",wxHtmlWindow)->LoadPage(strFile);
76 DEBUG_INFO(
"Lang Code: " << langCode.mb_str(wxConvLocal));
77 if(langCode != wxString(wxT(
"en")))
80 if(wxFile::Exists(strFile))
82 DEBUG_TRACE(
"Using About: " << strFile.mb_str(wxConvLocal));
83 XRCCTRL(*
this,
"about_html",wxHtmlWindow)->LoadPage(strFile);
94 wxFont font(10, wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
96 wxFont font(8, wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
100 textCtrl = XRCCTRL(*
this,
"license_txt", wxTextCtrl);
103 textCtrl->SetFont(font);
105 textCtrl->LoadFile(strFile);
108 textCtrl = XRCCTRL(*
this,
"upstream_txt", wxTextCtrl);
111 textCtrl->SetFont(font);
113 textCtrl->LoadFile(strFile);
114 GetSystemInformation(&font);
117 m_about_notebook = XRCCTRL(*
this,
"about_notebook", wxNotebook);
119 m_logoImgCtrl = XRCCTRL(*
this,
"about_logo", wxStaticBitmap);
123 wxIconBundle myIcons(
huginApp::Get()->GetXRCPath() + wxT(
"data/hugin.ico"),wxBITMAP_TYPE_ICO);
126 wxIcon myIcon(
huginApp::Get()->GetXRCPath() + wxT(
"data/hugin.png"),wxBITMAP_TYPE_PNG);
132 #if wxCHECK_VERSION(3,1,0)
133 SetSize(this->FromDIP(wxSize(560, 560)));
135 SetSize(1, 1, 560, 560);
142 wxTextCtrl* infoText=XRCCTRL(*
this,
"system_txt",wxTextCtrl);
144 infoText->SetFont(*font);
147 text=wxString::Format(_(
"Operating System: %s"),wxGetOsDescription().c_str());
149 if(wxIsPlatform64Bit())
153 text=text+wxT(
"\n")+wxString::Format(_(
"Architecture: %s"),is64.c_str());
156 text=text+wxT(
"\n")+wxString::Format(_(
"Free memory: %lld kiB"), wxGetFreeMemory().GetValue()/1024ll);
159 text=text+wxT(
"\n")+wxString::Format(_(
"Active Codepage: %u"),cp);
163 text=text+wxT(
" (Central European Windows)");
166 text=text+wxT(
" (Cyrillic Windows)");
169 text=text+wxT(
" (Western European Windows)");
172 text=text+wxT(
" (Greek Windows)");
175 text=text+wxT(
" (Turkish Windows)");
178 text=text+wxT(
" (Hebrew Windows)");
181 text=text+wxT(
" (Arabic Windows)");
184 text=text+wxT(
" (Baltic Windows)");
187 text=text+wxT(
" (Vietnamese Windows)");
191 text = text + wxT(
"\n\nHugin\n") + wxString::Format(_(
"Version: %s"), wxString(
hugin_utils::GetHuginVersion().c_str(), wxConvLocal).c_str());
192 text=text+wxT(
"\n")+wxString::Format(_(
"Path to resources: %s"),
huginApp::Get()->GetXRCPath().c_str());
195 text = text + wxT(
"\n") + wxString::Format(_(
"Hugins camera and lens database: %s"), wxString(lensDB.
GetDBFilename().c_str(), wxConvLocal).c_str());
196 text = text + wxT(
"\n") + _(
"Multi-threading using C++11 std::thread and OpenMP");
199 text = text + wxT(
"\n") + wxString::Format(_(
"Monitor profile: %s"),
huginApp::Get()->GetMonitorProfileName().c_str());
201 text=text+wxT(
"\n\n")+_(
"Libraries");
202 wxVersionInfo
info = wxGetLibraryVersionInfo();
203 text = text + wxT(
"\nwxWidgets: ") + info.GetVersionString();
204 if(info.HasDescription())
206 text=text+wxT(
"\n")+info.GetDescription();
209 char panoVersion[255];
210 if (queryFeatureString(PTVERSION_NAME_FILEVERSION, panoVersion,
sizeof(panoVersion) /
sizeof(panoVersion[0])))
212 text = text + wxT(
"\nlibpano13: ") + wxString(panoVersion, wxConvLocal);
215 #if !(defined HAVE_STD_FILESYSTEM)
216 text=text+wxT(
"\n")+wxString::Format(wxT(
"Boost: %i.%i.%i"),BOOST_VERSION / 100000, BOOST_VERSION / 100 % 1000, BOOST_VERSION % 100);
218 text = text + wxT(
"\n") + wxT(
"Exiv2: ") + wxString(Exiv2::versionString().c_str(), wxConvLocal);
219 text = text + wxT(
"\n") + wxT(
"SQLite3: ") + wxString(sqlite3_libversion(), wxConvLocal);
220 text = text + wxT(
"\n") + wxString::Format(wxT(
"Vigra: %s"), wxString(VIGRA_VERSION, wxConvLocal).c_str());
221 text = text + wxT(
"\n") + wxString::Format(wxT(
"LittleCMS2: %i.%i"), LCMS_VERSION / 1000, LCMS_VERSION / 10 % 100);
222 infoText->SetValue(text);
266 wxT(
"data/") + newLogoFile,
wxString GetDataPath()
return path to data directory, it depends on operating system
static LensDB & GetSingleton()
returns the static LensDB instance
void SetMode(int newMode)
function to switch the logo image based on selected tab
include file for the hugin project
void OnChangedTab(wxNotebookEvent &e)
event handler for changing tab
std::string GetDBFilename() const
returns the filename of the lens database
static huginApp * Get()
hack.. kind of a pseudo singleton...
class to access Hugins camera and lens database
Definition of dialog for numeric transforms.
std::string GetHuginVersion()
return a string with version numbers
static void info(const char *fmt,...)
wxLocale & GetLocale()
return currently active locale
void SetLogo(wxString newLogoFile)
function to set the log image
const wxString & GetXRCPath()
return the current xrc path
void GetSystemInformation(wxFont *font)
retrieves the system information
wxStaticBitmap * m_logoImgCtrl