internal void View_ChangedServerEvent() { String input = View.Hostname; if (Scheme.isURL(input)) { try { Host parsed = HostParser.parse(input); _host.setHostname(parsed.getHostname()); _host.setProtocol(parsed.getProtocol()); _host.setPort(parsed.getPort()); _host.setDefaultPath(parsed.getDefaultPath()); } catch (HostParserException e) { Log.warn(e.getDetail()); } } else { _host.setHostname(input); _host.setCredentials(CredentialsConfiguratorFactory.get(_host.getProtocol()).configure(_host)); } ItemChanged(); Update(); Reachable(); }
void ICyberduck.QuickConnect(string arg) { try { Host h = HostParser.parse(arg); h.setCredentials(CredentialsConfiguratorFactory.get(h.getProtocol()).configure(h)); if (AbstractPath.Type.file == _detector.detect(h.getDefaultPath())) { Path file = new Path(PathNormalizer.normalize(h.getDefaultPath()), EnumSet.of(AbstractPath.Type.file)); // wait until transferCollection is loaded transfersSemaphore.Wait(); TransferController.Instance.StartTransfer(new DownloadTransfer(h, file, LocalFactory.get(PreferencesFactory.get().getProperty("queue.download.folder"), file.getName()))); } else { foreach (BrowserController b in Browsers) { if (b.IsMounted()) { if ( new HostUrlProvider().get(b.Session.getHost()) .Equals(new HostUrlProvider().get(h))) { b.View.BringToFront(); if (Path.Type.directory == _detector.detect(h.getDefaultPath())) { b.SetWorkdir(new Path(PathNormalizer.normalize(h.getDefaultPath()), EnumSet.of(AbstractPath.Type.directory))); } return; } } } NewBrowser().Mount(h); } } catch (HostParserException e) { Logger.warn(e.getDetail()); } }