#
#
# 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 += "\n";
+ }
+
+ htmllog += "- " + line.mid(1).trimmed();
+ continue;
+ }
+
+ if (inList)
+ {
+ htmllog += " " + line.trimmed();
+ continue;
+ }
+
+ htmllog += line.trimmed() + "
\n";
+ }
+
+ htmllog = htmllog
+ .replace(QRegExp("\\b([_])(\\w+)\\1\\b"), "\\2")
+ .replace(QRegExp("\\b([*])(\\w+)\\1\\b"), "\\2")
+ .replace(QRegExp("\\b([/])(\\w+)\\1\\b"), "\\2")
+ .replace(QRegExp("(https?://[^ <]+)"), "\\1")
+ .replace(QRegExp("\\t"), " ");
+
+ return htmllog;
}
QString plainlog() const
============================================================
--- src/view/dialogs/ChangesetBrowser.cpp c7cee1c5387ffd02cb45322dad6ac4cbad4bf7fe
+++ src/view/dialogs/ChangesetBrowser.cpp 2f4e311cfeb2a54fcd3d843919802ffcea4972fd
@@ -177,6 +177,8 @@ void ChangesetBrowser::contextMenuReques
activeFont.setBold(true);
QAction * actOpenManifest = menu.addAction(tr("View files in this revision"));
+ QAction * actCopyRevisionId = menu.addAction(tr("Copy revision ID"));
+
actOpenManifest->setFont(activeFont);
QAction * act = menu.exec(pos);
@@ -184,7 +186,11 @@ void ChangesetBrowser::contextMenuReques
{
emit revisionManifest(rev);
}
- // TODO: we might want to add more items here, like "Checkout", "Update",
- // etc.
+ else
+ if (act == actCopyRevisionId)
+ {
+ QClipboard * clipboard = QApplication::clipboard();
+ clipboard->setText(rev);
+ }
}