Patch level : 10.0

Files correlati     : xvaga.dll
Ricompilazione Demo : [ ]
Commento            :
Corretta gestione icona standard in base ad OEM
Ridotte dimensioni del pannello centrale della status bar


git-svn-id: svn://10.65.10.50/trunk@18047 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-01-19 17:48:57 +00:00
parent d6f0c029e0
commit 9da48e0d59
2 changed files with 48 additions and 31 deletions

View File

@ -217,29 +217,17 @@ static bool RectIntersect(const wxRect &rect1, const wxRect &rect2)
}
wxString GetResourceIni()
{
wxString strName;
strName = _startup_dir;
strName += "/res/resource.ini";
return strName;
}
{ return _startup_dir + "/res/resource.ini"; }
wxString _GetResourceName(const char* type, int rid)
{
wxString strName(type); strName << "s";
wxString strKey; strKey.Printf("%d", rid);
wxString val;
#ifdef WIN32
char* buff = val.GetWriteBuf(260);
::GetPrivateProfileString(strName, strKey, "", buff, 260, GetResourceIni());
wxString val;
char* buff = val.GetWriteBuf(MAX_PATH);
xvt_sys_get_profile_string(GetResourceIni(), strName, strKey, "", buff, MAX_PATH);
val.UngetWriteBuf();
#else
wxFileConfig ini("", "", GetResourceIni());
strName.insert(0, '/');
ini.SetPath(strName);
ini.Read(strKey, &val);
#endif
if (!val.IsEmpty())
{
@ -258,25 +246,54 @@ wxString _GetResourceName(const char* type, int rid)
return strName;
}
static wxIcon* _GetDefaultIcon()
{
wxIcon* icon = NULL;
wxString strName = _startup_dir + "/setup/oem.ini";
const int oem = xvt_sys_get_profile_int(strName, "MAIN", "OEM", -1);
if (oem >= 0)
{
wxString strPara; strPara << "OEM_" << oem;
char name[MAX_PATH];
xvt_sys_get_profile_string(strName, strPara, "Icon", "", name, sizeof(name));
if (*name)
{
strName = _startup_dir + "/setup/" + name;
if (wxFileExists(strName))
icon = new wxIcon(strName, wxBITMAP_TYPE_ICO);
}
}
if (icon == NULL)
{
strName = _GetResourceName("Icon", ICON_RSRC);
if (::wxFileExists(strName))
icon = new wxIcon(strName, wxBITMAP_TYPE_ICO);
}
if (icon == NULL)
{
strName.Printf("%d", ICON_RSRC);
icon = new wxIcon(strName, wxBITMAP_TYPE_ICO_RESOURCE);
}
return icon;
}
const wxIcon& _GetIconResource(int rid)
{
wxIcon* icon = wxDynamicCast(_nice_icons.Get(rid), wxIcon);
if (icon == NULL)
{
wxString strName = _GetResourceName("Icon", rid);
if (::wxFileExists(strName))
{
icon = new wxIcon(strName, wxBITMAP_TYPE_ICO);
}
else
if (rid > 0 && rid != ICON_RSRC)
{
icon = wxDynamicCast(_nice_icons.Get(ICON_RSRC), wxIcon);
if (icon == NULL)
{
strName.Printf("%d", ICON_RSRC);
icon = new wxIcon(strName); // Icona di salvezza
}
const wxString strName = _GetResourceName("Icon", rid);
if (::wxFileExists(strName))
icon = new wxIcon(strName, wxBITMAP_TYPE_ICO);
}
if (icon == NULL)
icon = _GetDefaultIcon(); // Icona di salvezza
_nice_icons.Put(rid, icon);
}
return *icon;
@ -4666,7 +4683,7 @@ WINDOW statbar_create(int cid, int left, int top, int right, int bottom,
pStatusBar = w->CreateStatusBar(3, nStyle);
if (pStatusBar != NULL)
{
const int widths[4] = { -4, -5, -2, 0 };
const int widths[4] = { -4, -2, -2, 0 };
pStatusBar->SetStatusWidths(3, widths);
}
}

View File

@ -1143,8 +1143,8 @@ const char* xvt_fsys_get_campo_ini()
#endif
if (!xvt_fsys_file_exists(path))
{
char msg[256];
sprintf(msg, "Impossibile aprire '%s'", (const char *)path);
char msg[_MAX_PATH];
sprintf(msg, "Impossibile aprire '%s'", path);
xvt_dm_post_fatal_exit(msg);
}
prawin = xvt_str_duplicate(path);