File indexing completed on 2024-05-05 10:08:45
0001 /* 0002 SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "logViewWidgetItem.h" 0008 0009 // Qt includes 0010 0011 // KDE includes 0012 #include "ksystemlog_debug.h" 0013 0014 #include "logModeItemBuilder.h" 0015 #include "logViewWidget.h" 0016 0017 #include "logMode.h" 0018 0019 LogViewWidgetItem::LogViewWidgetItem(LogViewWidget *list, LogLine *l) 0020 : QTreeWidgetItem() 0021 , mLine(l) 0022 { 0023 // Add this item to the LogLine, to let the LogLine initialize it 0024 mLine->setItem(this); 0025 list->addTopLevelItem(this); 0026 } 0027 0028 LogViewWidgetItem::~LogViewWidgetItem() 0029 { 0030 delete mLine; 0031 } 0032 0033 LogLine *LogViewWidgetItem::logLine() const 0034 { 0035 return mLine; 0036 } 0037 0038 void LogViewWidgetItem::toggleToolTip(bool displayed) 0039 { 0040 if (displayed) { 0041 setToolTip(columnCount() - 1, mLine->logMode()->itemBuilder()->createToolTipText(mLine)); 0042 } else { 0043 setToolTip(columnCount() - 1, QString()); 0044 } 0045 } 0046 0047 bool LogViewWidgetItem::operator<(const QTreeWidgetItem &other) const 0048 { 0049 const int sortedColumn = treeWidget()->sortColumn(); 0050 0051 // If we sort items by date (always the first column) 0052 if (sortedColumn == 0) { 0053 const auto &otherItem = static_cast<const LogViewWidgetItem &>(other); 0054 return mLine->isOlderThan(*(otherItem.logLine())); 0055 } 0056 // Default sorting 0057 else { 0058 return text(sortedColumn) < other.text(sortedColumn); 0059 } 0060 }