예제 #1
0
        public GameActivity(IPlayniteAPI api) : base(api)
        {
            settings = new GameActivitySettings(this);

            // Get plugin's location
            string pluginFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            // Add plugin localization in application ressource.
            PluginCommon.Localization.SetPluginLanguage(pluginFolder, api.Paths.ConfigurationPath);
            // Add common in application ressource.
            PluginCommon.Common.Load(pluginFolder);

            pathActivityDB        = this.GetPluginUserDataPath() + "\\activity\\";
            pathActivityDetailsDB = this.GetPluginUserDataPath() + "\\activityDetails\\";


            // Verification & add necessary directory
            if (!Directory.Exists(pathActivityDB))
            {
                Directory.CreateDirectory(pathActivityDB);
            }

            if (!Directory.Exists(pathActivityDetailsDB))
            {
                Directory.CreateDirectory(pathActivityDetailsDB);
            }
        }
예제 #2
0
        public GameActivity(IPlayniteAPI api) : base(api)
        {
            settings = new GameActivitySettings(this);

            DatabaseReference = PlayniteApi.Database;

            // Old database
            oldToNew = new OldToNew(this.GetPluginUserDataPath());

            // Loading plugin database
            PluginDatabase = new ActivityDatabase(PlayniteApi, settings, this.GetPluginUserDataPath());
            PluginDatabase.InitializeDatabase();

            // Temp
            Task.Run(() =>
            {
                System.Threading.SpinWait.SpinUntil(() => PluginDatabase.IsLoaded, -1);

                settings.tmp = true;
                this.SavePluginSettings(settings);
            });

            // Get plugin's location
            pluginFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            // Add plugin localization in application ressource.
            PluginLocalization.SetPluginLanguage(pluginFolder, api.ApplicationSettings.Language);

            // Add common in application ressource.
            Common.Load(pluginFolder);
            Common.SetEvent(PlayniteApi);

            // Check version
            if (settings.EnableCheckVersion)
            {
                CheckVersion cv = new CheckVersion();
                cv.Check("GameActivity", pluginFolder, api);
            }

            // Init ui interagration
            gameActivityUI = new GameActivityUI(api, settings, this.GetPluginUserDataPath());

            // Custom theme button
            EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(gameActivityUI.OnCustomThemeButtonClick));

            // Add event fullScreen
            if (api.ApplicationInfo.Mode == ApplicationMode.Fullscreen)
            {
                EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(BtFullScreen_ClickEvent));
            }
        }
예제 #3
0
        public GameActivity(IPlayniteAPI api) : base(api)
        {
            settings = new GameActivitySettings(this);

            // Get plugin's location
            string pluginFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            // Add plugin localization in application ressource.
            PluginCommon.Localization.SetPluginLanguage(pluginFolder, api.Paths.ConfigurationPath);
            // Add common in application ressource.
            PluginCommon.Common.Load(pluginFolder);

            // Check version
            if (settings.EnableCheckVersion)
            {
                CheckVersion cv = new CheckVersion();

                if (cv.Check("GameActivity", pluginFolder))
                {
                    cv.ShowNotification(api, "GameActivity - " + resources.GetString("LOCUpdaterWindowTitle"));
                }
            }


            pathActivityDB        = this.GetPluginUserDataPath() + "\\activity\\";
            pathActivityDetailsDB = this.GetPluginUserDataPath() + "\\activityDetails\\";


            // Verification & add necessary directory
            if (!Directory.Exists(pathActivityDB))
            {
                Directory.CreateDirectory(pathActivityDB);
            }

            if (!Directory.Exists(pathActivityDetailsDB))
            {
                Directory.CreateDirectory(pathActivityDetailsDB);
            }
        }
        public GameActivityView(GameActivitySettings settings, IPlayniteAPI PlayniteApi, string pathExtData, Game GameSelected = null)
        {
            this.PlayniteApi  = PlayniteApi;
            dbPlaynite        = PlayniteApi.Database;
            pathsPlaynite     = PlayniteApi.Paths;
            this.settings     = settings;
            pathExtentionData = pathExtData;

            pathActivityDB        = pathExtentionData + "\\activity\\";
            pathActivityDetailsDB = pathExtentionData + "\\activityDetails\\";

            // Set dates variables
            yearCurrent  = DateTime.Now.Year;
            monthCurrent = DateTime.Now.Month;

            // Initialization components
            InitializeComponent();


            if (!settings.EnableLogging)
            {
                ToggleButtonTime.Visibility = Visibility.Hidden;
                ToggleButtonLog.Visibility  = Visibility.Hidden;
            }


            // Block hidden column.
            lvElapsedSeconds.IsEnabled = false;

            // Add column if log details enable.
            if (!settings.EnableLogging)
            {
                GridView lvView = (GridView)lvGames.View;

                lvView.Columns.RemoveAt(10);
                lvView.Columns.RemoveAt(9);
                lvView.Columns.RemoveAt(8);
                lvView.Columns.RemoveAt(7);
                lvView.Columns.RemoveAt(6);
                lvView.Columns.RemoveAt(5);
                lvView.Columns.RemoveAt(4);

                lvGames.View = lvView;
            }

            // Sorting default.
            _lastDirection              = ListSortDirection.Descending;
            _lastHeaderClicked          = lvLastActivity;
            _lastHeaderClicked.Content += " ▼";


            // Graphics game details activities.
            activityForGamesGraphics.Visibility = Visibility.Hidden;

            activityLabel.Content = new DateTime(yearCurrent, monthCurrent, 1).ToString("MMMM yyyy");

            #region Get Datas
            listSources = getListSourcesName();

            GameActivityDatabases = new GameActivityCollection();
            GameActivityDatabases.InitializeCollection(pathExtData);
            #endregion

            #region Get & set datas
            getActivityByMonth(yearCurrent, monthCurrent);
            getActivityByWeek(yearCurrent, monthCurrent);

            getActivityByListGame();
            #endregion


            // Set game selected
            if (GameSelected != null)
            {
                for (int i = 0; i < lvGames.Items.Count; i++)
                {
                    if (((listGame)lvGames.Items[i]).listGameTitle == GameSelected.Name)
                    {
                        lvGames.SelectedIndex = i;
                    }
                }
            }
            lvGames.ScrollIntoView(lvGames.SelectedItem);


            // Set Binding data
            ShowIcon    = this.settings.showLauncherIcons;
            DataContext = this;
        }