Bug fixed.
This commit is contained in:
parent
99d23522b2
commit
367173d1fc
BIN
imgs/quit.png
BIN
imgs/quit.png
Binary file not shown.
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 16 KiB |
|
@ -1,5 +1,6 @@
|
|||
#include "login.h"
|
||||
#include "ui_login.h"
|
||||
#include <QPointer>
|
||||
|
||||
Login::Login(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
|
@ -74,7 +75,7 @@ void Login::paintEvent(QPaintEvent *event)
|
|||
// painter.drawPath(painterPath);
|
||||
|
||||
//设置阴影
|
||||
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this);
|
||||
QPointer<QGraphicsDropShadowEffect> shadow(new QGraphicsDropShadowEffect(this));
|
||||
shadow->setOffset(0, 0); //设置阴影距离
|
||||
shadow->setColor(QColor("#87CEFA")); //设置阴影颜色
|
||||
shadow->setBlurRadius(10); //设置阴影圆角
|
||||
|
@ -237,7 +238,7 @@ void Login::exit_client()
|
|||
/************************************private functions************************************/
|
||||
void Login::zoom_down(QPushButton* btn)
|
||||
{
|
||||
QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry");
|
||||
QScopedPointer<QPropertyAnimation> animalton(new QPropertyAnimation(btn,"geometry"));
|
||||
//设置间隔时间
|
||||
animalton->setDuration(200);
|
||||
//设置起始位置
|
||||
|
@ -252,7 +253,7 @@ void Login::zoom_down(QPushButton* btn)
|
|||
|
||||
void Login::zoom_up(QPushButton* btn)
|
||||
{
|
||||
QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry");
|
||||
QScopedPointer<QPropertyAnimation>animalton(new QPropertyAnimation(btn,"geometry"));
|
||||
animalton->setDuration(200);
|
||||
animalton->setStartValue(QRect(btn->x(),btn->y()+5,btn->width(),btn->height()));
|
||||
animalton->setEndValue(QRect(btn->x(),btn->y(),btn->width(),btn->height()));
|
||||
|
|
8
login.h
8
login.h
|
@ -54,10 +54,10 @@ private:
|
|||
QPoint point;
|
||||
QString user,passwd;
|
||||
static Login login_instance;
|
||||
Login *login;
|
||||
Signup *signup;
|
||||
MainWidget *mainwidget;
|
||||
DataManager *datamanager;
|
||||
QPointer<Login> login;
|
||||
QPointer<Signup> signup;
|
||||
QPointer<MainWidget> mainwidget;
|
||||
QPointer<DataManager> datamanager;
|
||||
bool connect_flag = false;
|
||||
|
||||
void new_closebutton(QPushButton* btn, QString position,QSize size);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "mainwidget.h"
|
||||
#include "ui_mainwidget.h"
|
||||
#include <QPointer>
|
||||
|
||||
MainWidget::MainWidget(QString username,QWidget *parent) :
|
||||
QWidget(parent),
|
||||
|
@ -186,7 +187,7 @@ void MainWidget::on_send_btn_clicked()
|
|||
QString to_user = text.mid(1,n-1);
|
||||
QString insert = "tell you quietly:";
|
||||
QString data_text = insert + text.mid(n,-1);
|
||||
QString text_self = QString("私发给%1:%2").arg(to_user).arg(text.mid(n));
|
||||
QString text_self = QString("私发给%1:%2").arg(to_user, text.mid(n));
|
||||
qDebug() << text_self;
|
||||
if(username == to_user)
|
||||
{
|
||||
|
@ -235,20 +236,7 @@ void MainWidget::on_exit_btn_clicked()
|
|||
{
|
||||
zoom_down(ui->exit_btn);
|
||||
zoom_up(ui->exit_btn);
|
||||
QMessageBox::StandardButton response;
|
||||
response = QMessageBox::question(this, "退出", tr("确定退出软件?否则将最小化窗口"));
|
||||
|
||||
if(response == QMessageBox::Yes)
|
||||
{
|
||||
//emit exit_client();
|
||||
//emit update_namelist(username);
|
||||
this->close();
|
||||
}
|
||||
else
|
||||
{
|
||||
this->hide();
|
||||
CreatSystemTray();
|
||||
}
|
||||
close();
|
||||
}
|
||||
|
||||
void MainWidget::on_stop_clicked()
|
||||
|
@ -352,11 +340,10 @@ void MainWidget::update_users(int count,QList<QString>online_users)
|
|||
void MainWidget::disconnect_form_server()
|
||||
{
|
||||
QMessageBox::critical(this,"连接超时","请检查您的网络连接!");
|
||||
qApp->quit();
|
||||
}
|
||||
void MainWidget::sendFile(QString filePath,QString filename,QString name)
|
||||
{
|
||||
//发送的数据存入block中
|
||||
QByteArray block;
|
||||
QFile file(filePath);
|
||||
//打开文件,定义错误提醒
|
||||
if(!file.open(QIODevice::ReadOnly)){
|
||||
|
@ -364,10 +351,6 @@ void MainWidget::sendFile(QString filePath,QString filename,QString name)
|
|||
return;
|
||||
}
|
||||
|
||||
/*打开文件流,以写的方式打开
|
||||
QDataStream out(&block,QIODevice::WriteOnly);
|
||||
out.setVersion(QDataStream::Qt_5_8);*/
|
||||
|
||||
//将数据读取到QByteArray
|
||||
QByteArray dataOfFile = file.readAll();
|
||||
//关闭文件
|
||||
|
@ -382,7 +365,7 @@ void MainWidget::sendFile(QString filePath,QString filename,QString name)
|
|||
{
|
||||
emit send_file_private(username,filename,dataOfFile,name);
|
||||
}
|
||||
QProgressDialog *progressDlg = new QProgressDialog(this);
|
||||
QScopedPointer<QProgressDialog> progressDlg(new QProgressDialog(this));
|
||||
progressDlg->setWindowModality(Qt::WindowModal);
|
||||
progressDlg->setMinimumDuration(0);
|
||||
progressDlg->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
|
@ -404,9 +387,6 @@ void MainWidget::sendFile(QString filePath,QString filename,QString name)
|
|||
|
||||
void MainWidget::readFile(QString filename,QByteArray data)
|
||||
{
|
||||
/*QString homePath = QDir::homePath();
|
||||
QString filePath = QFileDialog::getExistingDirectory(this,tr("Open Directory"),homePath,
|
||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);*/
|
||||
QString filepath = "./Document";
|
||||
QDir dir(filepath);
|
||||
if(dir.exists())
|
||||
|
@ -453,20 +433,20 @@ bool MainWidget::eventFilter(QObject *target, QEvent *event)
|
|||
void MainWidget::CreatSystemTray()
|
||||
{
|
||||
//创建菜单对象和托盘图标对象
|
||||
TrayMennu = new QMenu(this);
|
||||
SystemTray = new QSystemTrayIcon(this);
|
||||
QPointer<QMenu> TrayMennu(new QMenu(this));
|
||||
QPointer<QSystemTrayIcon> SystemTray(new QSystemTrayIcon(this));
|
||||
|
||||
//创建菜单项
|
||||
ActionShow = new QAction(tr("Show"), this);
|
||||
ActionQuit = new QAction(tr("Exit"), this);
|
||||
connect(ActionShow,&QAction::triggered,[=](){
|
||||
QPointer<QAction> ActionShow(new QAction(tr("Show"), this));
|
||||
QPointer<QAction> ActionQuit(new QAction(tr("Exit"), this));
|
||||
connect(ActionShow,&QAction::triggered,this,[=](){
|
||||
this->show();
|
||||
SystemTray->hide();
|
||||
});
|
||||
connect(ActionQuit,&QAction::triggered,[=](){
|
||||
connect(ActionQuit,&QAction::triggered,this,[=](){
|
||||
this->close();
|
||||
});
|
||||
connect(SystemTray,&QSystemTrayIcon::activated,[=](){
|
||||
connect(SystemTray,&QSystemTrayIcon::activated,this,[=](){
|
||||
this->show();
|
||||
SystemTray->hide();
|
||||
});
|
||||
|
@ -486,7 +466,7 @@ void MainWidget::CreatSystemTray()
|
|||
|
||||
void MainWidget::zoom_down(QPushButton* btn)
|
||||
{
|
||||
QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry");
|
||||
QScopedPointer<QPropertyAnimation> animalton(new QPropertyAnimation(btn,"geometry"));
|
||||
animalton->setDuration(150);
|
||||
animalton->setStartValue(QRect(btn->x(),btn->y(),btn->width(),btn->height()));
|
||||
animalton->setEndValue(QRect(btn->x(),btn->y()+5,btn->width(),btn->height()));
|
||||
|
@ -497,10 +477,38 @@ void MainWidget::zoom_down(QPushButton* btn)
|
|||
|
||||
void MainWidget::zoom_up(QPushButton* btn)
|
||||
{
|
||||
QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry");
|
||||
QScopedPointer<QPropertyAnimation> animalton(new QPropertyAnimation(btn,"geometry"));
|
||||
animalton->setDuration(150);
|
||||
animalton->setStartValue(QRect(btn->x(),btn->y()+5,btn->width(),btn->height()));
|
||||
animalton->setEndValue(QRect(btn->x(),btn->y(),btn->width(),btn->height()));
|
||||
animalton->setEasingCurve(QEasingCurve::OutBounce);
|
||||
animalton->start();
|
||||
}
|
||||
|
||||
void MainWidget::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
std::function<void(int)> callback;
|
||||
callback = [=](int r)->void{
|
||||
switch (r)
|
||||
{
|
||||
case QMessageBox::Ok:
|
||||
{
|
||||
event->accept();
|
||||
qApp->quit();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
event->ignore();
|
||||
this->hide();
|
||||
CreatSystemTray();
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
QMessageBox box(QMessageBox::Question,QString("退出"), QString("确定退出软件?否则将最小化窗口"),QMessageBox::Ok|QMessageBox::Cancel);
|
||||
box.button(QMessageBox::Ok)->setText("是");
|
||||
box.button(QMessageBox::Cancel)->setText("否");
|
||||
callback(box.exec());
|
||||
event->ignore();
|
||||
}
|
||||
|
|
|
@ -71,6 +71,7 @@ private:
|
|||
void zoom_up(QPushButton* btn);
|
||||
void zoom_down(QPushButton* btn);
|
||||
void CreatSystemTray();
|
||||
void closeEvent(QCloseEvent *event);
|
||||
};
|
||||
|
||||
#endif // MAINWIDGET_H
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
#include "signup.h"
|
||||
#include "ui_signup.h"
|
||||
#include <QPointer>
|
||||
|
||||
Signup::Signup(QWidget *parent) : QWidget(parent),
|
||||
ui(new Ui::Signup)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
QPixmap *pix = new QPixmap(":/blue.png");
|
||||
QScopedPointer<QPixmap> pix (new QPixmap(":/blue.png"));
|
||||
QSize sz = ui->label_image->size();
|
||||
ui->label_image->setPixmap(pix->scaled(sz));
|
||||
|
||||
|
@ -13,7 +14,7 @@ Signup::Signup(QWidget *parent) : QWidget(parent),
|
|||
this->setWindowFlags(Qt::FramelessWindowHint); //无边框
|
||||
|
||||
//设置阴影
|
||||
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this);
|
||||
QPointer<QGraphicsDropShadowEffect> shadow (new QGraphicsDropShadowEffect(this));
|
||||
shadow->setOffset(-3, 0);
|
||||
shadow->setColor(QColor("#888888"));
|
||||
shadow->setBlurRadius(30);
|
||||
|
@ -22,7 +23,6 @@ Signup::Signup(QWidget *parent) : QWidget(parent),
|
|||
|
||||
Signup::~Signup()
|
||||
{
|
||||
emit
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue