# # # patch "NEWS" # from [08b4223542062290738f3aad0016d321db36fa9d] # to [f077b0724ecd4157696ceb878ec1437cedaa407a] # # patch "res/forms/changeset_browser.ui" # from [11466b89073eda0acfd9e631774a5f3a43686d33] # to [e557a01b3325944c3eb8b1a5f6ac6a098871f535] # # patch "src/model/ChangesetModel.cpp" # from [2ee6b1a61c782966eaaf193263ea2c9748427f56] # to [dac0c2a9b597ffd6fcae4ef11be1cdb5767bfbb8] # # patch "src/model/ChangesetModel.h" # from [c3965362dce73767641f74913b38e5cdd6a8a0c0] # to [f4b9613f25028146ad1d6a88e38df0e758e43d07] # # patch "src/view/dialogs/ChangesetBrowser.cpp" # from [c7cee1c5387ffd02cb45322dad6ac4cbad4bf7fe] # to [2f4e311cfeb2a54fcd3d843919802ffcea4972fd] # ============================================================ --- NEWS 08b4223542062290738f3aad0016d321db36fa9d +++ NEWS f077b0724ecd4157696ceb878ec1437cedaa407a @@ -6,15 +6,18 @@ - new: find unaccounted renames in your workspace (i.e. finds those renames which only happened in the filesystem). Matches files by content and directories by name (todo: implement actual renaming) - - new: add, drop and edit file attributes directly in the workspace view! + - new: add, drop and edit file attributes directly in the workspace view - new: its now possible to actually copy the public key data to the clipboard in the key management dialog - new: possibility to display a file diff from the revision diff dialog + - new: the changelog in the browser is now displayed in an extra field which + understands a subset of the dokuwiki syntax (links to anchors, unordered + lists, bold/italics/underline formatting) - improved: workspaces can now be read incrementally which is faster for those with big directory trees and many files - improved: input field in the select revision dialog now acts on ENTER - improved: new simpler icon set which makes it easier to detect which files - have been changed in a workspace; also added a panel + have been changed in a workspace; also added a panel (Window > Panels > Icon help) which contains explanations for all states - bugfix: the workspace is now properly updated after a commit - change: the proper monotone version is now solely determined by looking at @@ -24,6 +27,8 @@ - internal: major rewrite of the process handling code; mtn processes run in their own threads which should make the whole application more responsible for GUI tasks. + - internal: massive gui code rewrite: different dialogs can be opened side + by side and remember their last state properly 2007-08-20 (0.6.4) - compatibility with monotone 0.36 (and any upcoming monotone with an ============================================================ --- res/forms/changeset_browser.ui 11466b89073eda0acfd9e631774a5f3a43686d33 +++ res/forms/changeset_browser.ui e557a01b3325944c3eb8b1a5f6ac6a098871f535 @@ -38,12 +38,6 @@ Qt::Vertical - - - Courier - 11 - - QTextEdit::AutoAll ============================================================ --- src/model/ChangesetModel.cpp 2ee6b1a61c782966eaaf193263ea2c9748427f56 +++ src/model/ChangesetModel.cpp dac0c2a9b597ffd6fcae4ef11be1cdb5767bfbb8 @@ -117,7 +117,7 @@ QVariant ChangesetModel::data(const QMod return QVariant(); } - if (role == Qt::FontRole) + if (role == Qt::FontRole && index.column() == 3) { QFont font; font.setStyleHint(QFont::Courier); ============================================================ --- src/model/ChangesetModel.h c3965362dce73767641f74913b38e5cdd6a8a0c0 +++ src/model/ChangesetModel.h f4b9613f25028146ad1d6a88e38df0e758e43d07 @@ -8,7 +8,7 @@ * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * but WITHOUT ANY WARRANTY; withhtmllog even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * @@ -42,10 +42,59 @@ struct Changeset QString htmllog() const { - QString htmllog = changelog; - return htmllog.replace(QRegExp("([_*])(\\w+)$1"), "$2") - .replace(QRegExp("\\t"), "    ") - .replace(QRegExp("[\\r\\n]+"), "
"); + QStringList lines = changelog.split(QRegExp("(\\r\\n|\\n|\\n\\r)")); + QString htmllog; + bool inList = false; + + foreach (QString line, lines) + { + if (line.isEmpty()) + { + if (inList) + { + htmllog += "\n\n"; + inList = false; + continue; + } + + htmllog += "
\n"; + continue; + } + + bool listStart = (0 == line.indexOf(QRegExp("^[*-]"))); + if (listStart) + { + if (inList) + { + htmllog += "\n"; + } + else + { + inList = true; + htmllog += "