Exemplo n.º 1
0
        public void Dispose()
        {
            int track_index = current_track == null ? Count : Math.Max(0, TrackModel.IndexOf(current_track));

            DatabaseConfigurationClient.Client.Set(CurrentTrackSchema, track_index);

            ServiceManager.PlayerEngine.DisconnectEvent(OnPlayerEvent);
            ServiceManager.PlaybackController.TrackStarted -= OnTrackStarted;

            if (actions != null)
            {
                actions.Dispose();
            }

            UninstallPreferences();

            Properties.Remove("Nereid.SourceContents.HeaderWidget");

            if (header_widget != null)
            {
                header_widget.Destroy();
                header_widget = null;
            }

            if (ClearOnQuitSchema.Get())
            {
                Clear(true);
            }
        }