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

@ -34,6 +34,8 @@ bool CommitDialog::run(QWidget *parent, QString &commitMsg, const QStringList &c
{
CommitDialog dlg(parent, commitMsgHistory, files);
int res = dlg.exec();
commitMsg = dlg.ui->plainTextEdit->toPlainText();
if(res!=QDialog::Accepted)
return false;
@ -46,7 +48,6 @@ bool CommitDialog::run(QWidget *parent, QString &commitMsg, const QStringList &c
files.append(si->text());
}
commitMsg = dlg.ui->plainTextEdit->toPlainText();
return true;
}

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;

View File

@ -238,7 +238,6 @@ private:
QString repositoryFile;
QStringList workspaceHistory;
QString currentWorkspace;
QStringList commitMessages;
ViewMode viewMode;
stringset_t selectedDirs; // The directory selected in the tree

View File

@ -9,11 +9,12 @@ namespace Ui {
class SettingsDialog;
}
#define FUEL_SETTING_FOSSIL_PATH "FossilPath"
#define FUEL_SETTING_GDIFF_CMD "gdiff-command"
#define FUEL_SETTING_GMERGE_CMD "gmerge-command"
#define FUEL_SETTING_IGNORE_GLOB "ignore-glob"
#define FUEL_SETTING_REMOTE_URL "remote-url"
#define FUEL_SETTING_FOSSIL_PATH "FossilPath"
#define FUEL_SETTING_COMMIT_MSG "CommitMsgHistory"
#define FUEL_SETTING_GDIFF_CMD "gdiff-command"
#define FUEL_SETTING_GMERGE_CMD "gmerge-command"
#define FUEL_SETTING_IGNORE_GLOB "ignore-glob"
#define FUEL_SETTING_REMOTE_URL "remote-url"
struct Settings
{
@ -24,7 +25,7 @@ struct Settings
TYPE_INTERNAL,
TYPE_FOSSIL_GLOBAL,
TYPE_FOSSIL_LOCAL,
TYPE_FOSSIL_COMMAND,
TYPE_FOSSIL_COMMAND
};
Setting(QVariant value=QVariant(), SettingType type=TYPE_INTERNAL) : Value(value), Type(type)
@ -39,6 +40,7 @@ struct Settings
Settings()
{
Mappings[FUEL_SETTING_FOSSIL_PATH] = Setting();
Mappings[FUEL_SETTING_COMMIT_MSG] = Setting();
Mappings[FUEL_SETTING_GDIFF_CMD] = Setting("", Setting::TYPE_FOSSIL_GLOBAL);
Mappings[FUEL_SETTING_GMERGE_CMD] = Setting("", Setting::TYPE_FOSSIL_GLOBAL);
Mappings[FUEL_SETTING_IGNORE_GLOB] = Setting("", Setting::TYPE_FOSSIL_LOCAL);

View File

@ -1,16 +1,16 @@
C Beautified\slog\soutput\n
D 2011-10-20T16:31:08.243
F CommitDialog.cpp 8965e52d077c300cf1acb1b16fb2dcca5c7070f8
C Commit\smessage\shistory\sis\snow\ssaved\nCommit\smessage\shistory\sis\snow\saccumulated\seven\swhen\sa\scommit\sis\scancelled\n
D 2011-10-21T14:44:36.112
F CommitDialog.cpp cba14155a39845b057c197b1aa7f3c747ae0c337
F CommitDialog.h a9596d99865cf312b419d01d51334ffc916f5508
F CommitDialog.ui 5067623f6af6f5a42c87df903278e383e945e154
F FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8
F FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce
F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7
F MainWindow.cpp 5b4503c06d65c73b8f5cc5f018e348e08b185c45
F MainWindow.h 7ad2f4090d58127cbb3f6801cd64fb932a8d4a14
F MainWindow.cpp 8fe31e4970ce925ad290b7acfff9e43b3d46658e
F MainWindow.h 124c49d5313934e63d4b5028b98573d6d630357c
F MainWindow.ui 7f9e5cda55cffd5da8c01de7729a1806126c0d6b
F SettingsDialog.cpp a386f03a13115b8179361344c830bcdb2c319476
F SettingsDialog.h 079e869f60b37feac78198afe0dfd5b75eee9add
F SettingsDialog.h 7e7b33f50472bfc6cf0602d9f7049a4cc939c4d8
F SettingsDialog.ui 05bc501e63fa74ce3d285ccfdd8c94382e558f32
F fuel.pro b304761003917ba0790be1b62d537642a7e40adb
F fuel.rc 8e9ac966f283102c11a77cd7f936cdc09e09bd79
@ -172,7 +172,7 @@ F installer/fuel.iss 13b6a938bcdf273cbd3649d2549887baa1577214
F installer/license.txt 4cc77b90af91e615a64ae04893fdffa7939db84c
F main.cpp f67a9b5c9ca0b634b19ef08e7136032372d37f93
F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53
P 8a4fbbb14628b2dc53b8d46a35a3b4f43182db9c
R 5899c275d3ebca904b12f5fa2b05e637
P 36ef959eec3bb9c4f84b5e0acf9cc728c14633e1
R 0d2da0cd27a7e112be69ced3349fd31b
U kostas
Z 14cb25d35a9b96e0bb97a5497ed70fbe
Z c9a201d7448ca82afff6a014fede4d82

View File

@ -1 +1 @@
36ef959eec3bb9c4f84b5e0acf9cc728c14633e1
1ff7aa3b04cec66eb7c1420713f4ee691cc3e5d5