Browse Source

修复元素改名崩溃问题

Menglan_Luo 2 years ago
parent
commit
7fb8b49b98
5 changed files with 9 additions and 4 deletions
  1. 1 1
      collAnim.h
  2. 5 0
      mainwindow.cpp
  3. 1 1
      pool.h
  4. 1 1
      statusConfig.h
  5. 1 1
      statusEffectAnim.h

+ 1 - 1
collAnim.h

@@ -20,6 +20,7 @@ public:
     void setUi(QString elem);
     void setCollectAnimUi();
     void setCollAnimWidget();
+    QString currentElem;
 
 private slots:
     void on_comboBox_animType_currentTextChanged(const QString &arg1);
@@ -39,7 +40,6 @@ private slots:
 private:
     Ui::CollAnim *ui;
     QFormLayout* formlayout;
-    QString currentElem;
     bool isSetUi;
     QComboBox* createBox(QString choice,QStringList list);
 };

+ 5 - 0
mainwindow.cpp

@@ -137,6 +137,11 @@ void MainWindow::on_listWidget_elem_itemDoubleClicked(QListWidgetItem *item)
         QString oriName = ui->listWidget_elem->currentItem()->text();
         item->setText(name);
         DataManager::getInstance()->changeElemName(oriName,name);
+        //更新四个子界面currentElem
+        animUi->currentElem = name;
+        collAnimUi->currentElem = name;
+        statusConfigUi->currentElem = name;
+        poolUi->currentElem = name;
     }
 }
 

+ 1 - 1
pool.h

@@ -20,6 +20,7 @@ public:
     void updateContainType();
     void setUi(QString elem);
     void updateTempRelated();
+    QString currentElem;
 
 private slots:
     void on_pushButton_addContainer_clicked();
@@ -54,7 +55,6 @@ private slots:
 
 private:
     Ui::Pool *ui;
-    QString currentElem;
     bool isSetUi = false;
     bool poolTableItemChanged = false;
     bool childElemTableItemChanged = false;

+ 1 - 1
statusConfig.h

@@ -28,6 +28,7 @@ public:
     void setAnimComboBox();
     ///基础属性中的可掉落变化时刷新可掉落checkbox
     void updateDropBox(bool state);
+    QString currentElem;
 
 private slots:
     ///添加状态,若已经生成最大层数全部状态则按钮无效
@@ -74,7 +75,6 @@ private slots:
 
 private:
     Ui::StatusConfig *ui;
-    QString currentElem;
     enum class BoxType{Event,Effect,Action};
     ///创建事件、动作、特效的下拉选项
     QComboBox* createBox(QString choice,BoxType boxType);

+ 1 - 1
statusEffectAnim.h

@@ -18,6 +18,7 @@ public:
     explicit StatusEffectAnim(QWidget *parent = nullptr);
     ~StatusEffectAnim();
     void setUi(QString elem);
+    QString currentElem;
 
 private slots:
     void on_pushButton_addAnimation_clicked();
@@ -32,7 +33,6 @@ private slots:
 
 private:
     Ui::StatusEffectAnim *ui;
-    QString currentElem;
     QComboBox* createTimelineBox(QString chosenTimeline,QString filename);
     QComboBox* createBox(QString choice,QStringList list);
     //防止双击修改以外的表格修改操作反复触发itemChanged信号