qTox  Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
groupinviteform.h
Go to the documentation of this file.
1 /*
2  Copyright © 2015-2019 by The qTox Project Contributors
3 
4  This file is part of qTox, a Qt-based graphical interface for Tox.
5 
6  qTox is libre software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  qTox is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with qTox. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 
22 #include "src/widget/gui.h"
23 
24 #include <QWidget>
25 
26 class ContentLayout;
27 class GroupInvite;
28 class GroupInviteWidget;
29 
30 class QGroupBox;
31 class QLabel;
32 class QPushButton;
33 class QScrollArea;
34 class QSignalMapper;
35 
36 namespace Ui {
37 class MainWindow;
38 }
39 
40 class GroupInviteForm : public QWidget
41 {
42  Q_OBJECT
43 public:
46 
47  void show(ContentLayout* contentLayout);
48  bool addGroupInvite(const GroupInvite& inviteInfo);
49  bool isShown() const;
50 
51 signals:
52  void groupCreate(uint8_t type);
53  void groupInviteAccepted(const GroupInvite& inviteInfo);
54  void groupInvitesSeen();
55 
56 protected:
57  void showEvent(QShowEvent* event) final;
58 
59 private:
60  void retranslateUi();
61  void deleteInviteWidget(const GroupInvite& inviteInfo);
62 
63 private:
64  QWidget* headWidget;
65  QLabel* headLabel;
66  QPushButton* createButton;
67  QGroupBox* inviteBox;
69  QScrollArea* scroll;
70 };
GroupInviteForm
This form contains all group invites you received.
Definition: groupinviteform.h:40
GroupInvite
This class contains information needed to create a group invite.
Definition: groupinvite.h:26
GroupInviteForm::groupInviteAccepted
void groupInviteAccepted(const GroupInvite &inviteInfo)
GroupInviteForm::GroupInviteForm
GroupInviteForm()
Definition: groupinviteform.cpp:48
GroupInviteForm::deleteInviteWidget
void deleteInviteWidget(const GroupInvite &inviteInfo)
Deletes accepted/declined group invite widget.
Definition: groupinviteform.cpp:154
GroupInviteWidget
This class shows information about single group invite and provides buttons to accept/reject it.
Definition: groupinvitewidget.h:31
QList< GroupInviteWidget * >
GroupInviteForm::isShown
bool isShown() const
Detects that form is shown.
Definition: groupinviteform.cpp:91
GroupInviteForm::show
void show(ContentLayout *contentLayout)
Shows the form.
Definition: groupinviteform.cpp:104
GroupInviteForm::groupCreate
void groupCreate(uint8_t type)
GroupInviteForm::~GroupInviteForm
~GroupInviteForm()
Definition: groupinviteform.cpp:82
GroupInviteForm::createButton
QPushButton * createButton
Definition: groupinviteform.h:66
Ui
Definition: filetransferwidget.h:30
GroupInviteForm::inviteBox
QGroupBox * inviteBox
Definition: groupinviteform.h:67
GroupInviteForm::retranslateUi
void retranslateUi()
Definition: groupinviteform.cpp:165
GroupInviteForm::addGroupInvite
bool addGroupInvite(const GroupInvite &inviteInfo)
Adds group invite.
Definition: groupinviteform.cpp:117
ContentLayout
Definition: contentlayout.h:25
GroupInviteForm::headLabel
QLabel * headLabel
Definition: groupinviteform.h:65
gui.h
GroupInviteForm::showEvent
void showEvent(QShowEvent *event) final
Definition: groupinviteform.cpp:144
GroupInviteForm::scroll
QScrollArea * scroll
Definition: groupinviteform.h:69
GroupInviteForm::headWidget
QWidget * headWidget
Definition: groupinviteform.h:64
GroupInviteForm::groupInvitesSeen
void groupInvitesSeen()
GroupInviteForm::invites
QList< GroupInviteWidget * > invites
Definition: groupinviteform.h:68