File indexing completed on 2024-05-05 17:56:54

0001 /*
0002     SPDX-FileCopyrightText: 2004 Csaba Karai <krusader@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2004-2022 Krusader Krew <https://krusader.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef DUFILELIGHT_H
0009 #define DUFILELIGHT_H
0010 
0011 // QtGui
0012 #include <QMouseEvent>
0013 
0014 #include "diskusage.h"
0015 #include "filelightParts/Config.h"
0016 #include "radialMap/widget.h"
0017 
0018 class DUFilelight : public RadialMap::Widget
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit DUFilelight(DiskUsage *usage);
0024 
0025     File *getCurrentFile();
0026 
0027 public slots:
0028     void slotDirChanged(Directory *);
0029     void clear();
0030     void slotChanged(File *);
0031     void slotRefresh();
0032 
0033 protected slots:
0034     void slotAboutToShow(int);
0035 
0036     void schemeRainbow()
0037     {
0038         setScheme(Filelight::Rainbow);
0039     }
0040     void schemeHighContrast()
0041     {
0042         setScheme(Filelight::HighContrast);
0043     }
0044     void schemeKDE()
0045     {
0046         setScheme(Filelight::KDE);
0047     }
0048 
0049     void increaseContrast();
0050     void decreaseContrast();
0051     void changeAntiAlias();
0052     void showSmallFiles();
0053     void varyLabelFontSizes();
0054     void minFontSize();
0055 
0056 protected:
0057     void mousePressEvent(QMouseEvent *) override;
0058 
0059     void setScheme(Filelight::MapScheme);
0060 
0061     DiskUsage *diskUsage;
0062     Directory *currentDir;
0063 
0064 private:
0065     bool refreshNeeded;
0066 };
0067 
0068 #endif /* __DU_FILELIGHT_H__ */