aboutsummaryrefslogtreecommitdiff
path: root/application/pages/instance
diff options
context:
space:
mode:
Diffstat (limited to 'application/pages/instance')
-rw-r--r--application/pages/instance/InstanceSettingsPage.ui2
-rw-r--r--application/pages/instance/ServersPage.cpp11
-rw-r--r--application/pages/instance/ServersPage.h5
-rw-r--r--application/pages/instance/ServersPage.ui6
4 files changed, 19 insertions, 5 deletions
diff --git a/application/pages/instance/InstanceSettingsPage.ui b/application/pages/instance/InstanceSettingsPage.ui
index de9fa9e3..29024b65 100644
--- a/application/pages/instance/InstanceSettingsPage.ui
+++ b/application/pages/instance/InstanceSettingsPage.ui
@@ -39,7 +39,7 @@
<enum>QTabWidget::Rounded</enum>
</property>
<property name="currentIndex">
- <number>4</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="minecraftTab">
<attribute name="title">
diff --git a/application/pages/instance/ServersPage.cpp b/application/pages/instance/ServersPage.cpp
index 8b0c655c..d63c6e70 100644
--- a/application/pages/instance/ServersPage.cpp
+++ b/application/pages/instance/ServersPage.cpp
@@ -556,7 +556,7 @@ private:
QTimer m_saveTimer;
};
-ServersPage::ServersPage(MinecraftInstance * inst, QWidget* parent)
+ServersPage::ServersPage(InstancePtr inst, QWidget* parent)
: QMainWindow(parent), ui(new Ui::ServersPage)
{
ui->setupUi(this);
@@ -579,7 +579,7 @@ ServersPage::ServersPage(MinecraftInstance * inst, QWidget* parent)
auto selectionModel = ui->serversView->selectionModel();
connect(selectionModel, &QItemSelectionModel::currentChanged, this, &ServersPage::currentChanged);
- connect(m_inst, &MinecraftInstance::runningStatusChanged, this, &ServersPage::on_RunningState_changed);
+ connect(m_inst.get(), &MinecraftInstance::runningStatusChanged, this, &ServersPage::on_RunningState_changed);
connect(ui->nameLine, &QLineEdit::textEdited, this, &ServersPage::nameEdited);
connect(ui->addressLine, &QLineEdit::textEdited, this, &ServersPage::addressEdited);
connect(ui->resourceComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(resourceIndexChanged(int)));
@@ -695,6 +695,7 @@ void ServersPage::updateState()
ui->actionMove_Down->setEnabled(serverEditEnabled);
ui->actionMove_Up->setEnabled(serverEditEnabled);
ui->actionRemove->setEnabled(serverEditEnabled);
+ ui->actionJoin->setEnabled(serverEditEnabled);
if(server)
{
@@ -758,4 +759,10 @@ void ServersPage::on_actionMove_Down_triggered()
}
}
+void ServersPage::on_actionJoin_triggered()
+{
+ const auto &address = m_model->at(currentServer)->m_address;
+ MMC->launch(m_inst, true, nullptr, std::make_shared<MinecraftServerTarget>(MinecraftServerTarget::parse(address)));
+}
+
#include "ServersPage.moc"
diff --git a/application/pages/instance/ServersPage.h b/application/pages/instance/ServersPage.h
index f164da1e..8c5b7eb8 100644
--- a/application/pages/instance/ServersPage.h
+++ b/application/pages/instance/ServersPage.h
@@ -35,7 +35,7 @@ class ServersPage : public QMainWindow, public BasePage
Q_OBJECT
public:
- explicit ServersPage(MinecraftInstance *inst, QWidget *parent = 0);
+ explicit ServersPage(InstancePtr inst, QWidget *parent = 0);
virtual ~ServersPage();
void openedImpl() override;
@@ -74,6 +74,7 @@ private slots:
void on_actionRemove_triggered();
void on_actionMove_Up_triggered();
void on_actionMove_Down_triggered();
+ void on_actionJoin_triggered();
void on_RunningState_changed(bool running);
@@ -88,6 +89,6 @@ private: // data
bool m_locked = true;
Ui::ServersPage *ui = nullptr;
ServersModel * m_model = nullptr;
- MinecraftInstance * m_inst = nullptr;
+ InstancePtr m_inst = nullptr;
};
diff --git a/application/pages/instance/ServersPage.ui b/application/pages/instance/ServersPage.ui
index e9518e35..d89b7cba 100644
--- a/application/pages/instance/ServersPage.ui
+++ b/application/pages/instance/ServersPage.ui
@@ -148,6 +148,7 @@
<addaction name="actionRemove"/>
<addaction name="actionMove_Up"/>
<addaction name="actionMove_Down"/>
+ <addaction name="actionJoin"/>
</widget>
<action name="actionAdd">
<property name="text">
@@ -169,6 +170,11 @@
<string>Move Down</string>
</property>
</action>
+ <action name="actionJoin">
+ <property name="text">
+ <string>Join</string>
+ </property>
+ </action>
</widget>
<customwidgets>
<customwidget>