public CreateFolderAction(BrowserController controller, Path workdir, string filename)
     : base(controller)
 {
     _workdir = workdir;
     _filename = filename;
     _folder = PathFactory.createPath(getSession(), _workdir.getAbsolute(), _filename,
                                      AbstractPath.DIRECTORY_TYPE);
 }
 public CreateFileAction(BrowserController controller, Path workdir, string filename, bool edit)
     : base(controller)
 {
     _workdir = workdir;
     _filename = filename;
     _edit = edit;
     _file = PathFactory.createPath(controller.getSession(),
                                    _workdir.getAbsolute(),
                                    _filename, AbstractPath.FILE_TYPE);
 }
 public CreateSymlinkAction(BrowserController controller, Path workdir, string symlink)
     : base(controller)
 {
     _workdir = workdir;
     _symlink = symlink;
     _link = PathFactory.createPath(controller.getSession(),
                                    _workdir.getAbsolute(),
                                    _symlink, AbstractPath.FILE_TYPE);
     _target = BrowserController.SelectedPath.getName();
 }
Exemple #4
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="c"></param>
 /// <param name="path"></param>
 /// <returns>New editor instance for the given file type.</returns>
 public static Editor createEditor(BrowserController c, Path path, string app)
 {
     WatchEditor editor;
     if (!editors.TryGetValue(path, out editor))
     {
         editor = new WatchEditor(c, path, app);
         editors.Add(path, editor);
     }
     editor.Editor = app;
     return editor;
 }
 public DuplicateFileController(IPromptView view, BrowserController browserController)
     : base(view, browserController)
 {
     Path selected = browserController.SelectedPath;
     StringBuilder proposal = new StringBuilder();
     proposal.Append(System.IO.Path.GetFileNameWithoutExtension(selected.getName()));
     string shortDate = UserDefaultsDateFormatter.GetShortFormat(DateTime.Now).Replace('/', '.').Replace(':', '.');
     proposal.Append(" (").Append(shortDate).Append(")");
     if (!string.IsNullOrEmpty(selected.getExtension()))
     {
         proposal.Append(".").Append(selected.getExtension());
     }
     PrefilledText = proposal.ToString();
 }
Exemple #6
0
 private void InitializeBookmarks(CountdownEvent bookmarksSemaphore)
 {
     // Load all bookmarks in background
     _controller.Background(() =>
     {
         AbstractHostCollection c = BookmarkCollection.defaultCollection();
         c.load();
         bookmarksSemaphore.Signal();
     }, () =>
     {
         if (PreferencesFactory.get().getBoolean("browser.open.untitled"))
         {
             if (PreferencesFactory.get().getProperty("browser.open.bookmark.default") != null)
             {
                 _bc.Invoke(() =>
                 {
                     BrowserController bc = NewBrowser();
                     OpenDefaultBookmark(bc);
                 });
             }
         }
     });
 }
Exemple #7
0
        public static void buildList(BrowserController controller)
        {
            List <Friend> list     = new List <Friend>();
            string        queryUrl = String.Format("http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key={0}&steamid={1}&relationship=friend", Properties.Settings.Default.SteamWebAPIKey, controller.user.steam.steamid);

            using (WebClient c = new WebClient())
            {
                c.DownloadStringAsync(new Uri(queryUrl));
                c.DownloadStringCompleted += (s, e) =>
                {
                    try
                    {
                        dynamic result = JObject.Parse(e.Result);
                        List <MongoDB.Driver.IMongoQuery> queries = new List <MongoDB.Driver.IMongoQuery>();
                        foreach (var friend in result.friendslist.friends)
                        {
                            queries.Add(Query.EQ("steam.steamid", (string)friend.steamid));
                        }
                        if (queries.Count > 0)
                        {
                            var users = Mongo.Users.FindAs <User>(Query.Or(queries)).ToList();
                            list.AddRange(users.Select(usr => new Friend()
                            {
                                id = usr.steam.steamid, name = usr == null ? null : usr.profile.name, status = usr == null ? FriendStatus.NotRegistered : getFriendStatus(usr.steam.steamid), avatar = usr == null ? null : usr.steam.avatar
                            }));
                            controller.friendlist = list;
                            controller.Send(BrowserController.FriendsSnapshot(list));
                        }
                    }
                    catch (Exception ex)
                    {
                        //log.Error("Could get build list.", ex);
                    }
                };
            }
        }
 public void GivenABrowserControllerObject()
 {
     _browserController = new BrowserController();
 }
 public GotoController(IPromptView view, BrowserController browserController) : base(view, browserController)
 {
     PrefilledText = browserController.Workdir.getAbsolute();
 }
 public CreateSymlinkController(ICreateSymlinkPromptView view, BrowserController browserController)
     : base(view, browserController)
 {
     view.LinkForFile = browserController.SelectedPath.getName();
 }
