2020-10-17 05:05:00 +00:00
|
|
|
// Copyright 2020 Dolphin Emulator Project
|
2021-07-05 01:22:19 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2020-10-17 05:05:00 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QIcon>
|
|
|
|
#include <QPixmap>
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
class BalloonTip : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
struct PrivateTag
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
|
|
|
public:
|
|
|
|
enum class ShowArrow
|
|
|
|
{
|
|
|
|
Yes,
|
|
|
|
No
|
|
|
|
};
|
|
|
|
static void ShowBalloon(const QIcon& icon, const QString& title, const QString& msg,
|
|
|
|
const QPoint& pos, QWidget* parent,
|
|
|
|
ShowArrow show_arrow = ShowArrow::Yes);
|
|
|
|
static void HideBalloon();
|
|
|
|
|
|
|
|
BalloonTip(PrivateTag, const QIcon& icon, QString title, QString msg, QWidget* parent);
|
|
|
|
|
|
|
|
private:
|
|
|
|
void UpdateBoundsAndRedraw(const QPoint&, ShowArrow);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void paintEvent(QPaintEvent*) override;
|
|
|
|
|
|
|
|
private:
|
|
|
|
QColor m_border_color;
|
|
|
|
QPixmap m_pixmap;
|
|
|
|
bool m_show_arrow = true;
|
|
|
|
};
|