Skip to content

Commit da85130

Browse files
committed
Address PR comments
1 parent b0c6a51 commit da85130

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

Rubberduck.Core/Common/ClipboardWriter.cs

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,16 @@ public interface IClipboardWriter
1414
void AppendString(string formatName, string data);
1515
void AppendStream(string formatName, MemoryStream stream);
1616
void Flush();
17-
void AppendInfo<T>(ColumnInfo[] columnInfos,
18-
IEnumerable<T> exportableResults,
19-
string titleFormat,
20-
ClipboardWriterAppendingInformationFormat appendingInformationFormat) where T : IExportable;
17+
void AppendInfo<T>(ColumnInfo[] columnInfos,
18+
IEnumerable<IExportable> exportableResults,
19+
string titleFormat,
20+
ClipboardWriterAppendingInformationFormat appendingInformationFormat) where T : IExportable;
2121
}
2222

23+
[Flags]
2324
public enum ClipboardWriterAppendingInformationFormat
2425
{
26+
None = 0,
2527
XmlSpreadsheetFormat = 1 << 0,
2628
RtfFormat = 1 << 1,
2729
HtmlFormat = 1 << 2,
@@ -77,14 +79,13 @@ public void Flush()
7779
}
7880

7981
public void AppendInfo<T>(ColumnInfo[] columnInfos,
80-
IEnumerable<T> results,
82+
IEnumerable<IExportable> results,
8183
string title,
8284
ClipboardWriterAppendingInformationFormat appendingInformationFormat) where T : IExportable
8385
{
8486
object[][] resultsAsArray = results.Select(result => result.ToArray()).ToArray();
8587

86-
var includeXmlSpreadsheetFormat = (appendingInformationFormat & ClipboardWriterAppendingInformationFormat.XmlSpreadsheetFormat) == ClipboardWriterAppendingInformationFormat.XmlSpreadsheetFormat;
87-
if (includeXmlSpreadsheetFormat)
88+
if (appendingInformationFormat.HasFlag(ClipboardWriterAppendingInformationFormat.XmlSpreadsheetFormat))
8889
{
8990
const string xmlSpreadsheetDataFormat = "XML Spreadsheet";
9091
using (var stream = ExportFormatter.XmlSpreadsheetNew(resultsAsArray, title, columnInfos))
@@ -93,26 +94,22 @@ public void AppendInfo<T>(ColumnInfo[] columnInfos,
9394
}
9495
}
9596

96-
var includeRtfFormat = (appendingInformationFormat & ClipboardWriterAppendingInformationFormat.RtfFormat) == ClipboardWriterAppendingInformationFormat.RtfFormat;
97-
if (includeRtfFormat)
97+
if (appendingInformationFormat.HasFlag(ClipboardWriterAppendingInformationFormat.RtfFormat))
9898
{
9999
AppendString(DataFormats.Rtf, ExportFormatter.RTF(resultsAsArray, title));
100100
}
101101

102-
var includeHtmlFormat = (appendingInformationFormat & ClipboardWriterAppendingInformationFormat.HtmlFormat) == ClipboardWriterAppendingInformationFormat.HtmlFormat;
103-
if (includeHtmlFormat)
102+
if (appendingInformationFormat.HasFlag(ClipboardWriterAppendingInformationFormat.HtmlFormat))
104103
{
105104
AppendString(DataFormats.Html, ExportFormatter.HtmlClipboardFragment(resultsAsArray, title, columnInfos));
106105
}
107106

108-
var includeCsvFormat = (appendingInformationFormat & ClipboardWriterAppendingInformationFormat.CsvFormat) == ClipboardWriterAppendingInformationFormat.CsvFormat;
109-
if (includeCsvFormat)
107+
if (appendingInformationFormat.HasFlag(ClipboardWriterAppendingInformationFormat.CsvFormat))
110108
{
111109
AppendString(DataFormats.CommaSeparatedValue, ExportFormatter.Csv(resultsAsArray, title, columnInfos));
112110
}
113111

114-
var includeUnicodeFormat = (appendingInformationFormat & ClipboardWriterAppendingInformationFormat.UnicodeFormat) == ClipboardWriterAppendingInformationFormat.UnicodeFormat;
115-
if (includeUnicodeFormat && results is IEnumerable<IExportable> unicodeResults)
112+
if (appendingInformationFormat.HasFlag(ClipboardWriterAppendingInformationFormat.UnicodeFormat) && results is IEnumerable<IExportable> unicodeResults)
116113
{
117114
var unicodeTextFormat = title + Environment.NewLine + string.Join(string.Empty, unicodeResults.Select(result => result.ToClipboardString() + Environment.NewLine).ToArray());
118115
AppendString(DataFormats.UnicodeText, unicodeTextFormat);

0 commit comments

Comments
 (0)