Exemple #11
0
 public OpenBackgroundAction(BrowserController controller, BackgroundAction download)
     : base(controller)
 {
     _download = download;
 }
        private static void doTeamMatchmake()
        {
            Random rnd = new Random();

            Matchmake[] mmArray;

            //we can't lock the whole thing, will make scale a pain
            lock (inTeamMatchmaking)
                mmArray = inTeamMatchmaking.ToArray();

            foreach (var match in mmArray)
            {
                lock (match)
                {
                    //we do this cause the matchFound is still in the array. So we prevent matching it again
                    if (match.Status == MatchmakeStatus.AlreadyMatched)
                    {
                        continue;
                    }

                    // Find match with a similar rating (search margin increases every try) and a common mod
                    var matchFound = mmArray.FirstOrDefault(x => match.IsMatch(x, true));
                    if (matchFound != null)
                    {
                        //give priority to localized matches
                        var region = ServerRegion.UNKNOWN;
                        if (match.Region != ServerRegion.UNKNOWN)
                        {
                            region = match.Region;
                        }
                        else if (matchFound.Region != ServerRegion.UNKNOWN)
                        {
                            region = matchFound.Region;
                        }

                        //get available mods by rating
                        var mods = match.GetMatchedMods(matchFound);
                        //create a lobby with one of the mods
                        var lobby = LobbyManager.CreateMatchedLobby(match, matchFound, mods[rnd.Next(0, mods.Length)], region);
                        //remove the matchmake from the browsers and set the lobby
                        foreach (var browser in Browsers.Find(b => b.user != null && b.matchmake != null && (b.matchmake.id == match.id || b.matchmake.id == matchFound.id)))
                        {
                            browser.matchmake = null;
                            browser.lobby     = lobby;
                            browser.AsyncSend(BrowserController.LobbySnapshot(lobby), res => { });
                        }

                        //prevent matches from matching again
                        matchFound.Status = MatchmakeStatus.AlreadyMatched;
                        match.Status      = MatchmakeStatus.AlreadyMatched;

                        //remove the matches from the queue
                        lock (inTeamMatchmaking)
                        {
                            inTeamMatchmaking.Remove(match);
                            inTeamMatchmaking.Remove(matchFound);
                        }
                    }
                    else
                    {
                        match.TryCount++;
                    }
                }
            }
        }
 public FolderController(IPromptView view, BrowserController browserController)
     : base(view, browserController)
 {
 }
