mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
VersionSelectWidget refact
This commit is contained in:
@@ -1,59 +1,87 @@
|
||||
#include "versionselectwidget.h"
|
||||
#include "ui_versionselectwidget.h"
|
||||
#include "ui_versionselectwidget.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
#include <QResizeEvent>
|
||||
|
||||
VersionSelectWidget::VersionSelectWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
#include "versionselectwidget.h"
|
||||
#include "specialmessagebox.h"
|
||||
#include "ui_versionselectwidget.h"
|
||||
|
||||
|
||||
VersionSelectWidget::VersionSelectWidget(ConnectorToServer* connectorToServer, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::VersionSelectWidget),
|
||||
connectorToServer(connectorToServer),
|
||||
versionContainer(nullptr),
|
||||
serverDataList(nullptr),
|
||||
selectedVersion(nullptr),
|
||||
waitAnimationWidget(nullptr),
|
||||
recognizeSystem(nullptr)
|
||||
authorName(""),
|
||||
flGetVersion(false)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
|
||||
setAttribute(Qt::WA_ShowModal,true);
|
||||
}
|
||||
ui->setupUi(this);
|
||||
|
||||
void VersionSelectWidget::initialize(SendSystem *sendSystem,VersionContainer *versionContainer,NotifyController *notifyController, RecognizeSystem *recognizeSystem)
|
||||
{
|
||||
this->recognizeSystem = recognizeSystem;
|
||||
setMinimumSize(500, 300);
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
setWindowTitle(tr("Version control"));
|
||||
|
||||
versionContainer = new VersionContainer;
|
||||
|
||||
waitAnimationWidget = new WaitAnimationWidget;
|
||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||
waitAnimationWidget->setParent(this);
|
||||
waitAnimationWidget->initialize(movie,this);
|
||||
}
|
||||
|
||||
connect(this,&VersionSelectWidget::sigSendSwitchVersion,sendSystem,&SendSystem::sendChangeVersion,Qt::AutoConnection);
|
||||
connect(this,&VersionSelectWidget::sigSendCopyVersion,sendSystem,&SendSystem::sendCopyVersion,Qt::AutoConnection);
|
||||
connect(this,&VersionSelectWidget::sigSendDeleteVersion,sendSystem,&SendSystem::sendDeleteVersion,Qt::AutoConnection);
|
||||
connect(this,&VersionSelectWidget::sigSendNotify,notifyController,&NotifyController::showWarning,Qt::AutoConnection);
|
||||
VersionSelectWidget::~VersionSelectWidget()
|
||||
{
|
||||
waitAnimationWidget->hideWithStop();
|
||||
|
||||
connect(recognizeSystem,&RecognizeSystem::sigAnimationActivated,this,&VersionSelectWidget::slot_activateLoadAnimation,Qt::AutoConnection);
|
||||
delete versionContainer;
|
||||
|
||||
this->versionContainer = versionContainer;
|
||||
hide();
|
||||
setWindowTitle(tr("Version control"));
|
||||
delete waitAnimationWidget;
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void VersionSelectWidget::initialize()
|
||||
{
|
||||
connect (connectorToServer, &ConnectorToServer::signal_SetVersion, this, &VersionSelectWidget::slot_SetVersion);
|
||||
connect(connectorToServer, &ConnectorToServer::signal_AnimationActivated, this, &VersionSelectWidget::slot_activateLoadAnimation);
|
||||
|
||||
connect(connectorToServer, &ConnectorToServer::signal_showServerList, this, &VersionSelectWidget::slot_showServerList);
|
||||
|
||||
connect(this, &VersionSelectWidget::sigSendSwitchVersion, connectorToServer, &ConnectorToServer::slot_SendSwitchVersion);
|
||||
connect(this, &VersionSelectWidget::sigSendCopyVersion, connectorToServer, &ConnectorToServer::slot_SendCopyVersion);
|
||||
connect(this, &VersionSelectWidget::sigSendDeleteVersion, connectorToServer, &ConnectorToServer::slot_SendDeleteVersion);
|
||||
|
||||
connect(this, &VersionSelectWidget::signal_getVersion, connectorToServer, &ConnectorToServer::slot_getVersion);
|
||||
|
||||
emit signal_getVersion();
|
||||
//connectorToServer->sendShowVersionSelect();
|
||||
}
|
||||
|
||||
void VersionSelectWidget::fillView(QList<StreamingVersionData *> *serverData)
|
||||
{
|
||||
show();
|
||||
ui->verListView->clear();
|
||||
serverDataList = serverData;
|
||||
ui->verValue->setText(versionContainer->getServerVersionData()->getViewName());
|
||||
|
||||
foreach(StreamingVersionData *data,*serverData)
|
||||
for(StreamingVersionData *data : *serverData)
|
||||
{
|
||||
ui->verListView->addItem(data->getViewName());
|
||||
}
|
||||
|
||||
ui->verListView->setCurrentRow(0);
|
||||
ui->verListView->itemClicked(ui->verListView->item(0));
|
||||
}
|
||||
|
||||
QString VersionSelectWidget::changableText(bool flag)
|
||||
{
|
||||
if(flag) return tr("Yes");
|
||||
else return tr("No");
|
||||
}
|
||||
|
||||
void VersionSelectWidget::on_verListView_itemClicked(QListWidgetItem *item)
|
||||
{
|
||||
foreach(StreamingVersionData *data,*serverDataList)
|
||||
for(StreamingVersionData *data : *serverDataList)
|
||||
{
|
||||
if(data->getViewName() == item->text())
|
||||
{
|
||||
@@ -67,47 +95,42 @@ void VersionSelectWidget::on_verListView_itemClicked(QListWidgetItem *item)
|
||||
}
|
||||
}
|
||||
|
||||
QString VersionSelectWidget::changableText(bool flag)
|
||||
{
|
||||
if(flag) return tr("Yes");
|
||||
else return tr("No");
|
||||
}
|
||||
|
||||
|
||||
void VersionSelectWidget::on_createDuplicateButton_clicked()
|
||||
{
|
||||
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"), this);
|
||||
return;
|
||||
}
|
||||
|
||||
DialogNewVersion *dlgNewVersion = new DialogNewVersion(this);
|
||||
dlgNewVersion->initialize(this,selectedVersion->getViewName());
|
||||
dlgNewVersion->exec();
|
||||
delete dlgNewVersion;
|
||||
}
|
||||
|
||||
void VersionSelectWidget::sendCopyEmit(QString newName)
|
||||
{
|
||||
QString result = selectedVersion->getViewName() + ";" + newName + ";" + authorName;
|
||||
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"), this);
|
||||
QString text = tr("Version not selected");
|
||||
SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningClose, text).exec();
|
||||
return;
|
||||
}
|
||||
|
||||
//versionContainer->setLocalVersionData(selectedVersion);
|
||||
versionContainer->setLocalVersionData(selectedVersion);
|
||||
emit sigSendCopyVersion(result);
|
||||
}
|
||||
|
||||
void VersionSelectWidget::on_DeleteVersionButton_clicked()
|
||||
void VersionSelectWidget::on_createDuplicateButton_clicked()
|
||||
{
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"), this);
|
||||
QString text = tr("Version not selected");
|
||||
SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningClose, text).exec();
|
||||
return;
|
||||
}
|
||||
|
||||
DialogNewVersion *dlgNewVersion = new DialogNewVersion(this);
|
||||
dlgNewVersion->initialize(this, selectedVersion->getViewName());
|
||||
dlgNewVersion->exec();
|
||||
delete dlgNewVersion;
|
||||
}
|
||||
|
||||
void VersionSelectWidget::on_deleteVersionButton_clicked()
|
||||
{
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
QString text = tr("Version not selected");
|
||||
SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningClose, text).exec();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -118,7 +141,8 @@ void VersionSelectWidget::on_switchServerVersionButton_clicked()
|
||||
{
|
||||
if (selectedVersion == nullptr)
|
||||
{
|
||||
emit sigSendNotify(tr("Version not selected"), this);
|
||||
QString text = tr("Version not selected");
|
||||
SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningClose, text).exec();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -139,6 +163,21 @@ void VersionSelectWidget::slot_activateLoadAnimation(bool flag)
|
||||
}
|
||||
}
|
||||
|
||||
void VersionSelectWidget::slot_showServerList(QList<StreamingVersionData *> *serverList)
|
||||
{
|
||||
fillView(serverList);
|
||||
}
|
||||
|
||||
void VersionSelectWidget::slot_SetVersion(StreamingVersionData *serverVersion)
|
||||
{
|
||||
versionContainer->setServerVersionData(serverVersion);
|
||||
|
||||
if(!flGetVersion)
|
||||
connectorToServer->sendShowVersionSelect();
|
||||
|
||||
flGetVersion = true;
|
||||
}
|
||||
|
||||
void VersionSelectWidget::setAuthor(QString name)
|
||||
{
|
||||
authorName = name;
|
||||
@@ -149,15 +188,3 @@ void VersionSelectWidget::resizeEvent(QResizeEvent *event)
|
||||
QSize size = event->size();
|
||||
waitAnimationWidget->resize(size);
|
||||
}
|
||||
|
||||
VersionSelectWidget::~VersionSelectWidget()
|
||||
{
|
||||
waitAnimationWidget->hideWithStop();
|
||||
|
||||
delete waitAnimationWidget;
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,30 +3,28 @@
|
||||
|
||||
#include <QListWidget>
|
||||
#include <QWidget>
|
||||
#include <QDialog>
|
||||
|
||||
#include <Core/sendsystem.h>
|
||||
#include <Core/versioncontainer.h>
|
||||
#include <notifycontroller.h>
|
||||
#include <streamingversiondata.h>
|
||||
#include <dialognewversion.h>
|
||||
#include <waitanimationwidget.h>
|
||||
|
||||
#include "recognizesystem.h"
|
||||
#include "versioncontainer.h"
|
||||
#include "streamingversiondata.h"
|
||||
#include "dialognewversion.h"
|
||||
#include "waitanimationwidget.h"
|
||||
#include "connectortoserver.h"
|
||||
#include "versioncontainer.h"
|
||||
|
||||
namespace Ui {
|
||||
class VersionSelectWidget;
|
||||
}
|
||||
|
||||
class VersionSelectWidget : public QWidget
|
||||
class VersionSelectWidget : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit VersionSelectWidget(QWidget *parent = nullptr);
|
||||
explicit VersionSelectWidget(ConnectorToServer* connectorToServer, QWidget *parent = nullptr);
|
||||
~VersionSelectWidget();
|
||||
|
||||
void initialize(SendSystem *sendSystem,VersionContainer *versionContainer,NotifyController *notifyController, RecognizeSystem *recognizeSystem);
|
||||
void fillView(QList<StreamingVersionData*> *serverData);
|
||||
void initialize();
|
||||
void sendCopyEmit(QString newName);
|
||||
void setAuthor(QString name);
|
||||
|
||||
@@ -35,30 +33,44 @@ public:
|
||||
|
||||
private slots:
|
||||
void on_createDuplicateButton_clicked();
|
||||
void on_DeleteVersionButton_clicked();
|
||||
void on_deleteVersionButton_clicked();
|
||||
void on_switchServerVersionButton_clicked();
|
||||
|
||||
void on_verListView_itemClicked(QListWidgetItem *item);
|
||||
|
||||
private slots:
|
||||
void slot_activateLoadAnimation(bool flag);
|
||||
void slot_showServerList(QList<StreamingVersionData*> *serverList);
|
||||
void slot_SetVersion(StreamingVersionData* serverVersion);
|
||||
|
||||
signals:
|
||||
void sigSendDeleteVersion(StreamingVersionData *streaming);
|
||||
void sigSendSwitchVersion(StreamingVersionData *selectVersion);
|
||||
void sigSendCopyVersion(QString versionPair);
|
||||
void sigSendNotify(QString message, QWidget *parentWidget = nullptr);
|
||||
|
||||
void signal_getVersion();
|
||||
|
||||
private:
|
||||
QString changableText(bool flag);
|
||||
void fillView(QList<StreamingVersionData*> *serverData);
|
||||
|
||||
private:
|
||||
|
||||
Ui::VersionSelectWidget *ui;
|
||||
SendSystem *sendSystem;
|
||||
QList<StreamingVersionData*> *serverDataList;
|
||||
|
||||
ConnectorToServer* connectorToServer;
|
||||
|
||||
VersionContainer *versionContainer;
|
||||
NotifyController *notifyController;
|
||||
|
||||
QList<StreamingVersionData*> *serverDataList;
|
||||
|
||||
StreamingVersionData *selectedVersion;
|
||||
|
||||
WaitAnimationWidget *waitAnimationWidget;
|
||||
RecognizeSystem *recognizeSystem;
|
||||
|
||||
QString authorName;
|
||||
QString changableText(bool flag);
|
||||
|
||||
bool flGetVersion;
|
||||
};
|
||||
|
||||
#endif // VERSIONSELECTWIDGET_H
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="DeleteVersionButton">
|
||||
<widget class="QPushButton" name="deleteVersionButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
|
||||
Reference in New Issue
Block a user