File indexing completed on 2025-01-19 07:43:01
0001 /* This file is part of the KDE project 0002 0003 Copyright (C) 2008 Javier Goday <jgoday@gmail.com> 0004 0005 This program is free software; you can redistribute it and/or 0006 modify it under the terms of the GNU General Public 0007 License as published by the Free Software Foundation; either 0008 version 2 of the License, or (at your option) any later version. 0009 */ 0010 0011 #ifndef TRANSFERHISTORYCATEGORIZEDDELEGATE_H 0012 #define TRANSFERHISTORYCATEGORIZEDDELEGATE_H 0013 0014 #include <QObject> 0015 0016 class QStandardItem; 0017 0018 class TransferHistoryCategorizedDelegate : public QObject 0019 { 0020 Q_OBJECT 0021 public: 0022 enum AlternativeRoles { RoleSize = 0xFF, RoleDate = 0xFE, RoleUrl = 0xFD, RoleDest = 0xFA }; 0023 0024 TransferHistoryCategorizedDelegate(); 0025 ~TransferHistoryCategorizedDelegate() override; 0026 0027 virtual void categorizeItem(QStandardItem *item) 0028 { 0029 Q_UNUSED(item) 0030 }; 0031 }; 0032 0033 /** Categorizes the transfers in date ranges **/ 0034 class DateCategorizedDelegate : public TransferHistoryCategorizedDelegate 0035 { 0036 public: 0037 DateCategorizedDelegate(); 0038 ~DateCategorizedDelegate() override; 0039 0040 void categorizeItem(QStandardItem *item) override; 0041 }; 0042 0043 /** Categorizes the transfers in size ranges **/ 0044 class SizeCategorizedDelegate : public TransferHistoryCategorizedDelegate 0045 { 0046 public: 0047 SizeCategorizedDelegate(); 0048 ~SizeCategorizedDelegate() override; 0049 0050 void categorizeItem(QStandardItem *item) override; 0051 }; 0052 0053 /** Categorizes the transfer by source host **/ 0054 class HostCategorizedDelegate : public TransferHistoryCategorizedDelegate 0055 { 0056 public: 0057 HostCategorizedDelegate(); 0058 ~HostCategorizedDelegate() override; 0059 0060 void categorizeItem(QStandardItem *item) override; 0061 }; 0062 0063 #endif