public HotkeyController(SettingsController settingsController, TemtemTrackerUI trackerUI, TemtemTableController tableController)
        {
            this.settingsController = settingsController;
            this.trackerUI          = trackerUI;
            this.tableController    = tableController;

            //Get the hotkeys from settings
            this.resetTableHotkey          = (Keys)settingsController.GetUserSettings().resetTableHotkey;
            this.resetTableHotkeyModifiers = (Keys)settingsController.GetUserSettings().resetTableHotkeyModifier;
            this.resetTableKeyModifiers    = User32.KeysToKeyModifiers(resetTableHotkeyModifiers);
            this.pauseTimerHotkey          = (Keys)settingsController.GetUserSettings().pauseTimerHotkey;
            this.pauseTimerHotkeyModifiers = (Keys)settingsController.GetUserSettings().pauseTimerHotkeyModifier;
            this.pauseTimerKeyModifiers    = User32.KeysToKeyModifiers(pauseTimerHotkeyModifiers);

            //Subscribe to relevant events from settingsController
            settingsController.ToggleHotkeysEnabled    += ToggleHotkeysEnabled;
            settingsController.ResetTableHotkeyChanged += ReloadResetTableHotkey;
            settingsController.PauseTimerHotkeyChanged += ReloadPauseTimerHotkey;

            //Set tracker UI hotkey strings
            PopulateTrackerUIHotkeyLabels();

            //Bind the hotkeys
            User32.RegisterHotKey(this.Handle, RESET_TABLE_HOTKEY_ID, resetTableKeyModifiers, resetTableHotkey);
            User32.RegisterHotKey(this.Handle, PAUSE_TIMER_HOTKEY_ID, pauseTimerKeyModifiers, pauseTimerHotkey);
        }
        public SessionTimeController(TemtemTrackerUI trackerUI)
        {
            this.trackerUI = trackerUI;

            this.dbcon = DatabaseController.Instance;

            //Get the current playtime from the database
            LoadSessionTimeFromDatabase();

            //Set the timers in the tracker
            trackerUI.UpdateSessionTime(sessionTime.sessionDuration, sessionTime.dayDuration);
        }
Exemple #3
0
        public TemtemTableController(TemtemTrackerUI trackerUI, LumaChanceCalculator lumaCalculator, SettingsController settingsController)
        {
            this.trackerUI          = trackerUI;
            this.lumaCalculator     = lumaCalculator;
            this.settingsController = settingsController;

            UIElements = new Dictionary <TemtemDataRow, Tuple <TemtemTableRowUI, IndividualTrackerWindow> >();

            LoadTableFromFile(Paths.TABLE_FILE);

            //Set this as the table controller in the UI
            trackerUI.SetTableController(this);

            //Add event listener(s) for settings updates
            settingsController.TimeToLumaProbabilityChanged += UpdateLumaTimes;

            SetLastChangeTime();
        }