@@ -52,43 +52,42 @@ void MateriaEditor::init_display()
5252
5353void MateriaEditor::setMateria (quint8 materia_id, qint32 materia_ap)
5454{
55- if (materia_id < 91 ) {
56- // valid Materia..
57- if (_id != materia_id) {
58- _id = materia_id;
59- sb_ap->setEnabled (1 );
60- Q_EMIT idChanged (qint8 (_id));
61- }
62- } else {
63- // Invalid Data Reset Materia.
64- if (_id != FF7Materia::EmptyId)
65- Q_EMIT idChanged (qint8 (FF7Materia::EmptyId));
66- _id = FF7Materia::EmptyId;
67- sb_ap->setEnabled (false );
68- sb_ap->setValue (FF7Materia::MaxMateriaAp);
69- _current_ap = FF7Materia::MaxMateriaAp;// set since setAp ingores the 0xFF id.
55+ if (_id == materia_id)
56+ return ;
57+ _id = materia_id;
58+ Q_EMIT idChanged (qint8 (_id));
59+ sb_ap->setEnabled (_id != FF7Materia::EmptyId);
60+
61+ if (FF7Materia::isModID (_id) && _showPlaceHolders == false ) {
62+ setShowPlaceHolderMateria (true );
63+ }
64+
65+ if (_id > FF7Materia::TotalMateria) {
7066 box_status_effects->setHidden (true );
7167 box_stats->setHidden (true );
7268 }
69+
70+ if (_id == FF7Materia::EmptyId) {
71+ sb_ap->setValue (FF7Materia::MaxMateriaAp);
72+ _current_ap = FF7Materia::MaxMateriaAp;// set since setAp ingores the 0xFF id.
73+ }
7374 setName ();
7475 setAP (materia_ap);
7576 setStats ();
7677}
7778
7879void MateriaEditor::setAP (qint32 ap)
7980{
80- if (FF7Materia::levels ( _id) == 1 ) {
81+ if (_id == FF7Materia::EnemySkill ) {
8182 if (_current_ap != ap) {
8283 _current_ap = ap;
8384 Q_EMIT apChanged (_current_ap);
8485 }
85- if (_id == FF7Materia::EnemySkill) {
86- for (int i = 0 ; i < 24 ; i++) {
87- if (_current_ap & (1 << i))
88- eskill_list->item (i)->setCheckState (Qt::Checked);
89- else
90- eskill_list->item (i)->setCheckState (Qt::Unchecked);
91- }
86+ for (int i = 0 ; i < 24 ; i++) {
87+ if (_current_ap & (1 << i))
88+ eskill_list->item (i)->setCheckState (Qt::Checked);
89+ else
90+ eskill_list->item (i)->setCheckState (Qt::Unchecked);
9291 }
9392 } else {
9493 // All Other Materia
@@ -121,7 +120,7 @@ void MateriaEditor::setName()
121120 if (combo_type->currentIndex () != FF7Materia::AllMaterias)
122121 combo_type->setCurrentIndex (FF7Materia::type (_id));
123122 combo_materia->setCurrentIndex (combo_materia->findText (FF7Materia::name (_id)));
124- if (FF7Materia::levels (_id) != 1 )
123+ if (FF7Materia::levels (_id) != 1 || FF7Materia::isModID (_id) )
125124 frm_ap_stars->setHidden (false );
126125 }
127126}
@@ -130,6 +129,11 @@ void MateriaEditor::setStats()
130129{
131130 list_status->clear ();
132131 lbl_stats->clear ();
132+ if (FF7Materia::isModID (_id)) {
133+ box_skills->setHidden (true );
134+ box_status_effects->setHidden (true );
135+ return ;
136+ }
133137 QString title = tr (" Skills" );
134138 if (_id != FF7Materia::EmptyId) {
135139 if (!FF7Materia::element (_id).isEmpty ()) {
@@ -183,11 +187,14 @@ void MateriaEditor::setStars()
183187void MateriaEditor::setSkills ()
184188{
185189 list_skills->clear ();
186- box_skills->setHidden (false );
190+ box_skills->setHidden (true );
187191 eskill_group->setHidden (true );
188192 list_skills->setHidden (false );
189- frm_skill_status->setSizePolicy (QSizePolicy::Preferred, QSizePolicy::Maximum);
193+ if (FF7Materia::isModID (_id))
194+ return ;
195+ box_skills->setHidden (false );
190196
197+ frm_skill_status->setSizePolicy (QSizePolicy::Preferred, QSizePolicy::Maximum);
191198 if (_id == FF7Materia::EmptyId) {
192199 box_skills->setHidden (true );
193200 list_skills->setHidden (true );
@@ -205,13 +212,13 @@ void MateriaEditor::typeChanged(int new_type)
205212 combo_materia->clear ();
206213 combo_materia->blockSignals (true );
207214 if (new_type == 0 ) {
208- for (int i = 0 ; i < 91 ; i++) {
215+ for (int i = 0 ; i < FF7Materia::EmptyId ; i++) {
209216 if (!_showPlaceHolders && FF7Materia::placeHolderIdList ().contains (i))
210217 continue ;
211218 combo_materia->addItem (FF7Materia::icon (i), FF7Materia::name (i));
212219 }
213220 } else {
214- for (int i = 0 ; i < 91 ; i++) {
221+ for (int i = 0 ; i < FF7Materia::EmptyId ; i++) {
215222 if (FF7Materia::type (i) == new_type)
216223 combo_materia->addItem (FF7Materia::icon (i), FF7Materia::name (i));
217224 }
@@ -225,7 +232,7 @@ void MateriaEditor::typeChanged(int new_type)
225232
226233void MateriaEditor::materia_changed (const QString &new_name)
227234{
228- for (quint8 i = 0 ; i < 91 ; i++) {
235+ for (quint8 i = 0 ; i < FF7Materia::EmptyId ; i++) {
229236 if (!_showPlaceHolders && FF7Materia::placeHolderIdList ().contains (i))
230237 continue ;
231238 if (FF7Materia::name (i) == new_name) {
0 commit comments