You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.2 KiB

3 years ago
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGlobal>
#include <QResource>
#include <QApplication>
#include <QScreen>
#include <QtWidgets/QMenu>
#include <QMainWindow>
#include <QObject>
#include <QtCore>
#include <QtGui>
#include <QFileInfo>
#include <iostream>
#include "conversations.h"
#include "chatwindow.h"
3 years ago
#include "wsclient.h"
3 years ago
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(Conversations *ctx, QWidget *parent = nullptr);
3 years ago
static MainWindow *getInstance();
static Conversations *getContext();
3 years ago
void openChatWindow(const QString &uid);
3 years ago
~MainWindow() override;
Ui::MainWindow *ui;
qreal screenDpiRef;
QRect screenGeo;
QRect screenRect;
qreal screenDpi;
qreal screenDpiPhysical;
qreal screenRatio;
3 years ago
signals:
void requestChatWindow(QString uid);
private slots:
void onChatWindowClosed();
void rowClicked(QString uid) {
emit requestChatWindow(uid);
}
3 years ago
private:
Conversations *m_ctx;
3 years ago
static MainWindow *pMainWindow;
void closeEvent(QCloseEvent *event) override;
void showDebugInfo();
ChatWindow *m_chatWindow = nullptr;
3 years ago
};
#endif