#endif // wxUSE_MENUS
#if wxUSE_ACCEL
- m_undoAccelerator = '\t' + wxAcceleratorEntry(wxACCEL_CMD, 'Z').ToString();
- m_redoAccelerator = '\t' + wxAcceleratorEntry(wxACCEL_CMD, 'Y').ToString();
+ m_undoAccelerator = '\t' + wxAcceleratorEntry(wxACCEL_CTRL, 'Z').ToString();
+ m_redoAccelerator = '\t' + wxAcceleratorEntry(wxACCEL_CTRL, 'Y').ToString();
#endif // wxUSE_ACCEL
m_lastSavedCommand =
m_lastSavedCommand = wxList::compatibility_iterator();
}
+bool wxCommandProcessor::IsDirty() const
+{
+ if ( m_commands.empty() )
+ {
+ // If we have never been modified, we can't be dirty.
+ return false;
+ }
+
+ if ( !m_lastSavedCommand )
+ {
+ // If we have been modified but have never been saved, we're dirty.
+ return true;
+ }
+
+ if ( !m_currentCommand )
+ {
+ // This only happens if all commands were undone after saving the
+ // document: we're dirty then.
+ return true;
+ }
+
+ // Finally if both iterators are valid, we may just compare them.
+ return m_currentCommand != m_lastSavedCommand;
+}