summaryrefslogtreecommitdiffstats
path: root/logic
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-08-20 02:29:36 +0200
committerPetr Mrázek <peterix@gmail.com>2013-08-20 02:29:36 +0200
commitbbc47cb8bdaea8fd9855e3e06b7607a7d15f3ef2 (patch)
treedbcb9dc6e2858b9e6b59f3a11098e38b3092ff75 /logic
parentc92ad7dcf86f2e5e71d71a68e24e79fbdeceb56d (diff)
downloadMultiMC-bbc47cb8bdaea8fd9855e3e06b7607a7d15f3ef2.tar
MultiMC-bbc47cb8bdaea8fd9855e3e06b7607a7d15f3ef2.tar.gz
MultiMC-bbc47cb8bdaea8fd9855e3e06b7607a7d15f3ef2.tar.lz
MultiMC-bbc47cb8bdaea8fd9855e3e06b7607a7d15f3ef2.tar.xz
MultiMC-bbc47cb8bdaea8fd9855e3e06b7607a7d15f3ef2.zip
Sync, removal of webkit as a dependency, removal of the web windows.
Diffstat (limited to 'logic')
-rw-r--r--logic/BaseInstance.h2
-rw-r--r--logic/LegacyInstance.cpp4
-rw-r--r--logic/LegacyInstance.h2
-rw-r--r--logic/ModList.cpp30
-rw-r--r--logic/ModList.h2
-rw-r--r--logic/OneSixInstance.cpp4
-rw-r--r--logic/OneSixInstance.h2
7 files changed, 26 insertions, 20 deletions
diff --git a/logic/BaseInstance.h b/logic/BaseInstance.h
index 8b5de6f5..af721b04 100644
--- a/logic/BaseInstance.h
+++ b/logic/BaseInstance.h
@@ -129,7 +129,7 @@ public:
virtual void cleanupAfterRun() = 0;
/// create a mod edit dialog for the instance
- virtual QSharedPointer<QDialog> createModEditDialog ( QWidget* parent ) = 0;
+ virtual QDialog * createModEditDialog ( QWidget* parent ) = 0;
signals:
/*!
* \brief Signal emitted when properties relevant to the instance view change
diff --git a/logic/LegacyInstance.cpp b/logic/LegacyInstance.cpp
index c2a4b66a..cf2c622c 100644
--- a/logic/LegacyInstance.cpp
+++ b/logic/LegacyInstance.cpp
@@ -127,9 +127,9 @@ QSharedPointer< ModList > LegacyInstance::loaderModList()
return d->loader_mod_list;
}
-QSharedPointer< QDialog > LegacyInstance::createModEditDialog ( QWidget* parent )
+QDialog * LegacyInstance::createModEditDialog ( QWidget* parent )
{
- return QSharedPointer<QDialog> (new LegacyModEditDialog(this, parent));
+ return new LegacyModEditDialog(this, parent);
}
diff --git a/logic/LegacyInstance.h b/logic/LegacyInstance.h
index ef7006ab..4c8d8f69 100644
--- a/logic/LegacyInstance.h
+++ b/logic/LegacyInstance.h
@@ -88,7 +88,7 @@ public:
virtual MinecraftProcess* prepareForLaunch( QString user, QString session );
virtual void cleanupAfterRun();
- virtual QSharedPointer< QDialog > createModEditDialog ( QWidget* parent );
+ virtual QDialog * createModEditDialog ( QWidget* parent );
protected slots:
virtual void jarModsChanged();
diff --git a/logic/ModList.cpp b/logic/ModList.cpp
index 2a98eec7..c968f326 100644
--- a/logic/ModList.cpp
+++ b/logic/ModList.cpp
@@ -37,7 +37,7 @@ bool ModList::update()
return false;
QList<Mod> newMods;
-
+ m_dir.refresh();
auto folderContents = m_dir.entryInfoList();
bool orderWasInvalid = false;
@@ -206,7 +206,7 @@ bool ModList::deleteMod ( size_t index )
if(m.destroy())
{
beginRemoveRows(QModelIndex(), index, index);
- mods.erase(mods.begin() + index);
+ mods.removeAt(index);
endRemoveRows();
saveListFile();
emit changed();
@@ -296,7 +296,7 @@ QStringList ModList::mimeTypes() const
{
QStringList types;
types << "text/uri-list";
- types << "application/x-mcmod";
+ types << "text/plain";
return types;
}
@@ -314,21 +314,25 @@ Qt::DropActions ModList::supportedDragActions() const
QMimeData* ModList::mimeData ( const QModelIndexList& indexes ) const
{
+ QMimeData * data = new QMimeData();
+
if(indexes.size() == 0)
- return nullptr;
+ return data;
auto idx = indexes[0];
int row = idx.row();
if(row <0 || row >= mods.size())
- return nullptr;
-
- QMimeData * data = new QMimeData();
+ return data;
QStringList params;
params << m_list_id << QString::number(row);
- data->setData("application/x-mcmod", params.join('|').toLatin1());
+ data->setText(params.join('|'));
return data;
}
+bool ModList::removeRows ( int row, int count, const QModelIndex& parent )
+{
+ return QAbstractItemModel::removeRows ( row, count, parent );
+}
bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent )
{
@@ -337,7 +341,6 @@ bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int r
// check if the action is supported
if (!data || !(action & supportedDropActions()))
return false;
- qDebug() << "row: " << row << " column: " << column;
if(parent.isValid())
{
row = parent.row();
@@ -350,10 +353,10 @@ bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int r
row = rowCount();
if (column == -1)
column = 0;
- qDebug() << "row: " << row << " column: " << column;
+ qDebug() << "Drop row: " << row << " column: " << column;
// files dropped from outside?
- if(data->hasFormat("text/uri-list") && data->hasUrls())
+ if(data->hasUrls())
{
auto urls = data->urls();
for(auto url: urls)
@@ -367,14 +370,15 @@ bool ModList::dropMimeData ( const QMimeData* data, Qt::DropAction action, int r
}
return true;
}
- else if(data->hasFormat("application/x-mcmod"))
+ else if(data->hasText())
{
- QString sourcestr = QString::fromLatin1(data->data("application/x-mcmod"));
+ QString sourcestr = data->text();
auto list = sourcestr.split('|');
if(list.size() != 2)
return false;
QString remoteId = list[0];
int remoteIndex = list[1].toInt();
+ qDebug() << "move: " << sourcestr;
// no moving of things between two lists
if(remoteId != m_list_id)
return false;
diff --git a/logic/ModList.h b/logic/ModList.h
index 0e172efd..04ddaa8e 100644
--- a/logic/ModList.h
+++ b/logic/ModList.h
@@ -66,6 +66,8 @@ public:
virtual bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent);
/// what drag actions do we support?
virtual Qt::DropActions supportedDragActions() const;
+
+ virtual bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex());
/// what drop actions do we support?
virtual Qt::DropActions supportedDropActions() const;
diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp
index b7f39e4a..b216c930 100644
--- a/logic/OneSixInstance.cpp
+++ b/logic/OneSixInstance.cpp
@@ -151,9 +151,9 @@ void OneSixInstance::cleanupAfterRun()
dir.removeRecursively();
}
-QSharedPointer< QDialog > OneSixInstance::createModEditDialog ( QWidget* parent )
+QDialog * OneSixInstance::createModEditDialog ( QWidget* parent )
{
- return QSharedPointer< QDialog >();
+ return nullptr;
}
diff --git a/logic/OneSixInstance.h b/logic/OneSixInstance.h
index edd96eaa..18f03a92 100644
--- a/logic/OneSixInstance.h
+++ b/logic/OneSixInstance.h
@@ -23,7 +23,7 @@ public:
virtual bool shouldUpdate() const;
virtual void setShouldUpdate(bool val);
- virtual QSharedPointer< QDialog > createModEditDialog ( QWidget* parent );
+ virtual QDialog * createModEditDialog ( QWidget* parent );
/// reload the full version json file. return true on success!
bool reloadFullVersion();