예제 #1
0
        private XElement BadgeToXml(string nodeName, BadgeLevelData badge)
        {
            var xe = new XElement(nodeName);

            if (badge != null)
            {
                xe.Add(new XAttribute("url", badge.PictureUrl),
                       new XAttribute("lvl", badge.Level),
                       new XAttribute("name", badge.Name));
            }

            return(xe);
        }
예제 #2
0
        /// <summary>
        /// Load account when application starts
        /// </summary>
        public async void LoadAccount()
        {
            if (String.IsNullOrWhiteSpace(Storage.SteamProfileUrl) == false)
            {
                // restore account data from Settings
                UserName = Storage.SteamUserName;
                Level    = Storage.SteamLevel;

                AvatarUrl = Storage.SteamAvatarUrl;

                BackgroundUrl = Storage.SteamBackgroundUrl;

                FavoriteBadge = new BadgeLevelData
                {
                    PictureUrl = Storage.SteamBadgeUrl,
                    Name       = Storage.SteamBadgeTitle,
                };
            }

            CustomBackgroundUrl = Storage.CustomBackgroundUrl;
            BadgePropertiesFilters.Deserialize <BadgeProperty>(Storage.BadgeFilter);

            Mode = (IdleMode)Storage.IdleMode;

            MaxIdleInstanceCount = Storage.MaxIdleProcessCount;

            PeriodicSwitchRepeatCount = Storage.PeriodicSwitchRepeatCount;

            TrialPeriod = Storage.TrialPeriod;

            SwitchMinutes = Storage.SwitchMinutes;
            SwitchSeconds = Storage.SwitchSeconds;

            IgnoreClient = Storage.IgnoreClient;

            AllowShowcaseSync = Storage.AllowShowcaseSync;
            ShowInTaskbar     = Storage.ShowInTaskbar;
            ShowBackground    = Storage.ShowBackground;

            IdleQueueBadges.CollectionChanged += IdleQueueItemsChanged;

            AllShowcases = await _showcaseManager.GetShowcases();

            ShowcasePropertiesFilters.Deserialize <ShowcaseProperty>(Storage.ShowcaseFilter);

            try
            {
                IsAuthorized = await CheckAuth();
            }
            catch (Exception ex)
            {
                Logger.Exception(ex, "Could not authorize");
            }

            if (IsAuthorized)
            {
                await InitProfile();
            }

            _steamApps = await SteamParser.GetSteamApps();

            // reload games list
            var games = Storage.Games.Cast <string>().ToList();
            int idx   = 0;

            foreach (var id in games)
            {
                GameIdentity app;
                _steamApps.TryGetValue(id, out app);

                var game = new BadgeModel(id, app != null ? app.name : "");
                game.PropertyChanged += BadgeIdleStatusChanged;
                Games.Insert(idx, game);
                idx++;
            }
        }
예제 #3
0
        /// <summary>
        /// Load account when application starts
        /// </summary>
        public async void LoadAccount()
        {
            if (String.IsNullOrWhiteSpace(Storage.SteamProfileUrl) == false)
            {
                // restore account data from Settings
                UserName = Storage.SteamUserName;
                Level    = Storage.SteamLevel;

                AvatarUrl           = Storage.SteamAvatarUrl;
                CustomBackgroundUrl = Storage.CustomBackgroundUrl;
                BackgroundUrl       = Storage.SteamBackgroundUrl;

                FavoriteBadge = new BadgeLevelData
                {
                    PictureUrl = Storage.SteamBadgeUrl,
                    Name       = Storage.SteamBadgeTitle,
                };
            }

            BadgePropertiesFilters.Deserialize <BadgeProperty>(Storage.BadgeFilter);
            ShowcasePropertiesFilters.Deserialize <ShowcaseProperty>(Storage.ShowcaseFilter);

            Idler.Mode = (IdleMode)Storage.IdleMode;

            if (Storage.MaxIdleProcessCount > 0)
            {
                Idler.MaxIdleInstanceCount = Storage.MaxIdleProcessCount;
            }

            if (Storage.PeriodicSwitchRepeatCount > 0)
            {
                Idler.PeriodicSwitchRepeatCount = Storage.PeriodicSwitchRepeatCount;
            }

            if (Storage.TrialPeriod > 0)
            {
                Idler.TrialPeriod = Storage.TrialPeriod;
            }
            else
            {
                Idler.TrialPeriod = 2;
            }

            Idler.SwitchMinutes = Storage.SwitchMinutes;
            if (Storage.SwitchSeconds > 0)
            {
                Idler.SwitchSeconds = Storage.SwitchSeconds;
            }

            IgnoreClient = Storage.IgnoreClient;

            AllowShowcaseSync = Storage.AllowShowcaseSync;
            ShowInTaskbar     = Storage.ShowInTaskbar;

            PropertyChanged       += SaveConfiguration;
            Idler.PropertyChanged += SaveConfiguration;
            Idler.PropertyChanged += TrialPeriodChanged;

            IdleQueueBadges.CollectionChanged += IdleQueueItemsChanged;

            try
            {
                IsAuthorized = await CheckAuth();
            }
            catch (Exception ex)
            {
                Logger.Exception(ex, "Could not authorize");
            }

            if (IsAuthorized)
            {
                await InitProfile();
            }

            // reload games list
            var games = Storage.Games.Cast <string>().ToList();
            int idx   = 0;

            foreach (var id in games)
            {
                var game = await new SteamParser().GetGameInfo(id);
                Games.Insert(idx, game);
                idx++;
            }
        }