From a55a55d43d949b2b33aa0337aa2695d838e6a875 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sat, 24 Oct 2009 16:48:37 +0200 Subject: Show only networking plugins where appropriate Also rename VFSGetExts and VFSGetServices functions --- UConnectionManager.pas | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'UConnectionManager.pas') diff --git a/UConnectionManager.pas b/UConnectionManager.pas index 1744dbc..72574b5 100644 --- a/UConnectionManager.pas +++ b/UConnectionManager.pas @@ -335,7 +335,8 @@ begin ConnMgrItem.Password := PasswordEntry.Text; ConnMgrItem.TargetDir := TargetDirEntry.Text; ConnMgrItem.PluginID := ''; - if PluginOptionMenu.ItemIndex <> 0 then ConnMgrItem.PluginID := TVFSPlugin(PluginList[PluginOptionMenu.ItemIndex - 1]).ModuleID; + if (PluginOptionMenu.ItemIndex <> 0) and (PluginOptionMenu.Items[PluginOptionMenu.ItemIndex].Data <> nil) then + ConnMgrItem.PluginID := TVFSPlugin(PluginOptionMenu.Items[PluginOptionMenu.ItemIndex].Data).ModuleID; end; ConnectionMgrList.Add(ConnMgrItem); Item := ListView.Items.Add; @@ -366,9 +367,9 @@ begin FConnectionProperties.URIEntry.Text := ConstructURI(True, False, ConnMgrItem.ServiceType, ConnMgrItem.Server, ConnMgrItem.Username, ConnMgrItem.Password, ConnMgrItem.TargetDir); FConnectionProperties.ServiceTypeOptionMenuChanged(Sender); // Find the plugin by PluginID - for i := 0 to PluginList.Count - 1 do - if TVFSPlugin(PluginList[i]).ModuleID = ConnMgrItem.PluginID then begin - FConnectionProperties.PluginOptionMenu.ItemIndex := i + 1; + for i := 0 to FConnectionProperties.PluginOptionMenu.Items.Count - 1 do + if (FConnectionProperties.PluginOptionMenu.Items[i].Data <> nil) and (TVFSPlugin(FConnectionProperties.PluginOptionMenu.Items[i].Data).ModuleID = ConnMgrItem.PluginID) then begin + FConnectionProperties.PluginOptionMenu.ItemIndex := i; Break; end; @@ -381,7 +382,8 @@ begin ConnMgrItem.Password := PasswordEntry.Text; ConnMgrItem.TargetDir := TargetDirEntry.Text; ConnMgrItem.PluginID := ''; - if PluginOptionMenu.ItemIndex <> 0 then ConnMgrItem.PluginID := TVFSPlugin(PluginList[PluginOptionMenu.ItemIndex - 1]).ModuleID; + if (PluginOptionMenu.ItemIndex <> 0) and (PluginOptionMenu.Items[PluginOptionMenu.ItemIndex].Data <> nil) then + ConnMgrItem.PluginID := TVFSPlugin(PluginOptionMenu.Items[PluginOptionMenu.ItemIndex].Data).ModuleID; end; Item.SetValue(1, ConnMgrItem.ConnectionName); Item.SetValue(2, FConnectionProperties.MakeURI(True)); @@ -407,9 +409,9 @@ begin FConnectionProperties.URIEntry.Text := ConstructURI(True, False, ConnMgrItem.ServiceType, ConnMgrItem.Server, ConnMgrItem.Username, ConnMgrItem.Password, ConnMgrItem.TargetDir); FConnectionProperties.ServiceTypeOptionMenuChanged(Sender); // Find the plugin by PluginID - for i := 0 to PluginList.Count - 1 do - if TVFSPlugin(PluginList[i]).ModuleID = ConnMgrItem.PluginID then begin - FConnectionProperties.PluginOptionMenu.ItemIndex := i + 1; + for i := 0 to FConnectionProperties.PluginOptionMenu.Items.Count - 1 do + if (FConnectionProperties.PluginOptionMenu.Items[i].Data <> nil) and (TVFSPlugin(FConnectionProperties.PluginOptionMenu.Items[i].Data).ModuleID = ConnMgrItem.PluginID) then begin + FConnectionProperties.PluginOptionMenu.ItemIndex := i; Break; end; @@ -423,7 +425,8 @@ begin ConnMgrItem.Password := PasswordEntry.Text; ConnMgrItem.TargetDir := TargetDirEntry.Text; ConnMgrItem.PluginID := ''; - if PluginOptionMenu.ItemIndex <> 0 then ConnMgrItem.PluginID := TVFSPlugin(PluginList[PluginOptionMenu.ItemIndex - 1]).ModuleID; + if (PluginOptionMenu.ItemIndex <> 0) and (PluginOptionMenu.Items[PluginOptionMenu.ItemIndex].Data <> nil) then + ConnMgrItem.PluginID := TVFSPlugin(PluginOptionMenu.Items[PluginOptionMenu.ItemIndex].Data).ModuleID; end; ConnectionMgrList.Add(ConnMgrItem); Item := ListView.Items.Add; -- cgit v1.2.3