diff --git a/README.md b/README.md index 37f970e..12dd6c9 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,39 @@ +## 详细说明 + +### 消息重要性 + +本程序中每个用户、群组,都有自己的聊天重要性,即优先级。 + +有如下四级: + +- 很重要 +- 重要(私聊默认) +- 一般(群聊默认) +- 不重要 + +在右下角的托盘菜单中,可以设置允许通知的重要性,低于该重要性的消息不会显示通知。 + + + +### 不超时消失 + +“**很重要**” 级别的通知卡片,将会一直悬浮在屏幕上,不会主动超时消失(默认7秒钟后隐藏)。 + +设置中也可手动开启,针对私聊、群聊进行整体设置。 + +卡片中的右键菜单关闭、鼠标划过均可隐藏卡片。 + + + +### 发送图片 + +在程序根目录下,有 `catlike_server` 文件夹,需要放到**开启了 PHP 服务的网站目录**下,设置中将该文件夹的访问路径填入“服务主机”设置项中,即可拖拽图片到悬浮通知上,快速发送图片、表情包。 + + + ## 常见问题 ### 消息发送失败,账号可能被风控? diff --git a/mainwindow.cpp b/mainwindow.cpp index 88fcdca..a5aa18b 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -198,10 +198,13 @@ void MainWindow::showHistoryListMenu() headerLabel->setPixmap(pixmap.isNull() ? QPixmap("://icons/ignore") : pixmap); titleLabel->setText(name); + QString mess = MessageView::simpleMessage(msg); + if (mess.contains("\n")) + mess = mess.left(mess.indexOf("\n")); if (msg.isPrivate()) - messageLabel->setText(MessageView::simpleMessage(msg)); + messageLabel->setText(mess); else - messageLabel->setText(msg.nickname + ": " + MessageView::simpleMessage(msg)); + messageLabel->setText(msg.nickname + ": " + mess); titleLabel->setMaximumWidth(us->bannerFixedWidth); messageLabel->setMaximumWidth(us->bannerFixedWidth); headerLabel->setScaledContents(true); diff --git a/notification/messageview.cpp b/notification/messageview.cpp index 72d79de..7798a9f 100644 --- a/notification/messageview.cpp +++ b/notification/messageview.cpp @@ -62,7 +62,7 @@ void MessageView::setMessage(const MsgBean& msg) this->msg = msg; QString text = msg.message; if (msg.isPrivate() && msg.senderId == ac->myId) - text.insert(0, "你:"); + text.insert(0, "你:"); QRegularExpression re; QRegularExpressionMatch match; diff --git a/widgets/settings/applicationwidget.cpp b/widgets/settings/applicationwidget.cpp index 55332b0..d7c4ddb 100644 --- a/widgets/settings/applicationwidget.cpp +++ b/widgets/settings/applicationwidget.cpp @@ -25,7 +25,7 @@ void ApplicationWidget::on_startOnPowerOnCheck_clicked() QSettings *reg=new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); QString val = reg->value(appName).toString();// 如果此键不存在,则返回的是空字符串 if (us->startOnPowerOn) - reg->setValue(appName, appPath);// 如果移除的话 + reg->setValue(appName, appPath); else reg->remove(appName); reg->deleteLater();