// Replaces the user's search term with the user's // replacement text in the entire document. int FindReplace::ReplaceAll() { m_MainWindow.GetCurrentContentTab().SaveTabContent(); clearMessage(); if ( !IsValidFindText() ) { return 0; } SetCodeViewIfNeeded( true ); int count = 0; if ( GetLookWhere() == FindReplace::LookWhere_CurrentFile || m_LookWhereCurrentFile) { Searchable *searchable = GetAvailableSearchable(); if ( !searchable ) { return 0; } count = searchable->ReplaceAll( GetSearchRegex(), ui.cbReplace->lineEdit()->text() ); } else { count = ReplaceInAllFiles(); } if ( count == 0 ) { ShowMessage( tr( "No replacements made" ) ); } else { QString message = tr( "%1 replacements made", 0, count ); ShowMessage( message.arg( count ) ); } if ( count > 0 ) { // Signal that the contents have changed and update the view m_MainWindow.GetCurrentBook()->SetModified( true ); m_MainWindow.GetCurrentContentTab().ContentChangedExternally(); } UpdatePreviousFindStrings(); UpdatePreviousReplaceStrings(); return count; }