File indexing completed on 2024-04-28 16:49:27

0001 /*
0002 *  Copyright 2019  Michail Vourlakos <mvourlakos@gmail.com>
0003 *
0004 *  This file is part of Latte-Dock
0005 *
0006 *  Latte-Dock is free software; you can redistribute it and/or
0007 *  modify it under the terms of the GNU General Public License as
0008 *  published by the Free Software Foundation; either version 2 of
0009 *  the License, or (at your option) any later version.
0010 *
0011 *  Latte-Dock is distributed in the hope that it will be useful,
0012 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
0013 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014 *  GNU General Public License for more details.
0015 *
0016 *  You should have received a copy of the GNU General Public License
0017 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
0018 */
0019 
0020 #ifndef VIEWINDICATORRESOURCES_H
0021 #define VIEWINDICATORRESOURCES_H
0022 
0023 // Qt
0024 #include <QObject>
0025 
0026 namespace Latte {
0027 namespace ViewPart {
0028 class Indicator;
0029 }
0030 }
0031 
0032 namespace Latte {
0033 namespace ViewPart {
0034 namespace IndicatorPart {
0035 
0036 /**
0037  * Resources requested from indicator in order to reduce consumption
0038  **/
0039 
0040 class Resources: public QObject
0041 {
0042     Q_OBJECT
0043     Q_PROPERTY(QList<QObject *> svgs READ svgs NOTIFY svgsChanged)
0044 
0045 public:
0046     Resources(Indicator *parent);
0047     virtual ~Resources();
0048 
0049     QList<QObject *> svgs() const;
0050 
0051 public slots:
0052     Q_INVOKABLE void setSvgImagePaths(QStringList paths);
0053 
0054 signals:
0055     void svgsChanged();
0056 
0057 private:
0058     QStringList m_svgImagePaths;
0059 
0060     Indicator *m_indicator{nullptr};
0061 
0062     QList<QObject *> m_svgs;
0063 };
0064 
0065 }
0066 }
0067 }
0068 
0069 #endif