Some more improvments

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1867 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2002-12-02 16:02:03 +00:00
parent 3e0bfbd21f
commit 78c25b042a

View file

@ -1170,9 +1170,8 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
ht++; ht++;
} }
SendMessage(hwndTree1,WM_VSCROLL,SB_TOP,0); SendMessage(hwndTree1,WM_VSCROLL,SB_TOP,0);
lParam = 0;
} }
else lParam = 1; lParam = 1;
uMsg = WM_IN_UPDATEMSG; uMsg = WM_IN_UPDATEMSG;
} }
} }
@ -1186,51 +1185,49 @@ static BOOL CALLBACK SelProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
} }
if (uMsg == WM_IN_UPDATEMSG) if (uMsg == WM_IN_UPDATEMSG)
{ {
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_COMPONENTPAGE)
{
ExecuteCodeSegment(g_inst_header->code_onSelChange,NULL);
}
#endif//NSIS_SUPPORT_CODECALLBACKS && NSIS_CONFIG_COMPONENTPAGE
if (!lParam) if (!lParam)
{ {
#if defined(NSIS_SUPPORT_CODECALLBACKS) && defined(NSIS_CONFIG_COMPONENTPAGE) int r,x;
// check to see which install type we are
for (r = 0; r < m_num_insttypes; r ++)
{ {
ExecuteCodeSegment(g_inst_header->code_onSelChange,NULL); HTREEITEM *ht=hTreeItems;
} section *t=g_inst_section;
#endif//NSIS_SUPPORT_CODECALLBACKS && NSIS_CONFIG_COMPONENTPAGE x=num_sections;
{ while (x--)
int r,x;
// check to see which install type we are
for (r = 0; r < m_num_insttypes; r ++)
{ {
HTREEITEM *ht=hTreeItems; if (t->name_ptr && !(t->flags&(SF_SUBSEC|SF_SUBSECEND)))
section *t=g_inst_section;
x=num_sections;
while (x--)
{ {
if (t->name_ptr && !(t->flags&(SF_SUBSEC|SF_SUBSECEND))) TV_ITEM hItem;
hItem.hItem=*ht;
if (g_inst_header->no_custom_instmode_flag==1)
{ {
TV_ITEM hItem; CheckTreeItem(hwndTree1,&hItem,(t->install_types>>m_whichcfg)&1);
hItem.hItem=*ht; }
if (g_inst_header->no_custom_instmode_flag==1) else if (!(t->flags&SF_RO))
{ {
CheckTreeItem(hwndTree1,&hItem,(t->install_types>>m_whichcfg)&1); hItem.mask=TVIF_STATE;
} TreeView_GetItem(hwndTree1,&hItem);
else if (!(t->flags&SF_RO)) if (!(t->install_types&(1<<r)) != !((hItem.state>>12)>1 )) break;
{
hItem.mask=TVIF_STATE;
TreeView_GetItem(hwndTree1,&hItem);
if (!(t->install_types&(1<<r)) != !((hItem.state>>12)>1 )) break;
}
} }
t++;
ht++;
} }
if (x < 0) break; t++;
ht++;
} }
if (x < 0) break;
}
if (!g_inst_header->no_custom_instmode_flag) if (!g_inst_header->no_custom_instmode_flag)
{ {
SendMessage(hwndCombo1,CB_SETCURSEL,r,0); SendMessage(hwndCombo1,CB_SETCURSEL,r,0);
m_whichcfg=r; m_whichcfg=r;
} }
} // end of typecheckshit } // end of typecheckshit
}
if (g_inst_header->no_custom_instmode_flag==2) if (g_inst_header->no_custom_instmode_flag==2)
{ {