Exemple #14
0
        /// <summary>
        /// A normal (non-single-instance) application raises the Startup event every time it starts.
        /// A single-instance application raises the Startup  event when it starts only if the application
        /// is not already active; otherwise, it raises the StartupNextInstance  event.
        /// </summary>
        /// <see cref="http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.applicationservices.windowsformsapplicationbase.startup.aspx"/>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ApplicationDidFinishLaunching(object sender, StartupEventArgs e)
        {
            Logger.debug("ApplicationDidFinishLaunching");

            /* UWP Registration, initialize as soon as possible */
            if (Utils.IsRunningAsUWP)
            {
                InitStoreContext();
            }

            _controller.Background(delegate
            {
                var transfers = TransferCollection.defaultCollection();
                lock (transfers)
                {
                    transfers.load();
                }
                transfersSemaphore.Signal();
            }, delegate { });
            _controller.Background(delegate { HistoryCollection.defaultCollection().load(); }, delegate { });
            CommandsAfterLaunch(CommandLineArgs);
            HistoryCollection.defaultCollection().addListener(this);
            if (PreferencesFactory.get().getBoolean("browser.serialize"))
            {
                _controller.Background(delegate { _sessions.load(); }, delegate
                {
                    foreach (Host host in _sessions)
                    {
                        Host h = host;
                        _bc.Invoke(delegate
                        {
                            BrowserController bc = NewBrowser();
                            bc.Mount(h);
                        });
                    }
                    _sessions.clear();
                });
            }
            NotificationServiceFactory.get().setup();

            // User bookmarks and thirdparty applications
            CountdownEvent bookmarksSemaphore  = new CountdownEvent(1);
            CountdownEvent thirdpartySemaphore = new CountdownEvent(1);

            // Load all bookmarks in background
            _controller.Background(delegate
            {
                BookmarkCollection c = BookmarkCollection.defaultCollection();
                c.load();
                bookmarksSemaphore.Signal();
            }, delegate
            {
                if (PreferencesFactory.get().getBoolean("browser.open.untitled"))
                {
                    if (PreferencesFactory.get().getProperty("browser.open.bookmark.default") != null)
                    {
                        _bc.Invoke(delegate
                        {
                            BrowserController bc = NewBrowser();
                            OpenDefaultBookmark(bc);
                        });
                    }
                }
            });
            if (PreferencesFactory.get().getBoolean("queue.window.open.default"))
            {
                _bc.Invoke(delegate
                {
                    transfersSemaphore.Wait();
                    TransferController.Instance.View.Show();
                });
            }
            // Bonjour initialization
            ThreadStart start = delegate
            {
                try
                {
                    RendezvousFactory.instance().init();
                }
                catch (COMException)
                {
                    Logger.warn("No Bonjour support available");
                }
            };
            Thread thread = new Thread(start);

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
            if (PreferencesFactory.get().getBoolean("defaulthandler.reminder") &&
                PreferencesFactory.get().getInteger("uses") > 0)
            {
                var handler = SchemeHandlerFactory.get();
                if (
                    !handler.isDefaultHandler(Arrays.asList(Scheme.ftp, Scheme.ftps, Scheme.sftp),
                                              new Application(System.Windows.Forms.Application.ExecutablePath)))
                {
                    Core.Utils.CommandBox(LocaleFactory.localizedString("Default Protocol Handler", "Preferences"),
                                          LocaleFactory.localizedString(
                                              "Set Cyberduck as default application for FTP and SFTP locations?", "Configuration"),
                                          LocaleFactory.localizedString(
                                              "As the default application, Cyberduck will open when you click on FTP or SFTP links in other applications, such as your web browser. You can change this setting in the Preferences later.",
                                              "Configuration"),
                                          String.Format("{0}|{1}", LocaleFactory.localizedString("Change", "Configuration"),
                                                        LocaleFactory.localizedString("Cancel", "Configuration")), false,
                                          LocaleFactory.localizedString("Don't ask again", "Configuration"), TaskDialogIcon.Question,
                                          delegate(int option, bool verificationChecked)
                    {
                        if (verificationChecked)
                        {
                            // Never show again.
                            PreferencesFactory.get().setProperty("defaulthandler.reminder", false);
                        }
                        switch (option)
                        {
                        case 0:
                            handler.setDefaultHandler(Arrays.asList(Scheme.ftp, Scheme.ftps, Scheme.sftp),
                                                      new Application(System.Windows.Forms.Application.ExecutablePath));
                            break;
                        }
                    });
                }
            }
            // Import thirdparty bookmarks.
            IList <ThirdpartyBookmarkCollection> thirdpartyBookmarks = GetThirdpartyBookmarks();

            _controller.Background(delegate
            {
                foreach (ThirdpartyBookmarkCollection c in thirdpartyBookmarks)
                {
                    if (!c.isInstalled())
                    {
                        Logger.info("No application installed for " + c.getBundleIdentifier());
                        continue;
                    }
                    c.load();
                    if (c.isEmpty())
                    {
                        if (!PreferencesFactory.get().getBoolean(c.getConfiguration()))
                        {
                            // Flag as imported
                            PreferencesFactory.get().setProperty(c.getConfiguration(), true);
                        }
                    }
                }
                bookmarksSemaphore.Wait();
            }, delegate
            {
                foreach (ThirdpartyBookmarkCollection c in thirdpartyBookmarks)
                {
                    BookmarkCollection bookmarks = BookmarkCollection.defaultCollection();
                    c.filter(bookmarks);
                    if (!c.isEmpty())
                    {
                        ThirdpartyBookmarkCollection c1 = c;
                        Core.Utils.CommandBox(LocaleFactory.localizedString("Import", "Configuration"),
                                              String.Format(LocaleFactory.localizedString("Import {0} Bookmarks", "Configuration"),
                                                            c.getName()),
                                              String.Format(
                                                  LocaleFactory.localizedString(
                                                      "{0} bookmarks found. Do you want to add these to your bookmarks?", "Configuration"),
                                                  c.size()),
                                              String.Format("{0}", LocaleFactory.localizedString("Import", "Configuration")), true,
                                              LocaleFactory.localizedString("Don't ask again", "Configuration"), TaskDialogIcon.Question,
                                              delegate(int option, bool verificationChecked)
                        {
                            if (verificationChecked)
                            {
                                // Flag as imported
                                PreferencesFactory.get().setProperty(c1.getConfiguration(), true);
                            }
                            switch (option)
                            {
                            case 0:
                                BookmarkCollection.defaultCollection().addAll(c1);
                                // Flag as imported
                                PreferencesFactory.get().setProperty(c1.getConfiguration(), true);
                                break;
                            }
                        });
                    }
                    else
                    {
                        PreferencesFactory.get().setProperty(c.getConfiguration(), true);
                    }
                }
                thirdpartySemaphore.Signal();
            });
            // register callbacks
            _canShutdownCallback     = CanShutdownCallback;
            _shutdownRequestCallback = ShutdownRequestCallback;
            WinSparklePeriodicUpdateChecker.SetCanShutdownCallback(_canShutdownCallback);
            WinSparklePeriodicUpdateChecker.SetShutdownRequestCallback(_shutdownRequestCallback);
            if (PreferencesFactory.get().getBoolean("update.check"))
            {
                _updater = PeriodicUpdateCheckerFactory.get();
                if (_updater.hasUpdatePrivileges())
                {
                    DateTime lastCheck = new DateTime(PreferencesFactory.get().getLong("update.check.last"));
                    TimeSpan span      = DateTime.Now.Subtract(lastCheck);
                    _updater.register();
                    if (span.TotalSeconds >= PreferencesFactory.get().getLong("update.check.interval"))
                    {
                        _updater.check(true);
                    }
                }
            }
        }
