Beispiel #1
0
            private string buildInfoLabel(EVerbosity verbosity)
            {
                var sb = new StringBuilder();

                sb.Append($"{R.MsgProgStep} {_progbar.Value}/{_progbar.Maximum}");
                foreach (var kvp in _books)
                {
                    var bi = kvp.Value;
                    sb.Append($"; \"{bi.Title}\"");

                    if (verbosity.HasFlag(EVerbosity.counters))
                    {
                        if (bi.PartNumber.HasValue)
                        {
                            sb.Append($", {R.MsgProgPt} {bi.PartNumber}");
                        }
                        if (bi.NumberOfChapters.HasValue)
                        {
                            sb.Append($", {bi.NumberOfChapters} {R.MsgProgCh}");
                        }
                        if (bi.NumberOfTracks.HasValue)
                        {
                            sb.Append($", {bi.NumberOfTracks} {R.MsgProgTr}");
                        }
                    }

                    if (bi.Phase != EProgressPhase.none && verbosity.HasFlag(EVerbosity.phase))
                    {
                        sb.Append($", {R.ResourceManager.GetStringEx(bi.Phase.ToString())}");
                    }

                    if (verbosity.HasFlag(EVerbosity.chapters))
                    {
                        buildInfoLabelSequence(sb, bi.Parts, R.MsgProgPt);
                        buildInfoLabelSequence(sb, bi.Chapters, R.MsgProgCh);
                        buildInfoLabelSequence(sb, bi.Tracks, R.MsgProgTr);
                    }
                }

                return(sb.ToString());
            }
Beispiel #2
0
            private bool buildAndSetInfoLabel(EVerbosity verbosity, int maxStrLen = SHORTSTRING3)
            {
                string text = buildInfoLabel(verbosity, maxStrLen);

                return(setInfoLabelText(text, verbosity == EVerbosity.min));
            }
Beispiel #3
0
            private bool buildAndSetInfoLabel(EVerbosity verbosity)
            {
                string text = buildInfoLabel(verbosity);

                return(setInfoLabelText(text, verbosity == EVerbosity.min));
            }
            private string buildInfoLabel(EVerbosity verbosity, int maxStrLen)
            {
                bool doLog = Level >= 3;
                var  sbLbl = new StringBuilder();
                var  sbLog = new StringBuilder();

                sbLbl.Append($"{R.MsgProgStep} {_progbar.AccuValue}/{_progbar.AccuMaximum}");
                sbLog.Append($"{R.MsgProgStep} .../{_progbar.AccuMaximum}");

                foreach (var kvp in _books)
                {
                    var bi = kvp.Value;

                    string s = $"; \"{bi.Title.Shorten (maxStrLen)}\"";
                    sbLbl.Append(s);
                    if (doLog)
                    {
                        sbLog.Append(s);
                    }

                    if (verbosity.HasFlag(EVerbosity.counters))
                    {
                        if (bi.PartNumber.HasValue)
                        {
                            s = $", {R.MsgProgPt} {bi.PartNumber}";
                            sbLbl.Append(s);
                            if (doLog)
                            {
                                sbLog.Append(s);
                            }
                        }

                        if (bi.NumberOfChapters.HasValue)
                        {
                            s = $", {bi.NumberOfChapters} {R.MsgProgCh}";
                            sbLbl.Append(s);
                            if (doLog)
                            {
                                sbLog.Append(s);
                            }
                        }

                        if (bi.NumberOfTracks.HasValue)
                        {
                            s = $", {bi.NumberOfTracks} {R.MsgProgTr}";
                            sbLbl.Append(s);
                            if (doLog)
                            {
                                sbLog.Append(s);
                            }
                        }
                    }

                    if (bi.Phase != EProgressPhase.none && verbosity.HasFlag(EVerbosity.phase))
                    {
                        s = $", {R.ResourceManager.GetStringEx (bi.Phase.ToString ())}";
                        sbLbl.Append(s);
                        if (doLog)
                        {
                            sbLog.Append(s);
                        }
                    }

                    if (verbosity.HasFlag(EVerbosity.chapters))
                    {
                        buildInfoLabelSequence(sbLbl, bi.Parts, R.MsgProgPt);
                        buildInfoLabelSequence(sbLbl, bi.Chapters, R.MsgProgCh);
                        buildInfoLabelSequence(sbLbl, bi.Tracks, R.MsgProgTr);
                    }
                }

                if (doLog)
                {
                    string sLog = sbLog.ToString();
                    if (!string.Equals(sLog, _logString))
                    {
                        _logString = sLog;
                        Log(3, this, sLog);
                    }
                }

                return(sbLbl.ToString());
            }