diff --git a/include/dialogs/ImageOverlayDialog.h b/include/dialogs/ImageOverlayDialog.h
new file mode 100644
index 00000000..5159c665
--- /dev/null
+++ b/include/dialogs/ImageOverlayDialog.h
@@ -0,0 +1,46 @@
+/*
+ * nheko Copyright (C) 2017 Konstantinos Sideris <siderisk@auth.gr>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <QDialog>
+#include <QMouseEvent>
+#include <QPixmap>
+
+class ImageOverlayDialog : public QWidget
+{
+ Q_OBJECT
+public:
+ ImageOverlayDialog(QPixmap image, QWidget *parent = nullptr);
+
+protected:
+ void mousePressEvent(QMouseEvent *event) override;
+ void paintEvent(QPaintEvent *event) override;
+
+signals:
+ void closing();
+
+private:
+ void scaleImage(int width, int height);
+
+ QPixmap originalImage_;
+ QPixmap image_;
+
+ QRect content_;
+ QRect close_button_;
+ QRect screen_;
+};
diff --git a/include/dialogs/JoinRoomDialog.h b/include/dialogs/JoinRoomDialog.h
new file mode 100644
index 00000000..84184733
--- /dev/null
+++ b/include/dialogs/JoinRoomDialog.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include <QFrame>
+#include <QLineEdit>
+
+class FlatButton;
+
+class JoinRoomDialog : public QFrame
+{
+ Q_OBJECT
+public:
+ JoinRoomDialog(QWidget *parent = nullptr);
+
+signals:
+ void closing(bool isJoining, QString roomAlias);
+
+private:
+ FlatButton *confirmBtn_;
+ FlatButton *cancelBtn_;
+
+ QLineEdit *roomAliasEdit_;
+};
diff --git a/include/dialogs/LeaveRoomDialog.h b/include/dialogs/LeaveRoomDialog.h
new file mode 100644
index 00000000..eab022f7
--- /dev/null
+++ b/include/dialogs/LeaveRoomDialog.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include <QFrame>
+
+class FlatButton;
+
+class LeaveRoomDialog : public QFrame
+{
+ Q_OBJECT
+public:
+ explicit LeaveRoomDialog(QWidget *parent = nullptr);
+
+protected:
+ void paintEvent(QPaintEvent *event) override;
+
+signals:
+ void closing(bool isLeaving);
+
+private:
+ FlatButton *confirmBtn_;
+ FlatButton *cancelBtn_;
+};
diff --git a/include/dialogs/LogoutDialog.h b/include/dialogs/LogoutDialog.h
new file mode 100644
index 00000000..a1a5ee4f
--- /dev/null
+++ b/include/dialogs/LogoutDialog.h
@@ -0,0 +1,39 @@
+/*
+ * nheko Copyright (C) 2017 Konstantinos Sideris <siderisk@auth.gr>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <QFrame>
+
+class FlatButton;
+
+class LogoutDialog : public QFrame
+{
+ Q_OBJECT
+public:
+ explicit LogoutDialog(QWidget *parent = nullptr);
+
+protected:
+ void paintEvent(QPaintEvent *event) override;
+
+signals:
+ void closing(bool isLoggingOut);
+
+private:
+ FlatButton *confirmBtn_;
+ FlatButton *cancelBtn_;
+};
|