aboutsummaryrefslogtreecommitdiff
path: root/application/pages/instance
diff options
context:
space:
mode:
Diffstat (limited to 'application/pages/instance')
-rw-r--r--application/pages/instance/ModFolderPage.cpp20
-rw-r--r--application/pages/instance/VersionPage.cpp15
-rw-r--r--application/pages/instance/VersionPage.h3
-rw-r--r--application/pages/instance/VersionPage.ui20
4 files changed, 56 insertions, 2 deletions
diff --git a/application/pages/instance/ModFolderPage.cpp b/application/pages/instance/ModFolderPage.cpp
index d449f8bf..ec4bf3c9 100644
--- a/application/pages/instance/ModFolderPage.cpp
+++ b/application/pages/instance/ModFolderPage.cpp
@@ -51,6 +51,26 @@ public:
}
protected:
+ bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const override {
+ ModFolderModel *model = qobject_cast<ModFolderModel *>(sourceModel());
+ if(!model) {
+ return false;
+ }
+ const auto &mod = model->at(source_row);
+ if(mod.name().contains(filterRegExp())) {
+ return true;
+ }
+ if(mod.description().contains(filterRegExp())) {
+ return true;
+ }
+ for(auto & author: mod.authors()) {
+ if (author.contains(filterRegExp())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
bool lessThan(const QModelIndex & source_left, const QModelIndex & source_right) const override
{
ModFolderModel *model = qobject_cast<ModFolderModel *>(sourceModel());
diff --git a/application/pages/instance/VersionPage.cpp b/application/pages/instance/VersionPage.cpp
index 8ca55934..c7a8dc30 100644
--- a/application/pages/instance/VersionPage.cpp
+++ b/application/pages/instance/VersionPage.cpp
@@ -43,6 +43,7 @@
#include "icons/IconList.h"
#include "Exception.h"
#include "Version.h"
+#include "DesktopServices.h"
#include <meta/Index.h>
#include <meta/VersionList.h>
@@ -60,7 +61,7 @@ public:
virtual QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const override
{
- QVariant var = QIdentityProxyModel::data(mapToSource(proxyIndex), role);
+ QVariant var = QIdentityProxyModel::data(proxyIndex, role);
int column = proxyIndex.column();
if(column == 0 && role == Qt::DecorationRole && m_parentWidget)
{
@@ -205,7 +206,7 @@ void VersionPage::updateVersionControls()
bool newCraft = controlsEnabled && (minecraftVersion >= Version("1.14"));
bool oldCraft = controlsEnabled && (minecraftVersion <= Version("1.12.2"));
ui->actionInstall_Fabric->setEnabled(newCraft);
- ui->actionInstall_Forge->setEnabled(oldCraft);
+ ui->actionInstall_Forge->setEnabled(true);
ui->actionInstall_LiteLoader->setEnabled(oldCraft);
ui->actionReload->setEnabled(true);
updateButtons();
@@ -507,6 +508,16 @@ void VersionPage::on_actionInstall_LiteLoader_triggered()
}
}
+void VersionPage::on_actionLibrariesFolder_triggered()
+{
+ DesktopServices::openDirectory(m_inst->getLocalLibraryPath(), true);
+}
+
+void VersionPage::on_actionMinecraftFolder_triggered()
+{
+ DesktopServices::openDirectory(m_inst->gameRoot(), true);
+}
+
void VersionPage::versionCurrent(const QModelIndex &current, const QModelIndex &previous)
{
currentIdx = current.row();
diff --git a/application/pages/instance/VersionPage.h b/application/pages/instance/VersionPage.h
index 5ffd32f5..769fe997 100644
--- a/application/pages/instance/VersionPage.h
+++ b/application/pages/instance/VersionPage.h
@@ -66,6 +66,9 @@ private slots:
void on_actionCustomize_triggered();
void on_actionDownload_All_triggered();
+ void on_actionMinecraftFolder_triggered();
+ void on_actionLibrariesFolder_triggered();
+
void updateVersionControls();
private:
diff --git a/application/pages/instance/VersionPage.ui b/application/pages/instance/VersionPage.ui
index 32111aa5..718ad067 100644
--- a/application/pages/instance/VersionPage.ui
+++ b/application/pages/instance/VersionPage.ui
@@ -95,6 +95,10 @@
<addaction name="actionAdd_to_Minecraft_jar"/>
<addaction name="actionReplace_Minecraft_jar"/>
<addaction name="actionAdd_Empty"/>
+ <addaction name="separator"/>
+ <addaction name="actionMinecraftFolder"/>
+ <addaction name="actionLibrariesFolder"/>
+ <addaction name="separator"/>
<addaction name="actionReload"/>
<addaction name="actionDownload_All"/>
</widget>
@@ -223,6 +227,22 @@
<string>Download the files needed to launch the instance now.</string>
</property>
</action>
+ <action name="actionMinecraftFolder">
+ <property name="text">
+ <string>Open .minecraft</string>
+ </property>
+ <property name="toolTip">
+ <string>Open the instance's .minecraft folder.</string>
+ </property>
+ </action>
+ <action name="actionLibrariesFolder">
+ <property name="text">
+ <string>Open libraries</string>
+ </property>
+ <property name="toolTip">
+ <string>Open the instance's local libraries folder.</string>
+ </property>
+ </action>
</widget>
<customwidgets>
<customwidget>