示例#1
0
 // Sets the progress bar to null (stopped, not seen), and hides clock icon
 private void StopTimers()
 {
     Logger.record("[StopTimers]: Stopping timer (setting to null)", "SMWidget", "info");
     ProgressBackground.BeginAnimation(System.Windows.Controls.ProgressBar.ValueProperty, null);
     Logger.record("[StopTimers]: Hiding clock icon", "SMWidget", "info");
     timeralarm.Visibility = Visibility.Hidden;
 }
示例#2
0
 // Sets the progress bar to null (stopped, not seen), and hides clock icon
 private void StopTimers()
 {
     Logger.Record("[StopTimers]: Stopping timer (setting to null)", "SMWidget", "info");
     ProgressBackground.BeginAnimation(RangeBase.ValueProperty, null);
     Logger.Record("[StopTimers]: Hiding clock icon", "SMWidget", "info");
     timeralarm.Visibility = Visibility.Hidden;
 }
示例#3
0
        private void ProgressGo(int time) // time is received in minutes
        {
            Logger.record("[ProgressGo]: Time to end: " + time + " min", "SMWidget", "info");
            ProgressBackground.Value = 0;

            Logger.record("[ProgressGo]: Hiding clock icon", "SMWidget", "info");
            timeralarm.Visibility = Visibility.Hidden;

            StopTimers();
            if (time > 0)
            {
                currentSession.duration = time * 60;
                Duration        duration       = new Duration(TimeSpan.FromSeconds(currentSession.duration));
                DoubleAnimation timedAnimation = new DoubleAnimation(100, duration);

                // Progress Bar Repositioning
                ////
                // In order to reposition the timer in a proportional place, we do the following calculation:
                //  The position of the progress bar should be put in the percentage elapsed time from the grand total time,
                //  where the grand total time is the elapsed time until now plus the time that was chosen as the new session end.
                //              Elapsed Time
                //      ------------------------------ == Percentage of time elapsed
                //      Elapsed Time + Additional Time
                ProgressBackground.Value = 100 * (
                    ((DateTime.Now - currentSession.startingTime).TotalSeconds) /
                    (((DateTime.Now - currentSession.startingTime).TotalSeconds) + currentSession.duration)
                    );
                Logger.record("\t[ProgressGo]: Time calculation. Value: " + ProgressBackground.Value + "; Elapsed: " + (DateTime.Now - currentSession.startingTime).TotalSeconds + "; duration: " + currentSession.duration, "SMWidget", "info");

                // In order to reposition the timer at the beginning of the progress bar at every change, one should stop it before restarting;
                //  StopTimers();
                //
                // In order to keep the timer in its place and just speed up or slow down to meet the end at the current time, no
                //  other operation needs to be done.
                //ProgressBackground.Value = ProgressBackground.Value; // WTF? True = True? That's the best 'no other operation' possible?

                ProgressBackground.BeginAnimation(System.Windows.Controls.ProgressBar.ValueProperty, timedAnimation);
            }
        }
示例#4
0
        void ReleaseDesignerOutlets()
        {
            if (ProgressBar != null)
            {
                ProgressBar.Dispose();
                ProgressBar = null;
            }

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

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

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

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

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

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

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

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

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

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

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

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

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