3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-02-22 07:05:54 +00:00
Scare Crowe d2ebfd0519 QortalOS Titan 5.60.12
Screw the description like that inbred T3Q
2022-03-05 21:17:59 +05:00

69 lines
1.6 KiB
C++

/*
SPDX-FileCopyrightText: 2013-2014 Eike Hein <hein@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef LABELGENERATOR_H
#define LABELGENERATOR_H
#include <QObject>
#include <QPointer>
class KFilePlacesModel;
class FolderModel;
class LabelGenerator : public QObject
{
Q_OBJECT
Q_PROPERTY(FolderModel *folderModel READ folderModel WRITE setFolderModel NOTIFY folderModelChanged)
Q_PROPERTY(bool rtl READ rtl WRITE setRtl NOTIFY rtlChanged)
Q_PROPERTY(int labelMode READ labelMode WRITE setLabelMode NOTIFY labelModeChanged)
Q_PROPERTY(QString labelText READ labelText WRITE setLabelText NOTIFY labelTextChanged)
Q_PROPERTY(QString displayLabel READ displayLabel NOTIFY displayLabelChanged)
public:
explicit LabelGenerator(QObject *parent = nullptr);
~LabelGenerator() override;
FolderModel *folderModel() const;
void setFolderModel(FolderModel *folderModel);
bool rtl() const;
void setRtl(bool rtl);
int labelMode() const;
void setLabelMode(int mode);
QString labelText() const;
void setLabelText(const QString &text);
QString displayLabel() const;
Q_SIGNALS:
void folderModelChanged();
void rtlChanged();
void labelModeChanged();
void labelTextChanged();
void displayLabelChanged();
private:
void updateDisplayLabel();
QString generatedDisplayLabel();
static int s_instanceCount;
static KFilePlacesModel *s_placesModel;
bool m_placesConnected = false;
void connectPlacesModel();
QPointer<FolderModel> m_folderModel;
bool m_rtl;
int m_labelMode;
QString m_displayLabel;
QString m_labelText;
};
#endif