Support for force closing a workspace
FossilOrigin-Name: 16b4d25fe14b5d8a9398db1a31e683382b532473
This commit is contained in:
		
							
								
								
									
										18
									
								
								manifest
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								manifest
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| C Refactored\sWorkspace\scommon\stypes\sinto\sWorkspaceCommon.h | ||||
| D 2015-09-16T14:28:38.636 | ||||
| C Support\sfor\sforce\sclosing\sa\sworkspace\n | ||||
| D 2015-10-16T09:41:21.325 | ||||
| F .fossil-settings/manifest a09a968bf05a50058f3ad50132730b719bc39e76 | ||||
| F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35 | ||||
| F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b | ||||
| @@ -228,13 +228,13 @@ F src/FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8 | ||||
| F src/FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce | ||||
| F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 | ||||
| F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df | ||||
| F src/Fossil.cpp 3033cd4744df2db2e334e746b1cae52a7073ef62 | ||||
| F src/Fossil.h 429639f3d32853ff72a35a30000c84988e015aa4 | ||||
| F src/Fossil.cpp 8ecdf02fb2f18bbdcf5750e83e04494c2690c377 | ||||
| F src/Fossil.h 6022bed07f3c6c7b4fca20cb181d3331ab5e4447 | ||||
| F src/FslSettingsDialog.cpp e00907d493fba469e48a008aecda88426350b5ac | ||||
| F src/FslSettingsDialog.h 92a292d43022289f9f626050cd07392dd72f1676 | ||||
| F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c | ||||
| F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 | ||||
| F src/MainWindow.cpp 3b6206d0661ab27bb0caa8f973600398993be4ae | ||||
| F src/MainWindow.cpp 9368012e5c491c1d27f60ae557041bf08971bdcc | ||||
| F src/MainWindow.h ae25aef04587cd46aa113397db0de1e776091efe | ||||
| F src/RemoteDialog.cpp 1a57a15465f689057d5354a29ad3015e54582343 | ||||
| F src/RemoteDialog.h 5e0438c2bd7c79b1bb44bfbd58c2181b544a9e5d | ||||
| @@ -247,7 +247,7 @@ F src/SettingsDialog.h 81158a26ce9ea9fd95c6c5cdd3c24a9b87b00e8d | ||||
| F src/Utils.cpp abdc1525d08448f09833a310c26491351256d5a5 | ||||
| F src/Utils.h d8cda8bc809f75895bd340109dd8086f43ed83b0 | ||||
| F src/Workspace.cpp 64cdbe639ff11deefc45e70003d41577e3bca2db | ||||
| F src/Workspace.h 3853740e1276704df6fc73647e28f604dd73fb7b | ||||
| F src/Workspace.h 253c70b49d6cdbe01756cb1d27130ff0ae4841b7 | ||||
| F src/WorkspaceCommon.h 45f6ca5e1e480bfb7a5f8779ea43f94716251168 | ||||
| F src/main.cpp d8c65ea5e54102e4989fef9fd8cfd4f13ef8a8f0 | ||||
| F tools/git-push.sh 62cc58434cae5b7bcd6bd9d4cce8b08739f31cd7 x | ||||
| @@ -262,7 +262,7 @@ F ui/MainWindow.ui ad04643d071fe513b46ef413749a493909a90ad1 | ||||
| F ui/RemoteDialog.ui 424b2d4a3d0162f84fdccf6af02c1cfce07a06f5 | ||||
| F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd | ||||
| F ui/SettingsDialog.ui 2e1b6ce7a49100088c5649292c1319e62e0302e1 | ||||
| P d3b7048058577931d592aae6c0d9f5949c6f835e | ||||
| R ca2a9dfe83e73f1e22d22d8250fd010d | ||||
| P f31360bcda14a4137f5aee56ed916c161bcee18d | ||||
| R a766f91e1d96c7c9a7b371d4d0516c52 | ||||
| U Kostas | ||||
| Z 503a295085b91fe20b173dae622aea71 | ||||
| Z 0689b99da2a7c0157c7b039c0f60a43b | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| f31360bcda14a4137f5aee56ed916c161bcee18d | ||||
| 16b4d25fe14b5d8a9398db1a31e683382b532473 | ||||
| @@ -114,9 +114,15 @@ bool Fossil::createRepository(const QString& repositoryPath) | ||||
| } | ||||
|  | ||||
| //------------------------------------------------------------------------------ | ||||
| bool Fossil::closeWorkspace() | ||||
| bool Fossil::closeWorkspace(bool force) | ||||
| { | ||||
| 	if(!runFossil(QStringList() << "close")) | ||||
| 	QStringList params; | ||||
| 	params << "close"; | ||||
|  | ||||
| 	if(force) | ||||
| 		params << "--force"; | ||||
|  | ||||
| 	if(!runFossil(params)) | ||||
| 		return false; | ||||
|  | ||||
| 	stopUI(); | ||||
|   | ||||
| @@ -22,7 +22,7 @@ public: | ||||
|  | ||||
| 	// Workspace | ||||
| 	bool createWorkspace(const QString &repositoryPath, const QString& workspacePath); | ||||
| 	bool closeWorkspace(); | ||||
| 	bool closeWorkspace(bool force=false); | ||||
| 	void setWorkspace(const QString &_workspacePath); | ||||
| 	bool pushWorkspace(const QUrl& url); | ||||
| 	bool pullWorkspace(const QUrl& url); | ||||
|   | ||||
| @@ -540,9 +540,26 @@ void MainWindow::on_actionCloseRepository_triggered() | ||||
| 		return; | ||||
|  | ||||
| 	// Close Repo | ||||
| 	if(!getWorkspace().close()) | ||||
| 	bool success = getWorkspace().close(); | ||||
|  | ||||
| 	if(!success) | ||||
| 	{ | ||||
| 		QMessageBox::critical(this, tr("Error"), tr("Cannot close the workspace.\nAre there still uncommitted changes available?"), QMessageBox::Ok ); | ||||
| 		if(QMessageBox::Yes !=DialogQuery(this, tr("Close Workspace"), | ||||
| 										  tr("Could not close the workspace.\n" | ||||
| 											"Perhaps there are uncommitted changes available\n" | ||||
| 											"Would you like to force closing this workspace?"))) | ||||
| 		{ | ||||
| 			refresh(); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		success = getWorkspace().close(true); | ||||
| 	} | ||||
|  | ||||
| 	if(!success) | ||||
| 	{ | ||||
| 		QMessageBox::critical(this, tr("Error"), tr("Could not close the workspace."), QMessageBox::Ok); | ||||
| 		refresh(); | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -74,9 +74,9 @@ public: | ||||
| 		return fossil().getWorkspaceState(); | ||||
| 	} | ||||
|  | ||||
| 	bool close() | ||||
| 	bool close(bool force=false) | ||||
| 	{ | ||||
| 		return fossil().closeWorkspace(); | ||||
| 		return fossil().closeWorkspace(force); | ||||
| 	} | ||||
|  | ||||
| 	bool cloneRepository(const QString &repository, const QUrl &url, const QUrl &proxyUrl) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user