Exemple #15
0
 public TreeBrowserModel(BrowserController controller)
 {
     _controller = controller;
 }
Exemple #16
0
 public WatchEditor(BrowserController controller, Path path, String editor)
     : base(controller, null, path)
 {
     _editor = editor;
 }
Exemple #17
0
 public GotoController(IPromptView view, BrowserController browserController)
     : base(view, browserController)
 {
     PrefilledText = browserController.Workdir.getAbsolute();
 }
Exemple #18
0
 public FolderController(IPromptView view, BrowserController browserController) : base(view, browserController)
 {
 }
Exemple #19
0
 public BrowserControllerSelectionTests()
 {
     _browserController = new BrowserController();
 }
Exemple #20
0
 protected BrowserControllerBackgroundAction(BrowserController controller)
     : base(controller, controller.Session)
 {
     _controller = controller;
 }
 public BookmarkModel(BrowserController controller, AbstractHostCollection source)
 {
     _controller = controller;
     Source      = source;
 }
        public void HandleMessage(ITextArgs textArgs)
        {
            try
            {
                var jdata = JObject.Parse(textArgs.data);
                var id    = jdata["msg"];
                if (id == null)
                {
                    return;
                }
                var command = id.Value <string>();
                switch (command)
                {
                case OnInstalledMod.Msg:
                {
                    var msg = jdata.ToObject <OnInstalledMod>();
                    log.Debug(SteamID + " -> installed " + msg.Mod.name + ".");
                    Mods.Add(msg.Mod);
                    Browser.AsyncSendTo(x => x.user != null && x.user.steam.steamid == SteamID, BrowserController.InstallResponse("The mod has been installed.", true), rf => { });
                    break;
                }

                case OnDeletedMod.Msg:
                {
                    var msg = jdata.ToObject <OnDeletedMod>();
                    log.Debug(SteamID + " -> removed " + msg.Mod.name + ".");
                    var localMod = Mods.FirstOrDefault(m => Equals(msg.Mod, m));
                    if (localMod != null)
                    {
                        Mods.Remove(localMod);
                    }
                    break;
                }

                case Init.Msg:
                {
                    var msg = jdata.ToObject <Init>();
                    InitData = msg;
                    if (msg.Version != Version.ClientVersion)
                    {
                        this.SendJson(JObject.FromObject(new Shutdown()).ToString(Formatting.None), "commands");
                        return;
                    }
                    foreach (var mod in msg.Mods.Where(mod => mod != null && mod.name != null && mod.version != null))
                    {
                        Mods.Add(mod);
                    }
                    //Insert the client into the DB
                    RegisterClient();
                    break;
                }

                case RequestMod.Msg:
                {
                    var msg = jdata.ToObject <RequestMod>();
                    var mod = D2MPMaster.Mods.Mods.ByName(msg.Mod.name);
                    if (mod != null && mod.playable)
                    {
                        if (!Mods.Any(m => m.name == mod.name && m.version == mod.version))
                        {
                            this.InstallMod(this.UID, mod);
                        }
                    }

                    break;
                }
                }
            }
            catch (Exception ex)
            {
                log.Error("Error parsing client message.", ex);
            }
        }
 public InfoBackgroundAction(BrowserController controller, Worker worker)
     : base(controller)
 {
     _worker = worker;
 }
