summaryrefslogtreecommitdiff
path: root/src/pluginlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluginlist.cpp')
-rw-r--r--src/pluginlist.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index a2d0d04a..3146969a 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -33,6 +33,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <QMimeData>
#include <QCoreApplication>
#include <QDir>
+#include <QFile>
#include <QTextCodec>
#include <QFileInfo>
#include <QListWidgetItem>
@@ -95,6 +96,8 @@ PluginList::PluginList(QObject *parent)
PluginList::~PluginList()
{
+ m_Refreshed.disconnect_all_slots();
+ m_PluginMoved.disconnect_all_slots();
}
@@ -482,8 +485,11 @@ void PluginList::saveTo(const QString &pluginFileName
deleterFile.write("\r\n");
}
}
- deleterFile.close();
- qDebug("%s saved", QDir::toNativeSeparators(deleterFileName).toUtf8().constData());
+ if (deleterFile.commitIfDifferent(m_LastSaveHash[deleterFileName])) {
+ qDebug("%s saved", qPrintable(QDir::toNativeSeparators(deleterFileName)));
+ }
+ } else if (QFile::exists(deleterFileName)) {
+ shellDelete(QStringList() << deleterFileName);
}
m_SaveTimer.stop();