From 1a8b442aaa38d090ef5625f5f7f8a865a14d7be8 Mon Sep 17 00:00:00 2001 From: peri4 Date: Tue, 3 May 2022 18:57:01 +0300 Subject: [PATCH] new PIP --- libs/piqt/piqt.h | 3 +++ libs/piqt_widgets/piqt_connection_edit.cpp | 12 ++++++++++++ libs/piqt_widgets/piqt_connection_view.cpp | 4 ++++ libs/piqt_widgets/piqt_iodevice_edit_dialog.cpp | 8 ++++++++ utils/piconnedit/piconnedit_main.cpp | 3 ++- utils/piintrospector/piintrospector.cpp | 4 ++++ utils/piintrospector/threads_view.cpp | 4 ++++ 7 files changed, 37 insertions(+), 1 deletion(-) diff --git a/libs/piqt/piqt.h b/libs/piqt/piqt.h index 43bd1a9..f6bcfce 100644 --- a/libs/piqt/piqt.h +++ b/libs/piqt/piqt.h @@ -52,6 +52,9 @@ QAD_PIQT_EXPORT const PIVariant Q2PIVariant(const QVariant & v); //inline const QString PI2QString(const PIString & v) {return QString::fromLocal8Bit(v.data());} inline const QString PI2QString(const PIString & v) {return QString::fromUtf8(v.dataUTF8());} +#if PIP_VERSION >= PIP_MAKE_VERSION(2,38,0) +inline const QString PI2QString(const PIConstChars & v) {return QString::fromLatin1(v.data(), v.length());} +#endif //inline const PIString Q2PIString(const QString & v) {return PIString(v.toLocal8Bit().data());} inline const PIString Q2PIString(const QString & v) {return PIString::fromUTF8(v.toUtf8().data());} diff --git a/libs/piqt_widgets/piqt_connection_edit.cpp b/libs/piqt_widgets/piqt_connection_edit.cpp index b505e7a..47a1462 100644 --- a/libs/piqt_widgets/piqt_connection_edit.cpp +++ b/libs/piqt_widgets/piqt_connection_edit.cpp @@ -19,14 +19,22 @@ ConnectionEdit::ConnectionEdit(QWidget * parent): QDialog(parent) { PICodeInfo::EnumInfo * ei = PICodeInfo::enumsInfo->value("PIIODevice::DeviceMode"); if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members) +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + ui->comboMode->addItem(PI2QString(e.name.toString() + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue(e.value)); +#else ui->comboMode->addItem(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue(e.value)); +#endif } ui->comboMode->setCurrentIndex(ui->comboMode->count() - 1); ei = PICodeInfo::enumsInfo->value("PIIODevice::DeviceOption"); if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members) { QCheckBox * cb = new QCheckBox(); +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + cb->setText(PI2QString(e.name.toString() + " (" + PIString::fromNumber(e.value) + ")")); +#else cb->setText(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")")); +#endif cb->setProperty("__value", e.value); ui->layoutOptions->addWidget(cb); } @@ -34,7 +42,11 @@ ConnectionEdit::ConnectionEdit(QWidget * parent): QDialog(parent) { ei = PICodeInfo::enumsInfo->value("PIPacketExtractor::SplitMode"); if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members) +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + ui->comboSplit->addItem(PI2QString(e.name.toString() + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue(e.value)); +#else ui->comboSplit->addItem(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue(e.value)); +#endif } udevicenum = 0; } diff --git a/libs/piqt_widgets/piqt_connection_view.cpp b/libs/piqt_widgets/piqt_connection_view.cpp index 6d968f6..fe44203 100644 --- a/libs/piqt_widgets/piqt_connection_view.cpp +++ b/libs/piqt_widgets/piqt_connection_view.cpp @@ -73,7 +73,11 @@ void FilterItem::rename() { if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & i, ei->members) if (i.value == mode()) { +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + ms = PI2QString(i.name.toString()); +#else ms = PI2QString(i.name); +#endif break; } } diff --git a/libs/piqt_widgets/piqt_iodevice_edit_dialog.cpp b/libs/piqt_widgets/piqt_iodevice_edit_dialog.cpp index e3b9b83..4100cd2 100644 --- a/libs/piqt_widgets/piqt_iodevice_edit_dialog.cpp +++ b/libs/piqt_widgets/piqt_iodevice_edit_dialog.cpp @@ -12,14 +12,22 @@ IODeviceEditDialog::IODeviceEditDialog(QWidget * parent): QDialog(parent) { PICodeInfo::EnumInfo * ei = PICodeInfo::enumsInfo->value("PIIODevice::DeviceMode"); if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members) +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + ui->comboMode->addItem(PI2QString(e.name.toString() + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue(e.value)); +#else ui->comboMode->addItem(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue(e.value)); +#endif } ui->comboMode->setCurrentIndex(ui->comboMode->count() - 1); ei = PICodeInfo::enumsInfo->value("PIIODevice::DeviceOption"); if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members) { QCheckBox * cb = new QCheckBox(); +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + cb->setText(PI2QString(e.name.toString() + " (" + PIString::fromNumber(e.value) + ")")); +#else cb->setText(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")")); +#endif cb->setProperty("__value", e.value); ui->layoutOptions->addWidget(cb); } diff --git a/utils/piconnedit/piconnedit_main.cpp b/utils/piconnedit/piconnedit_main.cpp index 56dccd1..5bb5957 100644 --- a/utils/piconnedit/piconnedit_main.cpp +++ b/utils/piconnedit/piconnedit_main.cpp @@ -16,7 +16,8 @@ int main(int argc, char * argv[]) { QPIConfig cfg(a.arguments()[1]); QByteArray model = cfg.getValue("connectionmodel").toByteArray(); if (!model.isEmpty()) w.setModel(model); - } + } else + w.recreateConnection(); if (w.exec() == QDialog::Accepted) { QString c = QFileDialog::getSaveFileName(&w, "Save config to file", a.applicationDirPath(), "*.conf"); if (!c.isEmpty()) { diff --git a/utils/piintrospector/piintrospector.cpp b/utils/piintrospector/piintrospector.cpp index 3ea96ef..9c3aaed 100644 --- a/utils/piintrospector/piintrospector.cpp +++ b/utils/piintrospector/piintrospector.cpp @@ -28,7 +28,11 @@ QPIIntrospector::QPIIntrospector(QWidget * parent): EMainWindow(parent), peer("_ PICodeInfo::EnumInfo * ei = PICodeInfo::enumsInfo->value("PIIntrospection::InfoTypes"); if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members) { +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + QCheckBox * cb = new QCheckBox(PI2QString(e.name.mid(2).toString())); +#else QCheckBox * cb = new QCheckBox(PI2QString(e.name.mid(2))); +#endif cb->setObjectName(QString("checkRequest%1").arg(e.value)); cb->setProperty("__value__", e.value); layoutRequestFlags->addWidget(cb); diff --git a/utils/piintrospector/threads_view.cpp b/utils/piintrospector/threads_view.cpp index 0fcd09b..40c3f3a 100644 --- a/utils/piintrospector/threads_view.cpp +++ b/utils/piintrospector/threads_view.cpp @@ -25,7 +25,11 @@ ThreadsModel::ThreadsModel() { PICodeInfo::EnumInfo * ei = PICodeInfo::enumsInfo->value("PIIntrospectionThreads::ThreadState"); if (ei) { piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members) { +#if PIP_VERSION >= PIP_MAKE_VERSION(2,39,0) + state_names[e.value] = PI2QString(e.name.mid(1).toString()); +#else state_names[e.value] = PI2QString(e.name.mid(1)); +#endif } } state_colors[PIIntrospectionThreads::sStopped] = QColor(Qt::red).lighter(150);