UltimMC: Make separate section for local accounts

This commit is contained in:
Neptune
2024-03-05 17:26:00 -05:00
parent eba8c1e33f
commit fb323d8a0b
8 changed files with 267 additions and 5 deletions

View File

@@ -26,6 +26,7 @@
#include "ui/dialogs/ProgressDialog.h"
#include "ui/dialogs/LoginDialog.h"
#include "ui/dialogs/MSALoginDialog.h"
#include "ui/dialogs/LocalLoginDialog.h"
#include "ui/dialogs/CustomMessageBox.h"
#include "ui/dialogs/SkinUploadDialog.h"
@@ -45,7 +46,8 @@ AccountListPage::AccountListPage(QWidget *parent)
ui->setupUi(this);
ui->listView->setEmptyString(tr(
"Welcome!\n"
"If you're new here, you can click the \"Add\" button to add your Mojang, local, or ElyBy account."
"If you're new here, you can click the \"Add Local\" button to add your local account.\n"
"Or click the \"Add Premium\" button to add your Ely.by or Mojang account."
));
ui->listView->setEmptyMode(VersionListView::String);
ui->listView->setContextMenuPolicy(Qt::CustomContextMenu);
@@ -111,6 +113,22 @@ void AccountListPage::listChanged()
updateButtonStates();
}
void AccountListPage::on_actionAddLocal_triggered()
{
MinecraftAccountPtr account = LocalLoginDialog::newAccount(
this,
tr("Please enter your desired username to add your account.")
);
if (account)
{
m_accounts->addAccount(account);
if (m_accounts->count() == 1) {
m_accounts->setDefaultAccount(account);
}
}
}
void AccountListPage::on_actionAddMojang_triggered()
{
MinecraftAccountPtr account = LoginDialog::newAccount(

View File

@@ -60,6 +60,7 @@ public:
}
public slots:
void on_actionAddLocal_triggered();
void on_actionAddMojang_triggered();
void on_actionAddMicrosoft_triggered();
void on_actionRemove_triggered();

View File

@@ -52,6 +52,7 @@
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<addaction name="actionAddLocal"/>
<addaction name="actionAddMicrosoft"/>
<addaction name="actionAddMojang"/>
<addaction name="actionRefresh"/>
@@ -62,9 +63,14 @@
<addaction name="actionUploadSkin"/>
<addaction name="actionDeleteSkin"/>
</widget>
<action name="actionAddLocal">
<property name="text">
<string>Add Local</string>
</property>
</action>
<action name="actionAddMojang">
<property name="text">
<string>Add Account</string>
<string>Add Premium</string>
</property>
</action>
<action name="actionRemove">