From f7ad7696ef8f346062ee22c6b68286d21435ad7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Tue, 10 Jan 2017 14:00:36 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@152 a8b55f48-bf90-11e4-a774-851b48703e85 --- cd_utils/cdutils_core.cpp | 14 +++++++------- cd_utils/pult/cdkview.cpp | 15 ++++++++------- cd_utils/pult/cdkview.h | 2 +- qad_sql_table/sql_table_widget.cpp | 6 ++++++ qad_sql_table/sql_table_widget.h | 1 + 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/cd_utils/cdutils_core.cpp b/cd_utils/cdutils_core.cpp index 139f2c8..05bebf5 100644 --- a/cd_utils/cdutils_core.cpp +++ b/cd_utils/cdutils_core.cpp @@ -154,7 +154,7 @@ void CDUtils::CDCore::dataReceived(const PIString & from, const PIByteArray & da if (d && d == connection.deviceByFullPath(from)) { if (data.size() >= sizeof(4)) { const uint sig = *((const uint*)(data.data())); - if (sig == 0x54424950) datatr.received(data); + if (sig == PIBaseTransfer::packetSignature()) datatr.received(data); else { CDPacketType pt = (CDPacketType)sig; switch(pt) { @@ -216,14 +216,14 @@ void CDCore::sendThread() { bool ok = datatr.send(send_data); CDPacketType pt = (CDPacketType)wheader.type; switch (pt) { - case CD_KSend: - if (ok) K_Sended(); - else K_SendFail(); + case CD_KSend: + if (ok) K_Sended(); + else K_SendFail(); break; - case CD_KQuery: - if (!ok) K_ReceiveFail(); - default: + case CD_KQuery: + if (!ok) K_ReceiveFail(); break; + default: break; } } diff --git a/cd_utils/pult/cdkview.cpp b/cd_utils/pult/cdkview.cpp index 25e58ff..89a30fa 100644 --- a/cd_utils/pult/cdkview.cpp +++ b/cd_utils/pult/cdkview.cpp @@ -22,7 +22,8 @@ CDKView::CDKView(QWidget *parent) : QTreeView(parent) { CDKView::~CDKView() { - delete kmodel; + if (kmodel) delete kmodel; + kmodel = 0; } @@ -50,13 +51,13 @@ void CDKView::startPing() { void CDKView::sendK() { - bisyStatusChanged(true); + busyStatusChanged(true); K.send(); } void CDKView::receiveK() { - bisyStatusChanged(true); + busyStatusChanged(true); K.request(); } @@ -93,28 +94,28 @@ void CDKView::calculateK() { void CDKView::k_sendFailed() { - bisyStatusChanged(false); + busyStatusChanged(false); emit messageStatus("send failed"); emit KSendFailed(); } void CDKView::k_sendSucceed() { - bisyStatusChanged(false); + busyStatusChanged(false); emit messageStatus("send success"); emit KSendSucceed(); } void CDKView::k_receiveFailed() { - bisyStatusChanged(false); + busyStatusChanged(false); emit messageStatus("receive failed"); emit KReceiveFailed(); } void CDKView::k_receiveSucceed() { - bisyStatusChanged(false); + busyStatusChanged(false); emit messageStatus("receive success"); refresh(); emit KReceiveSucceed(); diff --git a/cd_utils/pult/cdkview.h b/cd_utils/pult/cdkview.h index 3f2edfd..1dfaa15 100644 --- a/cd_utils/pult/cdkview.h +++ b/cd_utils/pult/cdkview.h @@ -48,7 +48,7 @@ signals: void KReceiveFailed(); void KReceiveSucceed(); void messageStatus(QString msg); - void bisyStatusChanged(bool bisy); + void busyStatusChanged(bool bisy); void _qcdk_sendFailed(); // PRIVATE void _qcdk_sendSucceed(); // PRIVATE diff --git a/qad_sql_table/sql_table_widget.cpp b/qad_sql_table/sql_table_widget.cpp index 7ea85ec..2e8e31a 100644 --- a/qad_sql_table/sql_table_widget.cpp +++ b/qad_sql_table/sql_table_widget.cpp @@ -456,6 +456,10 @@ void SQLTableWidget::setTableName(const QString & t) { //((QSqlQueryModel * )model)->setQuery(QSqlQuery("SELECT id FROM " + table_ + ";")); setTableVisible(checkTable()); updateTable(); + foreach (const QString & wr, wait_rels) { + QStringList wrl = wr.split(";"); + addRelation(wrl[0], wrl[1], wrl[2], wrl[3]); + } } @@ -819,6 +823,8 @@ void SQLTableWidget::setColumnVisible(int ind, bool visible) { bool SQLTableWidget::addRelation(const QString & this_column, const QString & other_table, const QString & other_key, const QString & other_column) { + QString wr = this_column + ";" + other_table + ";" + other_key + ";" + other_column; + if (!wait_rels.contains(wr)) wait_rels << wr; ColumnProperties * cp = const_cast(columnProperty(this_column)); if (cp == 0) return false; cp->relation_table = other_table; diff --git a/qad_sql_table/sql_table_widget.h b/qad_sql_table/sql_table_widget.h index 5b75a0b..2cb0fe1 100644 --- a/qad_sql_table/sql_table_widget.h +++ b/qad_sql_table/sql_table_widget.h @@ -284,6 +284,7 @@ private: QList column_news; QList column_filters; QVector column_indexes; + QStringList wait_rels; QMenu popup_menu, popup_col, popup_filter; QTime tm; QActionGroup filters_group;