mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Edit: prevent not needed change marking
While trying to understand more of the big change from PR 1528, I found that the divelist was marked changed while it was not changed at all. Reason is simple. The MODIFY_DIVES code assumes its called only for truly changed data. But in case of saving tagged strings, it was not. This fixes this. And I do not believe this has any visual effects. Further, the now broken indentation is fixed seperately. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
This commit is contained in:
		
							parent
							
								
									6137e0bc60
								
							
						
					
					
						commit
						a47df05ce5
					
				
					 2 changed files with 5 additions and 4 deletions
				
			
		| 
						 | 
					@ -1279,7 +1279,7 @@ void MainTab::saveTaggedStrings(const QVector<dive *> &selectedDives)
 | 
				
			||||||
	QStringList addedList, removedList;
 | 
						QStringList addedList, removedList;
 | 
				
			||||||
	struct dive *cd = current_dive;
 | 
						struct dive *cd = current_dive;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	diffTaggedStrings(cd->buddy, displayed_dive.buddy, addedList, removedList);
 | 
						if (diffTaggedStrings(cd->buddy, displayed_dive.buddy, addedList, removedList))
 | 
				
			||||||
	MODIFY_DIVES(selectedDives,
 | 
						MODIFY_DIVES(selectedDives,
 | 
				
			||||||
		QStringList oldList = QString(mydive->buddy).split(QRegExp("\\s*,\\s*"), QString::SkipEmptyParts);
 | 
							QStringList oldList = QString(mydive->buddy).split(QRegExp("\\s*,\\s*"), QString::SkipEmptyParts);
 | 
				
			||||||
		QString newString;
 | 
							QString newString;
 | 
				
			||||||
| 
						 | 
					@ -1301,7 +1301,7 @@ void MainTab::saveTaggedStrings(const QVector<dive *> &selectedDives)
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
	addedList.clear();
 | 
						addedList.clear();
 | 
				
			||||||
	removedList.clear();
 | 
						removedList.clear();
 | 
				
			||||||
	diffTaggedStrings(cd->divemaster, displayed_dive.divemaster, addedList, removedList);
 | 
						if (diffTaggedStrings(cd->divemaster, displayed_dive.divemaster, addedList, removedList))
 | 
				
			||||||
	MODIFY_DIVES(selectedDives,
 | 
						MODIFY_DIVES(selectedDives,
 | 
				
			||||||
		QStringList oldList = QString(mydive->divemaster).split(QRegExp("\\s*,\\s*"), QString::SkipEmptyParts);
 | 
							QStringList oldList = QString(mydive->divemaster).split(QRegExp("\\s*,\\s*"), QString::SkipEmptyParts);
 | 
				
			||||||
		QString newString;
 | 
							QString newString;
 | 
				
			||||||
| 
						 | 
					@ -1323,7 +1323,7 @@ void MainTab::saveTaggedStrings(const QVector<dive *> &selectedDives)
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MainTab::diffTaggedStrings(QString currentString, QString displayedString, QStringList &addedList, QStringList &removedList)
 | 
					int MainTab::diffTaggedStrings(QString currentString, QString displayedString, QStringList &addedList, QStringList &removedList)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	QStringList displayedList, currentList;
 | 
						QStringList displayedList, currentList;
 | 
				
			||||||
	currentList = currentString.split(',', QString::SkipEmptyParts);
 | 
						currentList = currentString.split(',', QString::SkipEmptyParts);
 | 
				
			||||||
| 
						 | 
					@ -1336,6 +1336,7 @@ void MainTab::diffTaggedStrings(QString currentString, QString displayedString,
 | 
				
			||||||
		if (!currentList.contains(tag, Qt::CaseInsensitive))
 | 
							if (!currentList.contains(tag, Qt::CaseInsensitive))
 | 
				
			||||||
			addedList << tag.trimmed();
 | 
								addedList << tag.trimmed();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						return removedList.length() + addedList.length();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MainTab::on_tagWidget_textChanged()
 | 
					void MainTab::on_tagWidget_textChanged()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@ private:
 | 
				
			||||||
	void copyTagsToDisplayedDive();
 | 
						void copyTagsToDisplayedDive();
 | 
				
			||||||
	void saveTags(const QVector<dive *> &selectedDives);
 | 
						void saveTags(const QVector<dive *> &selectedDives);
 | 
				
			||||||
	void saveTaggedStrings(const QVector<dive *> &selectedDives);
 | 
						void saveTaggedStrings(const QVector<dive *> &selectedDives);
 | 
				
			||||||
	void diffTaggedStrings(QString currentString, QString displayedString, QStringList &addedList, QStringList &removedList);
 | 
						int diffTaggedStrings(QString currentString, QString displayedString, QStringList &addedList, QStringList &removedList);
 | 
				
			||||||
	void markChangedWidget(QWidget *w);
 | 
						void markChangedWidget(QWidget *w);
 | 
				
			||||||
	dive_trip_t *currentTrip;
 | 
						dive_trip_t *currentTrip;
 | 
				
			||||||
	dive_trip_t displayedTrip;
 | 
						dive_trip_t displayedTrip;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue