Changeset 8656


Ignore:
Timestamp:
Feb 22, 2020, 2:21:31 PM (2 years ago)
Author:
Sven Rech
Message:

Primes tutorial: In all list presentations, the context menu function "Copy whole text to clipboard" did never copy the last row of the list into the clipboard. This is fixed now.

Location:
trunk/CrypPlugins/Primes/Primes/WpfControls/Components
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/Primes/Primes/WpfControls/Components/LogControl.xaml.cs

    r8488 r8656  
    2525using Primes.Library;
    2626using System.Collections;
     27using System.Linq;
    2728using Primes.Bignum;
    2829
     
    531532                        StringBuilder result = new StringBuilder();
    532533                        string[] msg = new string[m_Columns];
     534
     535                        void AppendRow()
     536                        {
     537                            var rowString = string.Join("\t", msg.Where(s => !string.IsNullOrEmpty(s)));
     538                            result.AppendLine(rowString);
     539                        }
     540
    533541                        foreach (UIElement element in gridMessages.Children)
    534542                        {
     
    539547                                    if (row > -1)
    540548                                    {
    541                                         foreach (string s in msg)
    542                                         {
    543                                             if (!string.IsNullOrEmpty(s))
    544                                             {
    545                                                 result.Append(s);
    546                                                 result.Append("\t");
    547                                             }
    548                                         }
    549                                         result.Remove(result.Length - 1, 1);
    550                                         result.Append("\r\n");
     549                                        AppendRow();
    551550                                    }
    552551                                    row = Grid.GetRow(element);
     
    554553                                int column = Grid.GetColumn(element);
    555554                                if (column > -1 && column < msg.Length)
    556                                     msg[column] = (element as TextBlock).Text;
     555                                    msg[column] = (element as TextBlock)?.Text;
    557556                            }
    558557                        }
     558                        AppendRow();
     559
    559560                        Clipboard.SetText(result.ToString(), TextDataFormat.Text);
    560561                    }
  • trunk/CrypPlugins/Primes/Primes/WpfControls/Components/LogControl2.xaml.cs

    r8655 r8656  
    2525using Primes.Library;
    2626using System.Collections;
     27using System.Linq;
    2728using Primes.Bignum;
    2829
     
    354355                        StringBuilder result = new StringBuilder();
    355356                        string[] msg = new string[m_Columns];
     357
     358                        void AppendRow()
     359                        {
     360                            var rowString = string.Join("\t", msg.Where(s => !string.IsNullOrEmpty(s)));
     361                            result.AppendLine(rowString);
     362                        }
     363
    356364                        foreach (UIElement element in gridMessages.Children)
    357365                        {
     
    362370                                    if (row > -1)
    363371                                    {
    364                                         foreach (string s in msg)
    365                                         {
    366                                             if (!string.IsNullOrEmpty(s))
    367                                             {
    368                                                 result.Append(s);
    369                                                 result.Append("\t");
    370                                             }
    371                                         }
    372                                         result.Remove(result.Length - 1, 1);
    373                                         result.Append("\r\n");
     372                                        AppendRow();
    374373                                    }
    375374                                    row = Grid.GetRow(element);
     
    380379                            }
    381380                        }
     381                        AppendRow();
     382
    382383                        Clipboard.SetText(result.ToString(), TextDataFormat.Text);
    383384                    }
Note: See TracChangeset for help on using the changeset viewer.