Exemple #24
0
 public BookmarkListener(BrowserController controller)
 {
     _controller = controller;
 }
Exemple #25
0
 public InnerCreateSymlinkWorker(BrowserController controller, Path selected, Path symlink) : base(symlink, selected.getName())
 {
     _controller = controller;
     _symlink    = symlink;
 }
Exemple #26
0
 public BookmarkModel(BrowserController controller, AbstractHostCollection source)
 {
     _controller = controller;
     Source = source;
 }
Exemple #27
0
 /// <summary>
 /// Run the application
 /// </summary>
 public virtual void Run()
 {
     // set up the main form.
     _bc = NewBrowser(true, true);
     MainForm = _bc.View as Form;
     // then, run the the main form.
     Run(CommandLineArgs);
 }
Exemple #28
0
 protected Editor(BrowserController controller, Application application, Path path)
     : base(application, path)
 {
     _controller = controller;
 }
Exemple #29
0
 public Editor(BrowserController controller, string bundleIdentifier, Path path) : base(path)
 {
     this.controller  = controller;
     BundleIdentifier = bundleIdentifier;
 }
Exemple #30
0
 public WatchEditor(BrowserController controller, Path path, String editor)
     : base(controller, null, path)
 {
     _editor = editor;
 }
Exemple #31
0
 public Editor(BrowserController controller, string bundleIdentifier, Path path)
     : base(path)
 {
     this.controller = controller;
     BundleIdentifier = bundleIdentifier;
 }
 protected BrowserBackgroundAction(BrowserController controller)
     : base(controller)
 {
     BrowserController = controller;
 }
 public SnapUsernameChecker(BrowserController browserController)
 {
     _browserController = browserController;
 }
Exemple #34
0
 /// <inheritdoc />
 /// <summary>
 /// </summary>
 /// <param name="form"></param>
 public BrowserForm(Form form)
 {
     InitializeComponent();
     _form      = form;
     Controller = new BrowserController();
 }
 public TreeBrowserModel(BrowserController controller, PathCache cache, ListProgressListener listener)
 {
     _controller = controller;
     _cache      = cache;
     _listener   = listener;
 }
Exemple #36
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="c"></param>
 /// <param name="path"></param>
 /// <returns>New editor instance for the given file type.</returns>
 public static Editor createEditor(BrowserController c, Path path)
 {
     return createEditor(c, path, null);
 }
 public BookmarkListener(BrowserController controller)
 {
     _controller = controller;
 }
Exemple #38
0
 public void GoPageTop()
 {
     BrowserController.GetBrowser().GetCurrentPage().PageTop();
 }
