From bd9e6617827818fd043452c08c606f07b78014a0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdesdk@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- cervisia/loginfo.cpp | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 cervisia/loginfo.cpp (limited to 'cervisia/loginfo.cpp') diff --git a/cervisia/loginfo.cpp b/cervisia/loginfo.cpp new file mode 100644 index 00000000..49f7efb2 --- /dev/null +++ b/cervisia/loginfo.cpp @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2003-2007 André Wöbbeking + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (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 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + + +#include "loginfo.h" + +#include + +#include +#include + + +namespace Cervisia +{ + + +TagInfo::TagInfo(const QString& name, Type type) + : m_name(name), + m_type(type) +{ +} + + +QString TagInfo::toString(bool prefixWithType) const +{ + QString text; + if (prefixWithType) + { + text += typeToString() + QString::fromLatin1(": "); + } + text += m_name; + + return text; +} + + +QString TagInfo::typeToString() const +{ + QString text; + switch (m_type) + { + case Branch: + text = i18n("Branchpoint"); + break; + case OnBranch: + text = i18n("On Branch"); + break; + case Tag: + text = i18n("Tag"); + break; + } + + return text; +} + + +QString LogInfo::createToolTipText(bool showTime) const +{ + QString text(QString::fromLatin1("")); + text += QStyleSheet::escape(m_revision); + text += QString::fromLatin1("  "); + text += QStyleSheet::escape(m_author); + text += QString::fromLatin1("  "); + text += QStyleSheet::escape(dateTimeToString(showTime)); + text += QString::fromLatin1(""); + + if (!m_comment.isEmpty()) + { + text += QString::fromLatin1("
");
+        text += QStyleSheet::escape(m_comment);
+        text += QString::fromLatin1("
"); + } + + if (!m_tags.isEmpty()) + { + text += QString::fromLatin1(""); + for (TTagInfoSeq::const_iterator it = m_tags.begin(); + it != m_tags.end(); ++it) + { + if (it != m_tags.begin() || m_comment.isEmpty()) + text += QString::fromLatin1("
"); + text += QStyleSheet::escape((*it).toString()); + } + text += QString::fromLatin1("
"); + } + + return text; +} + + +QString LogInfo::dateTimeToString(bool showTime, bool shortFormat) const +{ + if( showTime ) + return KGlobal::locale()->formatDateTime(m_dateTime, shortFormat); + else + return KGlobal::locale()->formatDate(m_dateTime.date(), shortFormat); +} + + +QString LogInfo::tagsToString(unsigned int types, + unsigned int prefixWithType, + const QString& separator) const +{ + QString text; + for (TTagInfoSeq::const_iterator it = m_tags.begin(); + it != m_tags.end(); ++it) + { + const TagInfo& tagInfo(*it); + + if (tagInfo.m_type & types) + { + if (!text.isEmpty()) + { + text += separator; + } + + text += tagInfo.toString(tagInfo.m_type & prefixWithType); + } + } + + return text; +} + + +} // namespace Cervisia -- cgit v1.2.1