Skip to content

Commit e622609

Browse files
committed
Merge branch 'dev'
2 parents 69f6b57 + eb6ac98 commit e622609

15 files changed

+314
-190
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
[中文](doc/CHANGELOG/CHANGELOG_zh_CN.md)
44

5+
## V0.2.1
6+
+ Add command line option to set config file path
7+
+ Fix some bugs in file transceiver
8+
+ Add touch screen gesture support for some scrollable widgets
9+
510
## V0.2
611
+ Supports TCP client/server, UDP, Bluetooth SPP client/server and Bluetooth BLE
712
+ All servers support 1:N connections. Sent to/Receive from/Disconnect any client as you want

doc/CHANGELOG/CHANGELOG_zh_CN.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
[English](../../CHANGELOG.md)
44

5+
## V0.2.1
6+
+ 支持通过命令行参数指定配置文件路径
7+
+ 修复文件收发功能的一些小BUG
8+
+ 对一些可以滚动的组件添加触摸屏手势支持
9+
510
## V0.2
611
+ 支持TCP客户端/服务器,UDP,蓝牙SPP客户端/服务器和蓝牙BLE
712
+ TCP服务器和蓝牙SPP服务器支持一对多连接,可以任意指定收发对象,断开指定连接

src/SerialTest.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
8181
!isEmpty(target.path): INSTALLS += target
8282

8383
# Remember to change version in AndroidManifest.xml
84-
VERSION = 0.2.0
84+
VERSION = 0.2.1
8585
QMAKE_TARGET_PRODUCT = "SerialTest"
8686
QMAKE_TARGET_DESCRIPTION = "SerialTest"
8787
QMAKE_TARGET_COMPANY = "wh201906"

src/android/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0"?>
2-
<manifest package="priv.wh201906.serialtest" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="V0.2" android:versionCode="20" android:installLocation="auto">
2+
<manifest package="priv.wh201906.serialtest" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="V0.2.1" android:versionCode="21" android:installLocation="auto">
33
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
44
Remove the comment if you do not require these default permissions. -->
55
<!-- %%INSERT_PERMISSIONS -->

src/ctrltab.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <QMessageBox>
1414
#include <QJsonDocument>
1515
#include <QJsonArray>
16+
#include <QScroller>
1617

1718
CtrlTab::CtrlTab(QWidget *parent) :
1819
QWidget(parent),
@@ -29,6 +30,7 @@ CtrlTab::CtrlTab(QWidget *parent) :
2930
commentRegExp->optimize();
3031

3132
ui->ctrl_dataEdit->hide();
33+
QScroller::grabGesture(ui->ctrl_itemArea);
3234
}
3335

3436
CtrlTab::~CtrlTab()

src/devicetab.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <QBluetoothLocalDevice>
99
#include <QNetworkInterface>
1010
#include <QTreeWidgetItem>
11+
#include <QScroller>
1112
#ifdef Q_OS_ANDROID
1213
#include <QtAndroid>
1314
#include <QAndroidJniEnvironment>
@@ -276,6 +277,14 @@ void DeviceTab::initUI()
276277
ui->Net_localPortEdit->setValidator(m_netPortValidator);
277278
ui->Net_remotePortEdit->setValidator(m_netPortValidator);
278279

280+
QScroller::grabGesture(ui->BLEC_argsScrollArea);
281+
QScroller::grabGesture(ui->Net_argsScrollArea);
282+
QScroller::grabGesture(ui->SP_portList);
283+
QScroller::grabGesture(ui->BTServer_deviceList);
284+
QScroller::grabGesture(ui->BTClient_deviceList);
285+
QScroller::grabGesture(ui->BLEC_deviceList);
286+
QScroller::grabGesture(ui->BLEC_UUIDList);
287+
QScroller::grabGesture(ui->Net_addrPortList);
279288
}
280289

281290
void DeviceTab::getAvailableTypes(bool useFirstValid)