Exemple #39
0
 public static void InviteFriend(BrowserController c, string steamid)
 {
     if (c.party == null)
     {
         // Let's create a party
         c.party = new Party()
         {
             id        = Utils.RandomString(17),
             creatorid = c.user.Id,
             users     = new List <PartyMember>(5)
             {
                 PartyMember.FromUser(c.user)
             },
             invitedUsers = new List <string>()
             {
                 steamid
             }
         };
     }
     if (!c.party.invitedUsers.Contains(steamid))
     {
         c.party.invitedUsers.Add(steamid);
     }
     Browsers.AsyncSendTo(m => m.user != null && m.user.steam.steamid == steamid, BrowserController.inviteFriendParty(c.lobby, c.user.steam.steamid), req => { });
 }
 public ChildGetterBrowserBackgrounAction(BrowserController controller,
     AbstractPath path,
     List<AbstractPath> isLoadingListingInBackground)
     : base(controller)
 {
     _controller = controller;
     _path = path;
     _isLoadingListingInBackground = isLoadingListingInBackground;
 }
        private void DuplicateFile(Path selected, String filename, bool edit)
        {
            Path duplicate = PathFactory.createPath(Session, selected.getParent().getAbsolute(), filename, selected.attributes().getType());

            BrowserController.DuplicatePath(selected, duplicate, edit);
        }
 public TreeBrowserModel(BrowserController controller)
 {
     _controller = controller;
 }
Exemple #43
0
 public CreateSymlinkController(ICreateSymlinkPromptView view, BrowserController browserController)
     : base(view, browserController)
 {
     view.LinkForFile = browserController.SelectedPath.getName();
 }
Exemple #44
0
 public static void InviteFriend(BrowserController c, string steamid)
 {
     Browsers.AsyncSendTo(m => m.user != null && m.user.steam.steamid == steamid, BrowserController.inviteFriend(c.lobby, c.user.steam.steamid), req => { });
 }
Exemple #45
0
        public static void CheckForUpdates(object state, ElapsedEventArgs elapsedEventArgs)
        {
            var mods        = Mongo.Mods.FindAllAs <Mod>();
            var updatedMods = new HashSet <Mod>();

            log.Info("Checking for updates to mods...");
            var logic = new CompareLogic()
            {
                Config = new ComparisonConfig()
                {
                    Caching = false, MaxDifferences = 100
                }
            };
            var  modIds           = new HashSet <string>();
            bool cosmeticsChanged = false;

            foreach (var mod in mods)
            {
                modIds.Add(mod.Id);
                if (!ModCache.ContainsKey(mod.Id))
                {
                    ModCache.Add(mod.Id, mod);
                    updatedMods.Add(mod);
                    log.InfoFormat("Mod [{0}] added to database.", mod.fullname);
                    cosmeticsChanged = true;
                    continue;
                }
                var omod = ModCache[mod.Id];
                var diff = logic.Compare(omod, mod);
                if (diff.AreEqual)
                {
                    continue;
                }
                log.InfoFormat("Mod [{0}] updated!", mod.fullname);
                foreach (var difference in diff.Differences)
                {
                    log.Info(difference.PropertyName + ": " + difference.Object1Value + " => " + difference.Object2Value);
                }
                if (mod.version != omod.version || mod.isPublic != omod.isPublic || mod.playable != omod.playable)
                {
                    updatedMods.Add(mod);
                }
                ModCache[mod.Id] = mod;
                cosmeticsChanged = true;
            }
            foreach (var mod in ModCache.Where(mod => !modIds.Contains(mod.Key)).ToArray())
            {
                updatedMods.Add(mod.Value);
                ModCache.Remove(mod.Value.Id);
                cosmeticsChanged = true;
                log.InfoFormat("Mod [{0}] deleted!", mod.Value.fullname);
            }
            if (cosmeticsChanged)
            {
                Browser.AsyncSendToAll(BrowserController.UpdateMods(), res => {});
                log.Info("Telling browsers to download new mod list!");
            }
            if (updatedMods.Count == 0)
            {
                return;
            }
            log.InfoFormat("[{0}] mods updated, re-initing all clients and servers.", updatedMods.Count);
            ServerAddons.Init(ModCache.Values);
            foreach (var mod in updatedMods)
            {
                LobbyManager.CloseAll(mod);
            }
            Clients.SendToAll(ClientController.UpdateMods());
            foreach (var server in Servers.Find(m => m.Inited))
            {
                server.Inited = false;
                server.Send("updateMods|" + string.Join(",", updatedMods.Select(m => m.name)));
            }
        }
