WriteString(_T("\t\t\tborder: 1px solid gray;\n"));
WriteString(_T("\t\t}\n"));
WriteString(_T("\t\tth {\n"));
- WriteString(_T("\t\t\tcolor: black;\n"));
- WriteString(_T("\t\t\tbackground: silver;\n"));
+ WriteString(_T("\t\t\tcolor: white;\n"));
+ WriteString(_T("\t\t\tbackground: blue;\n"));
+ WriteString(_T("\t\t\tpadding: 4px 4px;\n"));
+ WriteString(_T("\t\t\tbackground: linear-gradient(mediumblue, darkblue);\n"));
+ WriteString(_T("\t\t}\n"));
+ WriteString(_T("\t\t.border {\n"));
+ WriteString(_T("\t\t\tdisplay: table;\n"));
+ WriteString(_T("\t\t\tborder-radius: 3px;\n"));
+ WriteString(_T("\t\t\tborder: 1px #a0a0a0 solid;\n"));
+ WriteString(_T("\t\t\tbox-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15)\n"));
+ WriteString(_T("\t\t\toverflow: hidden;\n"));
WriteString(_T("\t\t}\n"));
WriteString(_T("\t-->\n\t</style>\n"));
WriteString(_T("</head>\n<body>\n"));
WriteString(_T("</h2>\n<p>"));
WriteString(GetCurrentTimeString());
WriteString(_T("</p>\n"));
- WriteString(_T("<table border=\"1\">\n<tr>\n"));
+ WriteString(_T("<div class=\"border\">\n<table border=\"1\">\n<tr>\n"));
for (int currCol = 0; currCol < m_nColumns; currCol++)
{
WriteString(EndEl(rowEl) + _T("\n"));
}
if (!xml)
- WriteString(_T("</table>\n"));
+ WriteString(_T("</table>\n</div>\n"));
}
/**
_T("<style type=\"text/css\">\n")
_T("table { table-layout: fixed; width: 100%; height: 100%; border-collapse: collapse; }\n")
_T("td,th { border: solid 1px black; }\n")
- _T(".title { color: white; background-color: blue; vertical-align: top; }\n")
+ _T(".border { border-radius: 6px; border: 1px #a0a0a0 solid; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15); overflow: hidden; }\n")
+ _T(".title { color: white; background-color: blue; vertical-align: top; padding: 4px 4px; background: linear-gradient(mediumblue, darkblue);}\n")
_T(".img { height: 100%; overflow: scroll; text-align: center; }\n")
_T("</style>\n")
_T("</head>\n")
_T("<body>\n")
+ _T("<div class=\"border\">\n")
_T("<table>\n")
_T("<tr>\n"));
for (int i = 0; i < m_pImgMergeWindow->GetPaneCount(); ++i)
file.WriteString(
_T("</tr>\n")
_T("</table>\n")
+ _T("</div>\n")
_T("</body>\n")
_T("</html>\n"));
return true;
_T("<style type=\"text/css\">\n")
_T("<!--\n")
_T("td,th {word-break: break-all; font-size: %dpt;}\n")
- _T(".ln {text-align: right; word-break: keep-all; background-color: lightgrey;}\n")
- _T(".title {color: white; background-color: blue; vertical-align: top;}\n")
+ _T(".border { border-radius: 6px; border: 1px #a0a0a0 solid; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15); overflow: hidden; }\n")
+ _T(".ln {text-align: right; word-break: normal; background-color: lightgrey; box-shadow: inset 1px 0px 0px rgba(0, 0, 0, 0.10);}\n")
+ _T(".title {color: white; background-color: blue; vertical-align: top; padding: 4px 4px; background: linear-gradient(mediumblue, darkblue);}\n")
_T("%s")
_T("-->\n")
_T("</style>\n")
_T("</head>\n")
_T("<body>\n")
+ _T("<div class=\"border\">")
_T("<table cellspacing=\"0\" cellpadding=\"0\" style=\"width: 100%%; margin: 0; border: none;\">\n")
_T("<thead>\n")
_T("<tr>\n"),
int nBuffer;
for (nBuffer = 0; nBuffer < m_nBuffers; nBuffer++)
{
- int nLineNumberColumnWidth = m_pView[nBuffer]->GetViewLineNumbers() ? 1 : 0;
+ int nLineNumberColumnWidth = 1;
String data = string_format(_T("<th class=\"title\" style=\"width:%d%%\"></th>"),
nLineNumberColumnWidth);
file.WriteString(data);
// write the body of the report
int idx[3] = {0};
int nLineCount[3] = {0};
+ int nDiff = 0;
for (nBuffer = 0; nBuffer < m_nBuffers; nBuffer++)
nLineCount[nBuffer] = m_ptBuf[nBuffer]->GetLineCount();
if (idx[nBuffer] < nLineCount[nBuffer])
{
// line number
+ String tdtag = _T("<td class=\"ln\">");
DWORD dwFlags = m_ptBuf[nBuffer]->GetLineFlags(idx[nBuffer]);
- if (!(dwFlags & LF_GHOST) && m_pView[nBuffer]->GetViewLineNumbers())
+ if (nBuffer == 0 &&
+ (dwFlags & (LF_DIFF | LF_GHOST)) && (idx[nBuffer] == 0 ||
+ !(m_ptBuf[nBuffer]->GetLineFlags(idx[nBuffer] - 1) & (LF_DIFF | LF_GHOST))))
{
- String data = string_format(_T("<td class=\"ln\">%d</td>"),
- m_ptBuf[nBuffer]->ComputeRealLine(idx[nBuffer]) + 1);
- file.WriteString(data);
+ ++nDiff;
+ tdtag += string_format(_T("<a name=\"d%d\" href=\"#d%d\">.</a>"), nDiff, nDiff);
}
+ if (!(dwFlags & LF_GHOST) && m_pView[nBuffer]->GetViewLineNumbers())
+ tdtag += string_format(_T("%d</td>"), m_ptBuf[nBuffer]->ComputeRealLine(idx[nBuffer]) + 1);
else
- file.WriteString(_T("<td class=\"ln\"></td>"));
+ tdtag += _T("</td>");
+ file.WriteString(tdtag);
// write a line on left/right side
file.WriteString((LPCTSTR)m_pView[nBuffer]->GetHTMLLine(idx[nBuffer], _T("td")));
idx[nBuffer]++;
file.WriteString(
_T("</tbody>\n")
_T("</table>\n")
+ _T("</div>")
_T("</body>\n")
_T("</html>\n"));