Commit message history is now saved

Commit message history is now accumulated even when a commit is cancelled


FossilOrigin-Name: 1ff7aa3b04cec66eb7c1420713f4ee691cc3e5d5
This commit is contained in:
kostas
2011-10-21 14:44:36 +00:00
parent d70ae79ae9
commit 2cc459e459
6 changed files with 40 additions and 22 deletions

View File

@ -1100,6 +1100,9 @@ void MainWindow::loadSettings()
if(qsettings.contains("FossilPath"))
settings.Mappings[FUEL_SETTING_FOSSIL_PATH].Value = qsettings.value("FossilPath").toString();
if(qsettings.contains(FUEL_SETTING_COMMIT_MSG))
settings.Mappings[FUEL_SETTING_COMMIT_MSG].Value = qsettings.value(FUEL_SETTING_COMMIT_MSG);
int num_wks = qsettings.beginReadArray("Workspaces");
for(int i=0; i<num_wks; ++i)
{
@ -1153,8 +1156,10 @@ void MainWindow::saveSettings()
// If we have a customize fossil path, save it
QString fossil_path = settings.Mappings[FUEL_SETTING_FOSSIL_PATH].Value.toString();
if(!fossil_path .isEmpty())
qsettings.setValue("FossilPath", fossil_path);
qsettings.setValue("FossilPath", fossil_path);
if(!settings.Mappings[FUEL_SETTING_COMMIT_MSG].Value.toStringList().empty() )
qsettings.setValue(FUEL_SETTING_COMMIT_MSG, settings.Mappings[FUEL_SETTING_COMMIT_MSG].Value);
qsettings.beginWriteArray("Workspaces", workspaceHistory.size());
for(int i=0; i<workspaceHistory.size(); ++i)
@ -1444,8 +1449,20 @@ void MainWindow::on_actionCommit_triggered()
if(modified_files.empty())
return;
QStringList commit_msgs = settings.Mappings[FUEL_SETTING_COMMIT_MSG].Value.toStringList();
QString msg;
if(!CommitDialog::run(this, msg, commitMessages, modified_files))
bool aborted = !CommitDialog::run(this, msg, commit_msgs, modified_files);
// Aborted or not we always keep the commit messages.
// (This has saved me way too many times on TortoiseSVN)
if(commit_msgs.indexOf(msg)==-1)
{
commit_msgs.push_front(msg);
settings.Mappings[FUEL_SETTING_COMMIT_MSG].Value = commit_msgs;
}
if(aborted)
return;
// Since via the commit dialog the user can deselect all files
@ -1453,7 +1470,6 @@ void MainWindow::on_actionCommit_triggered()
return;
// Do commit
commitMessages.push_front(msg);
QString comment_fname;
{
QTemporaryFile temp_file;