File indexing completed on 2024-04-28 04:03:13

0001 /*
0002     This file is part of Knights, a chess board for KDE SC 4.
0003     SPDX-FileCopyrightText: 2009, 2010, 2011 Miha Čančula <miha@noughmad.eu>
0004 
0005     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0006 */
0007 
0008 #ifndef KNIGHTS_OFFERWIDGET_H
0009 #define KNIGHTS_OFFERWIDGET_H
0010 
0011 #include <KMessageWidget>
0012 
0013 namespace Ui {
0014 class Popup;
0015 }
0016 
0017 namespace Knights {
0018 
0019 class Offer;
0020 
0021 enum OfferAction {
0022     AcceptOffer,
0023     DeclineOffer,
0024     IgnoreOffer
0025 };
0026 
0027 class OfferWidget : public KMessageWidget {
0028     Q_OBJECT
0029 
0030 public:
0031     explicit OfferWidget(const Offer& offer, QWidget* parent = nullptr, Qt::WindowFlags f = {});
0032     ~OfferWidget() override;
0033 
0034     int id() const;
0035 
0036 private:
0037     Ui::Popup* ui;
0038     int offerId;
0039 
0040 private Q_SLOTS:
0041     void acceptClicked();
0042     void declineClicked();
0043     void closeClicked();
0044 
0045 Q_SIGNALS:
0046     void close(int id, OfferAction action);
0047 };
0048 
0049 }
0050 
0051 #endif // KNIGHTS_OFFERWIDGET_H