chore: update files of project

This commit is contained in:
x-tools-author 2024-03-28 23:55:03 +08:00
parent 95667e2f1e
commit 3ea285bbbe
4 changed files with 17 additions and 81 deletions

View File

@ -27,13 +27,7 @@
#include <QStandardItemModel> #include <QStandardItemModel>
#include <QTextDocument> #include <QTextDocument>
#include <QTranslator> #include <QTranslator>
#ifdef X_TOOLS_IMPORT_MODULE_QML
#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
#include <QQuickTextDocument>
#endif
#endif
#include "xToolsDataStructure.h"
#include "xToolsSettings.h" #include "xToolsSettings.h"
xToolsApplication::xToolsApplication(int argc, char *argv[]) xToolsApplication::xToolsApplication(int argc, char *argv[])
@ -183,93 +177,36 @@ QIcon xToolsApplication::cookedIcon(const QIcon &icon)
QMainWindow *xToolsApplication::mainWindow() QMainWindow *xToolsApplication::mainWindow()
{ {
for (const auto& it : qobject_cast<QApplication*>(qApp)->topLevelWidgets()) { for (const auto& it : qobject_cast<QApplication*>(qApp)->topLevelWidgets()) {
auto w = qobject_cast<QMainWindow*>(it); auto mainWindow = qobject_cast<QMainWindow*>(it);
if (w) { if (mainWindow) {
return w; return mainWindow;
} }
} }
return nullptr; return nullptr;
} }
void xToolsApplication::setMaximumBlockCount(QVariant doc, int maximum) QString xToolsApplication::clipboardText()
{ {
auto obj = doc.value<QObject *>(); return QGuiApplication::clipboard()->text();
if (obj) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
#ifdef X_TOOLS_IMPORT_MODULE_QML
auto quickTextDoc = qobject_cast<QQuickTextDocument *>(obj);
if (quickTextDoc) {
auto textDoc = quickTextDoc->textDocument();
textDoc->setMaximumBlockCount(maximum);
}
#else
Q_UNUSED(doc)
Q_UNUSED(maximum)
#endif
#else
Q_UNUSED(doc)
Q_UNUSED(maximum)
#endif
}
} }
void xToolsApplication::setClipboardText(const QString &text) void xToolsApplication::setClipboardText(const QString &text)
{ {
QGuiApplication::clipboard()->setText(text); QGuiApplication::clipboard()->setText(text);
} }
QString xToolsApplication::arrayToString(const QByteArray &array, int format)
{
auto cookedArray = [](const QByteArray &array, int base, int len) -> QString {
QString str, numStr;
for (int i = 0; i < array.length(); i++) {
if (base == 10 || base == 8) {
numStr = QString::number(array.at(i), base);
str.append(QString("%1 ").arg(numStr));
} else {
numStr = QString::number(quint8(array.at(i)), base);
str.append(QString("%1 ").arg(numStr, len, '0'));
}
}
return str;
};
if (xToolsDataStructure::TextFormatBin == format) {
return cookedArray(array, 2, 8);
} else if (xToolsDataStructure::TextFormatOct == format) {
return cookedArray(array, 8, 3);
} else if (xToolsDataStructure::TextFormatDec == format) {
return cookedArray(array, 10, 3);
} else if (xToolsDataStructure::TextFormatHex == format) {
return cookedArray(array, 16, 2);
} else if (xToolsDataStructure::TextFormatAscii == format) {
return QString::fromLatin1(array);
} else {
return QString::fromUtf8(array);
}
}
QString xToolsApplication::dateTimeString(const QString &format) QString xToolsApplication::dateTimeString(const QString &format)
{ {
return QDateTime::currentDateTime().toString(format); return QDateTime::currentDateTime().toString(format);
} }
QString xToolsApplication::cookedFileName(const QString &fileName) QString xToolsApplication::stringToHexString(const QString &str)
{
QString cookedFileName = fileName;
#ifdef Q_OS_WIN
cookedFileName = cookedFileName.remove("file:///");
#endif
return cookedFileName;
}
QString xToolsApplication::string2hexString(const QString &str)
{ {
return QString::fromLatin1(str.toUtf8().toHex()); return QString::fromLatin1(str.toUtf8().toHex());
} }
QString xToolsApplication::hexString2String(const QString &str) QString xToolsApplication::hexStringToString(const QString &str)
{ {
QByteArray arr = QByteArray::fromHex(str.toUtf8()); QByteArray arr = QByteArray::fromHex(str.toUtf8());
return QString::fromUtf8(arr); return QString::fromUtf8(arr);

View File

@ -40,13 +40,12 @@ public:
static QIcon cookedIcon(const QIcon &icon); static QIcon cookedIcon(const QIcon &icon);
static QMainWindow *mainWindow(); static QMainWindow *mainWindow();
Q_INVOKABLE static void setMaximumBlockCount(QVariant doc, int maximum); Q_INVOKABLE static QString clipboardText();
Q_INVOKABLE static void setClipboardText(const QString &text); Q_INVOKABLE static void setClipboardText(const QString &text);
Q_INVOKABLE static QString arrayToString(const QByteArray &array, int format);
Q_INVOKABLE static QString dateTimeString(const QString &format); Q_INVOKABLE static QString dateTimeString(const QString &format);
Q_INVOKABLE static QString cookedFileName(const QString &fileName); Q_INVOKABLE static QString stringToHexString(const QString &str);
Q_INVOKABLE static QString string2hexString(const QString &str); Q_INVOKABLE static QString hexStringToString(const QString &str);
Q_INVOKABLE static QString hexString2String(const QString &str);
Q_INVOKABLE static QString buildDateTime(const QString &format); Q_INVOKABLE static QString buildDateTime(const QString &format);
Q_INVOKABLE static QString systemDateFormat(); Q_INVOKABLE static QString systemDateFormat();
Q_INVOKABLE static QString systemTimeFormat(); Q_INVOKABLE static QString systemTimeFormat();

View File

@ -240,7 +240,7 @@ QString xToolsToolBoxUi::dateTimeFormat()
void xToolsToolBoxUi::output2ui(const QByteArray& bytes, const QString& flag, bool isRx) void xToolsToolBoxUi::output2ui(const QByteArray& bytes, const QString& flag, bool isRx)
{ {
int format = ui->comboBoxOutputFormat->currentData().toInt(); int format = ui->comboBoxOutputFormat->currentData().toInt();
QString str = xToolsApplication::arrayToString(bytes, format); QString str = xToolsDataStructure::byteArrayToString(bytes, format);
if (!str.contains(m_outputMenu->filter())) { if (!str.contains(m_outputMenu->filter())) {
return; return;
@ -312,7 +312,7 @@ void xToolsToolBoxUi::setDefaultText()
{ {
QByteArray ba("(null)"); QByteArray ba("(null)");
int format = ui->comboBoxInputFormat->currentData().toInt(); int format = ui->comboBoxInputFormat->currentData().toInt();
QString str = xToolsApplication::arrayToString(ba, format); QString str = xToolsDataStructure::byteArrayToString(ba, format);
ui->comboBoxInputText->setCurrentText(str); ui->comboBoxInputText->setCurrentText(str);
} }

View File

@ -14,7 +14,7 @@
#include <QTextStream> #include <QTextStream>
#include <Qt> #include <Qt>
#include "xToolsApplication.h" #include "xToolsDataStructure.h"
xToolsStorerTool::xToolsStorerTool(QObject *parent) xToolsStorerTool::xToolsStorerTool(QObject *parent)
: xToolsBaseTool{parent} : xToolsBaseTool{parent}
@ -166,8 +166,7 @@ void xToolsStorerTool::write2file()
this->mParametersMutex.lock(); this->mParametersMutex.lock();
int format = this->mParameters.format; int format = this->mParameters.format;
this->mParametersMutex.unlock(); this->mParametersMutex.unlock();
auto str = xToolsApplication::arrayToString(bytes, format); auto str = xToolsDataStructure::byteArrayToString(bytes, format);
QString dtStr; QString dtStr;
auto dt = QDateTime::currentDateTime(); auto dt = QDateTime::currentDateTime();
if (mParameters.saveDate && mParameters.saveTime) { if (mParameters.saveDate && mParameters.saveTime) {
@ -189,6 +188,7 @@ void xToolsStorerTool::write2file()
} }
} }
} }
outStream << dtStr << str << "\n";
} }
file.close(); file.close();
} else { } else {