// Copyright 2005-2020 The Mumble Developers. All rights reserved. // Use of this source code is governed by a BSD-style license // that can be found in the LICENSE file at the root of the // Mumble source tree or at . #ifndef MUMBLE_MUMBLE_OVERLAYCONFIG_H_ #define MUMBLE_MUMBLE_OVERLAYCONFIG_H_ #include "OverlayText.h" #include "ConfigWidget.h" #include "ui_Overlay.h" class OverlayUserGroup; struct OverlayAppInfo; class OverlayPositionableItem; class OverlayConfig : public ConfigWidget, public Ui::OverlayConfig { private: Q_OBJECT Q_DISABLE_COPY(OverlayConfig) void initDisplay(); void initDisplayFps(); void initDisplayClock(); void refreshFpsDemo(); void refreshFpsLive(); void refreshTimeLive(); void addWhitelistPath(const QString & path); protected: QPixmap qpScreen; QGraphicsPixmapItem *qgpiScreen; QGraphicsScene qgs; QGraphicsScene qgsFpsPreview; BasepointPixmap bpFpsDemo; BasepointPixmap bpTimeDemo; QGraphicsPixmapItem *qgpiFpsDemo; OverlayPositionableItem *qgpiFpsLive; OverlayPositionableItem *qgpiTimeLive; OverlayUserGroup *oug; QGraphicsTextItem *qgtiInstructions; float fViewScale; bool eventFilter(QObject *, QEvent *) Q_DECL_OVERRIDE; bool supportsInstallableOverlay(); bool isInstalled(); bool needsUpgrade(); bool installFiles(); bool uninstallFiles(); bool supportsCertificates(); bool installerIsValid(); void showCertificates(); void updateOverlayExclusionModeState(); protected slots: void on_qpbInstall_clicked(); void on_qpbUninstall_clicked(); void on_qcbOverlayExclusionMode_currentIndexChanged(int); void on_qlwLaunchers_itemSelectionChanged(); void on_qpbLaunchersAdd_clicked(); void on_qpbLaunchersRemove_clicked(); void on_qlwWhitelist_itemSelectionChanged(); void on_qpbWhitelistAdd_clicked(); void on_qpbWhitelistRemove_clicked(); void on_qlwPaths_itemSelectionChanged(); void on_qpbPathsAdd_clicked(); void on_qpbPathsRemove_clicked(); void on_qlwBlacklist_itemSelectionChanged(); void on_qpbBlacklistAdd_clicked(); void on_qpbBlacklistRemove_clicked(); void on_qcbEnable_stateChanged(int); void on_qcbShowFps_stateChanged(int); void on_qcbShowTime_stateChanged(int); void on_qpbFpsFont_clicked(); void on_qpbFpsColor_clicked(); void on_qpbLoadPreset_clicked(); void on_qpbSavePreset_clicked(); void resizeScene(bool force=false); public: OverlayConfig(Settings &st); virtual QString title() const Q_DECL_OVERRIDE; virtual QIcon icon() const Q_DECL_OVERRIDE; public slots: void accept() const Q_DECL_OVERRIDE; void save() const Q_DECL_OVERRIDE; void load(const Settings &r) Q_DECL_OVERRIDE; }; #endif