src/filetab.cpp

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,13 @@ void FileTab::onDataTransmitted(qsizetype num)
282282
void FileTab::onDataReceived(qsizetype num)
283283
{
284284
m_handledSize += num;
285-
ui->sizeLabel->setText(QLocale(QLocale::English).toString(m_handledSize) + " Bytes");
285+
if(currentProtocol() == FileXceiver::RawProtocol && ui->RawRx_autostopByteButton->isChecked())
286+
{
287+
ui->progressBar->setValue((double)m_handledSize / m_fileSize * 100.0);
288+
ui->sizeLabel->setText(QLocale(QLocale::English).toString(m_handledSize) + "/" + QLocale(QLocale::English).toString(m_fileSize) + " Bytes");
289+
}
290+
else
291+
ui->sizeLabel->setText(QLocale(QLocale::English).toString(m_handledSize) + " Bytes");
286292
}
287293

288294
bool FileTab::receiving()
@@ -309,7 +315,7 @@ void FileTab::onStartResultArrived(bool result)
309315
m_working = result;
310316
if(result)
311317
{
312-
if(ui->receiveModeButton->isChecked() && currentProtocol() == FileXceiver::RawProtocol)
318+
if(ui->receiveModeButton->isChecked() && currentProtocol() == FileXceiver::RawProtocol && ui->RawRx_autostopNoneButton->isChecked())
313319
ui->progressBar->setMaximum(0);
314320
setParameterWidgetEnabled(false);
315321
ui->startStopButton->setText(tr("Stop"));
@@ -333,13 +339,26 @@ void FileTab::stop()
333339

334340
void FileTab::updateFileSize()
335341
{
336-
if(ui->receiveModeButton->isChecked() && currentProtocol() == FileXceiver::RawProtocol)
337-
ui->sizeLabel->setText("");
342+
m_fileSize = -1;
343+
if(ui->receiveModeButton->isChecked())
344+
{
345+
if(currentProtocol() == FileXceiver::RawProtocol)
346+
{
347+
if(ui->RawRx_autostopByteButton->isChecked())
348+
m_fileSize = ui->RawRx_autostopByteBox->currentText().toLongLong();
349+
else
350+
m_fileSize = -1;
351+
}
352+
}
338353
else
339354
{
340355
m_fileSize = QFileInfo(ui->filePathEdit->text()).size();
341-
ui->sizeLabel->setText(QLocale(QLocale::English).toString(m_fileSize) + " Bytes");
342356
}
357+
358+
if(m_fileSize == -1)
359+
ui->sizeLabel->setText("");
360+
else
361+
ui->sizeLabel->setText(QLocale(QLocale::English).toString(m_handledSize) + "/" + QLocale(QLocale::English).toString(m_fileSize) + " Bytes");
343362
}
344363

345364
void FileTab::setParameterWidgetEnabled(bool state)

src/filexceiver.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
FileXceiver::FileXceiver(QObject *parent)
77
: QObject{parent}
88
{
9-
qRegisterMetaType<qsizetype>();
9+
qRegisterMetaType<qsizetype>("qsizetype"); // qsizetype is an alias, so the typeName is compulsory
1010
qRegisterMetaType<FileXceiver::Protocol>();
1111
qRegisterMetaType<FileXceiver::ThrottleArgument>();
1212
m_file.setParent(this); // for moveToThread()
@@ -89,19 +89,19 @@ void FileXceiver::newData(const QByteArray &data)
8989
if(m_protocol == RawProtocol)
9090
{
9191
qsizetype num;
92-
qsizetype limit = -1;
92+
qsizetype limit = -1, currNum = -1;
9393
if(m_expectedNum != -1)
9494
{
9595
limit = m_expectedNum - m_handledNum;
96-
limit = limit < data.size() ? limit : data.size();
97-
num = m_file.write(data.constData(), limit);
96+
currNum = limit < data.size() ? limit : data.size();
97+
num = m_file.write(data.constData(), currNum);
9898
}
9999
else
100100
num = m_file.write(data);
101101
m_file.flush();
102102
m_handledNum += num;
103103
emit dataReceived(num);
104-
if(m_expectedNum != -1 && limit != data.size())
104+
if(m_expectedNum != -1 && currNum == limit)
105105
emit finished();
106106
}
107107
}

src/filexceiver.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public slots:
6666
};
6767

6868
Q_DECLARE_METATYPE(qsizetype)
69+
Q_DECLARE_METATYPE(FileXceiver::Protocol)
6970
Q_DECLARE_METATYPE(FileXceiver::ThrottleArgument)
7071

7172
#endif // FILEXCEIVER_H

src/i18n/SerialTest_zh_CN.qm

600 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)