Don't open room switcher when another dialog is open

fixes #251
This commit is contained in:
Konstantinos Sideris 2018-03-04 13:40:30 +02:00
parent 47c31b9a18
commit b15a04b00a
8 changed files with 165 additions and 118 deletions

View file

@ -35,8 +35,18 @@ class SnackBar;
class TrayIcon;
class UserSettings;
namespace mtx {
namespace requests {
struct CreateRoom;
}
}
namespace dialogs {
class CreateRoom;
class InviteUsers;
class JoinRoom;
class LeaveRoom;
class Logout;
}
class MainWindow : public QMainWindow
@ -50,6 +60,11 @@ public:
void saveCurrentWindowSize();
void openLeaveRoomDialog(const QString &room_id = "");
void openInviteUsersDialog(std::function<void(const QStringList &invitees)> callback);
void openCreateRoomDialog(
std::function<void(const mtx::requests::CreateRoom &request)> callback);
void openJoinRoomDialog(std::function<void(const QString &room_id)> callback);
void openLogoutDialog(std::function<void()> callback);
protected:
void closeEvent(QCloseEvent *event);
@ -113,4 +128,20 @@ private:
QSharedPointer<OverlayModal> leaveRoomModal_;
//! Leave room dialog.
QSharedPointer<dialogs::LeaveRoom> leaveRoomDialog_;
//! Invite users modal.
QSharedPointer<OverlayModal> inviteUsersModal_;
//! Invite users dialog.
QSharedPointer<dialogs::InviteUsers> inviteUsersDialog_;
//! Join room modal.
QSharedPointer<OverlayModal> joinRoomModal_;
//! Join room dialog.
QSharedPointer<dialogs::JoinRoom> joinRoomDialog_;
//! Create room modal.
QSharedPointer<OverlayModal> createRoomModal_;
//! Create room dialog.
QSharedPointer<dialogs::CreateRoom> createRoomDialog_;
//! Logout modal.
QSharedPointer<OverlayModal> logoutModal_;
//! Logout dialog.
QSharedPointer<dialogs::Logout> logoutDialog_;
};

View file

@ -8,10 +8,11 @@
#include "FlatButton.h"
#include "Menu.h"
#include "dialogs/CreateRoom.h"
#include "dialogs/JoinRoom.h"
class OverlayModal;
namespace mtx {
namespace requests {
struct CreateRoom;
}
}
class SideBarActions : public QWidget
{
@ -36,12 +37,6 @@ private:
QAction *createRoomAction_;
QAction *joinRoomAction_;
QSharedPointer<OverlayModal> joinRoomModal_;
QSharedPointer<dialogs::JoinRoom> joinRoomDialog_;
QSharedPointer<OverlayModal> createRoomModal_;
QSharedPointer<dialogs::CreateRoom> createRoomDialog_;
FlatButton *settingsBtn_;
FlatButton *createRoomBtn_;
FlatButton *joinRoomBtn_;

View file

@ -26,9 +26,6 @@
#include <QSharedPointer>
#include <QVBoxLayout>
#include "dialogs/InviteUsers.h"
#include "dialogs/LeaveRoom.h"
class Avatar;
class FlatButton;
class Label;
@ -74,9 +71,6 @@ private:
FlatButton *settingsBtn_;
QSharedPointer<OverlayModal> inviteUsersModal_;
QSharedPointer<dialogs::InviteUsers> inviteUsersDialog_;
Avatar *avatar_;
int buttonSize_;

View file

@ -20,8 +20,6 @@
#include <QLabel>
#include <QLayout>
#include "dialogs/Logout.h"
class Avatar;
class FlatButton;
class OverlayModal;
@ -46,9 +44,6 @@ protected:
void resizeEvent(QResizeEvent *event) override;
void paintEvent(QPaintEvent *event) override;
private slots:
void closeLogoutDialog(bool isLoggingOut);
private:
Avatar *userAvatar_;
@ -67,8 +62,5 @@ private:
QImage avatar_image_;
QSharedPointer<OverlayModal> logoutModal_;
QSharedPointer<dialogs::Logout> logoutDialog_;
int logoutButtonSize_;
};