Exemple #46
0
 public SaveBackgroundAction(BrowserController controller, BackgroundAction upload) : base(controller)
 {
     _upload = upload;
 }
Exemple #47
0
        /// <summary>
        /// Mounts the default bookmark if any
        /// </summary>
        /// <param name="controller"></param>
        public static void OpenDefaultBookmark(BrowserController controller)
        {
            String defaultBookmark = Preferences.instance().getProperty("browser.defaultBookmark");
            if (null == defaultBookmark)
            {
                return; //No default bookmark given
            }

            foreach (Host bookmark in BookmarkCollection.defaultCollection())
            {
                if (bookmark.getNickname().Equals(defaultBookmark))
                {
                    foreach (BrowserController browser in Browsers)
                    {
                        if (browser.HasSession())
                        {
                            if (browser.getSession().getHost().equals(bookmark))
                            {
                                Logger.debug("Default bookmark already mounted");
                                return;
                            }
                        }
                    }
                    Logger.debug("Mounting default bookmark " + bookmark);
                    controller.Mount(bookmark);
                    return;
                }
            }
        }
Exemple #48
0
 private void ShowBrowser(BrowserController browserInfo)
 {
     var frm = (StandardBrowser)FormUtils.FindForm(browserInfo.Caption);
     if (frm == null)
     {
         frm = new StandardBrowser();
         frm.MdiParent = this;
         frm.ShowForm(browserInfo);
     }
     else
         frm.Activate();
 }
Exemple #49
0
        private static BrowserController NewBrowser(bool force, bool show)
        {
            Logger.debug("NewBrowser");
            if (!force)
            {
                foreach (BrowserController c in Browsers)
                {
                    if (!c.HasSession())
                    {
                        c.Invoke(delegate { c.View.BringToFront(); });

                        return c;
                    }
                }
            }
            BrowserController controller = new BrowserController();
            controller.View.ViewClosingEvent += delegate(object sender, FormClosingEventArgs args)
                                                    {
                                                        if (args.Cancel)
                                                        {
                                                            return;
                                                        }
                                                        if (1 == Browsers.Count)
                                                        {
                                                            // last browser is about to close, check if we can terminate
                                                            args.Cancel = !ApplicationShouldTerminate();
                                                        }
                                                    };
            controller.View.ViewDisposedEvent += delegate
                                                     {
                                                         Browsers.Remove(controller);
                                                         if (0 == Browsers.Count)
                                                         {
                                                             // Close/Dispose all non-browser forms (e.g. Transfers) to allow shutdown
                                                             FormCollection forms = application.OpenForms;
                                                             for (int i = forms.Count - 1; i >= 0; i--)
                                                             {
                                                                 forms[i].Dispose();
                                                             }
                                                             Exit();
                                                         }
                                                         else
                                                         {
                                                             application.MainForm = Browsers[0].View as Form;
                                                         }
                                                     };
            if (show)
            {
                controller.View.Show();
            }
            application.MainForm = controller.View as Form;
            Browsers.Add(controller);
            return controller;
        }
Exemple #50
0
 protected BrowserBackgroundAction(BrowserController controller) : base(controller)
 {
     BrowserController = controller;
 }
 public InfoBackgroundAction(BrowserController controller, Worker worker)
     : base(controller)
 {
     _worker = worker;
 }
Exemple #52
0
 public SaveBackgroundAction(BrowserController controller, BackgroundAction upload)
     : base(controller)
 {
     _upload = upload;
 }
Exemple #53
0
 public OpenBackgroundAction(BrowserController controller, BackgroundAction download) : base(controller)
 {
     _download = download;
 }
 public CreateFileController(IPromptView view, BrowserController browserController)
     : base(view, browserController)
 {
 }
Exemple #55
0
        private void DuplicateFile(Path selected, String filename)
        {
            Path duplicate = new Path(selected.getParent(), filename, selected.getType());

            BrowserController.CopyPath(selected, duplicate);
        }
Exemple #56
0
 public WatchEditor(BrowserController controller, Application application, Path path)
     : base(controller, application, path)
 {
 }