/
erhoof
/
telegraf
Обзор
Документация
Войти
/
erhoof
/
telegraf
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/data/appsettings.h
145 строк
6 KB
Nikolay Sinyov
Добавил настройки конфигурации отображения чата и архива
09 сен 2025, 02:01
09 сен 2025, 02:01
816627f
Код
Авторство
О чём код?
#pragma once #include <QObject> #include <QQmlEngine> #include <QSettings> #include <QStandardPaths> class AppSettings : public QObject { Q_OBJECT public: static QObject* createSingleton(QQmlEngine*, QJSEngine*) { return new AppSettings(); } static AppSettings* getInstance() { return instance; } Q_PROPERTY(bool sendByEnter READ getSendByEnter WRITE setSendByEnter NOTIFY sendByEnterChanged) Q_PROPERTY(bool focusTextAreaAfterSend READ getFocusTextAreaAfterSend WRITE setFocusTextAreaAfterSend NOTIFY focusTextAreaAfterSendChanged) Q_PROPERTY(bool useOpenWith READ getUseOpenWith WRITE setUseOpenWith NOTIFY useOpenWithChanged) Q_PROPERTY(bool showStickersAsEmojis READ showStickersAsEmojis WRITE setShowStickersAsEmojis NOTIFY showStickersAsEmojisChanged) Q_PROPERTY(bool showStickersAsImages READ showStickersAsImages WRITE setShowStickersAsImages NOTIFY showStickersAsImagesChanged) Q_PROPERTY(bool animateStickers READ animateStickers WRITE setAnimateStickers NOTIFY animateStickersChanged) Q_PROPERTY(bool notificationTurnsDisplayOn READ notificationTurnsDisplayOn WRITE setNotificationTurnsDisplayOn NOTIFY notificationTurnsDisplayOnChanged) Q_PROPERTY(bool notificationSoundsEnabled READ notificationSoundsEnabled WRITE setNotificationSoundsEnabled NOTIFY notificationSoundsEnabledChanged) Q_PROPERTY(bool notificationSuppressContent READ notificationSuppressContent WRITE setNotificationSuppressContent NOTIFY notificationSuppressContentChanged) Q_PROPERTY(NotificationFeedback notificationFeedback READ notificationFeedback WRITE setNotificationFeedback NOTIFY notificationFeedbackChanged) Q_PROPERTY(bool notificationAlwaysShowPreview READ notificationAlwaysShowPreview WRITE setNotificationAlwaysShowPreview NOTIFY notificationAlwaysShowPreviewChanged) Q_PROPERTY(bool goToQuotedMessage READ goToQuotedMessage WRITE setGoToQuotedMessage NOTIFY goToQuotedMessageChanged) Q_PROPERTY(bool allowInlineBotLocationAccess READ allowInlineBotLocationAccess WRITE setAllowInlineBotLocationAccess NOTIFY allowInlineBotLocationAccessChanged) Q_PROPERTY(int remainingInteractionHints READ remainingInteractionHints WRITE setRemainingInteractionHints NOTIFY remainingInteractionHintsChanged) Q_PROPERTY(int remainingDoubleTapHints READ remainingDoubleTapHints WRITE setRemainingDoubleTapHints NOTIFY remainingDoubleTapHintsChanged) Q_PROPERTY(bool delayMessageRead READ delayMessageRead WRITE setDelayMessageRead NOTIFY delayMessageReadChanged) Q_PROPERTY(bool focusTextAreaOnChatOpen READ getFocusTextAreaOnChatOpen WRITE setFocusTextAreaOnChatOpen NOTIFY focusTextAreaOnChatOpenChanged) Q_PROPERTY(bool highlightUnreadConversations READ highlightUnreadConversations WRITE setHighlightUnreadConversations NOTIFY highlightUnreadConversationsChanged) Q_PROPERTY(SponsoredMess sponsoredMess READ getSponsoredMess WRITE setSponsoredMess NOTIFY sponsoredMessChanged) Q_PROPERTY(bool hideArchiveFolder READ hideArchiveFolder WRITE setHideArchiveFolder NOTIFY hideArchiveFolderChanged) Q_PROPERTY(bool showForumsAsCommonChats READ showForumsAsCommonChats WRITE setShowForumsAsCommonChats NOTIFY showForumsAsCommonChatsChanged) public: enum SponsoredMess { SponsoredMessHandle, SponsoredMessAutoView, SponsoredMessIgnore }; Q_ENUM(SponsoredMess) enum NotificationFeedback { NotificationFeedbackNone, NotificationFeedbackNew, NotificationFeedbackAll }; Q_ENUM(NotificationFeedback) public: AppSettings(QObject *parent = Q_NULLPTR); bool getSendByEnter() const; void setSendByEnter(bool sendByEnter); bool getFocusTextAreaAfterSend() const; void setFocusTextAreaAfterSend(bool focusTextAreaAfterSend); bool getUseOpenWith() const; void setUseOpenWith(bool useOpenWith); bool showStickersAsEmojis() const; void setShowStickersAsEmojis(bool showAsEmojis); bool showStickersAsImages() const; void setShowStickersAsImages(bool showAsImages); bool animateStickers() const; void setAnimateStickers(bool animate); bool notificationTurnsDisplayOn() const; void setNotificationTurnsDisplayOn(bool turnOn); bool notificationSoundsEnabled() const; void setNotificationSoundsEnabled(bool enable); bool notificationSuppressContent() const; void setNotificationSuppressContent(bool enable); NotificationFeedback notificationFeedback() const; void setNotificationFeedback(NotificationFeedback feedback); bool notificationAlwaysShowPreview() const; void setNotificationAlwaysShowPreview(bool enable); bool goToQuotedMessage() const; void setGoToQuotedMessage(bool enable); bool allowInlineBotLocationAccess() const; void setAllowInlineBotLocationAccess(bool enable); int remainingInteractionHints() const; void setRemainingInteractionHints(int remainingHints); int remainingDoubleTapHints() const; void setRemainingDoubleTapHints(int remainingHints); bool delayMessageRead() const; void setDelayMessageRead(bool enable); bool getFocusTextAreaOnChatOpen() const; void setFocusTextAreaOnChatOpen(bool focusTextAreaOnChatOpen); bool highlightUnreadConversations() const; void setHighlightUnreadConversations(bool enable); bool hideArchiveFolder() const; void setHideArchiveFolder (bool enable); bool showForumsAsCommonChats() const; void setShowForumsAsCommonChats (bool enbale); SponsoredMess getSponsoredMess() const; void setSponsoredMess(SponsoredMess sponsoredMess); signals: void sendByEnterChanged(); void focusTextAreaAfterSendChanged(); void useOpenWithChanged(); void showStickersAsEmojisChanged(); void showStickersAsImagesChanged(); void animateStickersChanged(); void notificationTurnsDisplayOnChanged(); void notificationSoundsEnabledChanged(); void notificationSuppressContentChanged(); void notificationFeedbackChanged(); void notificationAlwaysShowPreviewChanged(); void goToQuotedMessageChanged(); void allowInlineBotLocationAccessChanged(); void remainingInteractionHintsChanged(); void remainingDoubleTapHintsChanged(); void delayMessageReadChanged(); void focusTextAreaOnChatOpenChanged(); void highlightUnreadConversationsChanged(); void showReactionButtonChanged(); void hideArchiveFolderChanged(); void showForumsAsCommonChatsChanged(); void sponsoredMessChanged(); private: QSettings settings; static AppSettings* instance; };