]> cloud.milkyroute.net Git - dolphin.git/commitdiff
never report a success if there was none: check the exit code + status
authorPeter Penz <peter.penz19@gmail.com>
Tue, 10 Nov 2009 18:36:13 +0000 (18:36 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Tue, 10 Nov 2009 18:36:13 +0000 (18:36 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=1047233

src/versioncontrol/fileviewsvnplugin.cpp
src/versioncontrol/fileviewsvnplugin.h

index 7e56c724c3b8738aadf3b4af5ab6a4bbcebb4363..91a37a8782939e00633e3b582c39f74c633b88a3 100644 (file)
@@ -309,9 +309,11 @@ void FileViewSvnPlugin::removeFiles()
                    i18nc("@info:status", "Removed files from SVN repository."));
 }
 
                    i18nc("@info:status", "Removed files from SVN repository."));
 }
 
-void FileViewSvnPlugin::slotOperationCompleted()
+void FileViewSvnPlugin::slotOperationCompleted(int exitCode, QProcess::ExitStatus exitStatus)
 {
 {
-    if (m_contextItems.isEmpty()) {
+    if ((exitStatus != QProcess::NormalExit) || (exitCode != 0)) {
+        emit errorMessage(m_errorMsg);
+    } else if (m_contextItems.isEmpty()) {
         emit operationCompletedMessage(m_operationCompletedMsg);
         emit versionStatesChanged();
     } else {
         emit operationCompletedMessage(m_operationCompletedMsg);
         emit versionStatesChanged();
     } else {
@@ -344,8 +346,8 @@ void FileViewSvnPlugin::execSvnCommand(const QString& svnCommand,
 void FileViewSvnPlugin::startSvnCommandProcess()
 {
     QProcess* process = new QProcess(this);
 void FileViewSvnPlugin::startSvnCommandProcess()
 {
     QProcess* process = new QProcess(this);
-    connect(process, SIGNAL(finished(int)),
-            this, SLOT(slotOperationCompleted()));
+    connect(process, SIGNAL(finished(int, QProcess::ExitStatus)),
+            this, SLOT(slotOperationCompleted(int, QProcess::ExitStatus)));
     connect(process, SIGNAL(error(QProcess::ProcessError)),
             this, SLOT(slotOperationError()));
 
     connect(process, SIGNAL(error(QProcess::ProcessError)),
             this, SLOT(slotOperationError()));
 
index 4804971c09c2ea2df0fd3d384e5c60d04d8d9536..e908afba85746da821af341385b7c1fa1ddd249f 100644 (file)
@@ -23,6 +23,7 @@
 #include <kfileitem.h>
 #include <kversioncontrolplugin.h>
 #include <QHash>
 #include <kfileitem.h>
 #include <kversioncontrolplugin.h>
 #include <QHash>
+#include <QProcess>
 #include <QTemporaryFile>
 
 // TODO: This class will be moved to kdevplatform as soon as kdevplatform will
 #include <QTemporaryFile>
 
 // TODO: This class will be moved to kdevplatform as soon as kdevplatform will
@@ -49,7 +50,7 @@ private slots:
     void addFiles();
     void removeFiles();
 
     void addFiles();
     void removeFiles();
 
-    void slotOperationCompleted();
+    void slotOperationCompleted(int exitCode, QProcess::ExitStatus exitStatus);
     void slotOperationError();
 
 private:
     void slotOperationError();
 
 private: