aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-07-03 12:55:36 +0200
committerGitHub <noreply@github.com>2022-07-03 12:55:36 +0200
commit5599b5a337c04e23fd1b0d1b4cc4b54906ab0657 (patch)
tree7fd15acc78ec4dfcd5a085fadce64302392bbd89
parentb90d6b0f26613c5b4a4a1f20e7646ffeefe05c83 (diff)
parentdbb63b97bdb680bdadb7c9e4142b5972baf8a5a2 (diff)
downloadPrismLauncher-5599b5a337c04e23fd1b0d1b4cc4b54906ab0657.tar.gz
PrismLauncher-5599b5a337c04e23fd1b0d1b4cc4b54906ab0657.tar.bz2
PrismLauncher-5599b5a337c04e23fd1b0d1b4cc4b54906ab0657.zip
Merge pull request #855 from Gingeh/account-list
-rw-r--r--launcher/minecraft/auth/AccountData.cpp2
-rw-r--r--launcher/minecraft/auth/AccountList.cpp22
-rw-r--r--launcher/minecraft/auth/AccountList.h4
-rw-r--r--launcher/ui/pages/global/AccountListPage.cpp18
4 files changed, 25 insertions, 21 deletions
diff --git a/launcher/minecraft/auth/AccountData.cpp b/launcher/minecraft/auth/AccountData.cpp
index dd9c3f8f..3c7b193c 100644
--- a/launcher/minecraft/auth/AccountData.cpp
+++ b/launcher/minecraft/auth/AccountData.cpp
@@ -473,7 +473,7 @@ QString AccountData::accountDisplayString() const {
return userName();
}
case AccountType::Offline: {
- return userName();
+ return QObject::tr("<Offline>");
}
case AccountType::MSA: {
if(xboxApiToken.extra.contains("gtg")) {
diff --git a/launcher/minecraft/auth/AccountList.cpp b/launcher/minecraft/auth/AccountList.cpp
index 3422df7c..2b851e18 100644
--- a/launcher/minecraft/auth/AccountList.cpp
+++ b/launcher/minecraft/auth/AccountList.cpp
@@ -282,6 +282,10 @@ QVariant AccountList::data(const QModelIndex &index, int role) const
case Qt::DisplayRole:
switch (index.column())
{
+ case ProfileNameColumn: {
+ return account->profileName();
+ }
+
case NameColumn:
return account->accountDisplayString();
@@ -300,7 +304,7 @@ QVariant AccountList::data(const QModelIndex &index, int role) const
return tr("Offline", "Account status");
}
case AccountState::Online: {
- return tr("Online", "Account status");
+ return tr("Ready", "Account status");
}
case AccountState::Working: {
return tr("Working", "Account status");
@@ -320,10 +324,6 @@ QVariant AccountList::data(const QModelIndex &index, int role) const
}
}
- case ProfileNameColumn: {
- return account->profileName();
- }
-
case MigrationColumn: {
if(account->isMSA() || account->isOffline()) {
return tr("N/A", "Can Migrate?");
@@ -349,7 +349,7 @@ QVariant AccountList::data(const QModelIndex &index, int role) const
case Qt::CheckStateRole:
switch (index.column())
{
- case NameColumn:
+ case ProfileNameColumn:
return account == m_defaultAccount ? Qt::Checked : Qt::Unchecked;
}
@@ -365,6 +365,8 @@ QVariant AccountList::headerData(int section, Qt::Orientation orientation, int r
case Qt::DisplayRole:
switch (section)
{
+ case ProfileNameColumn:
+ return tr("Username");
case NameColumn:
return tr("Account");
case TypeColumn:
@@ -373,8 +375,6 @@ QVariant AccountList::headerData(int section, Qt::Orientation orientation, int r
return tr("Status");
case MigrationColumn:
return tr("Can Migrate?");
- case ProfileNameColumn:
- return tr("Profile");
default:
return QVariant();
}
@@ -382,6 +382,8 @@ QVariant AccountList::headerData(int section, Qt::Orientation orientation, int r
case Qt::ToolTipRole:
switch (section)
{
+ case ProfileNameColumn:
+ return tr("Minecraft username associated with the account.");
case NameColumn:
return tr("User name of the account.");
case TypeColumn:
@@ -389,9 +391,7 @@ QVariant AccountList::headerData(int section, Qt::Orientation orientation, int r
case StatusColumn:
return tr("Current status of the account.");
case MigrationColumn:
- return tr("Can this account migrate to Microsoft account?");
- case ProfileNameColumn:
- return tr("Name of the Minecraft profile associated with the account.");
+ return tr("Can this account migrate to a Microsoft account?");
default:
return QVariant();
}
diff --git a/launcher/minecraft/auth/AccountList.h b/launcher/minecraft/auth/AccountList.h
index baaf7414..8136a92e 100644
--- a/launcher/minecraft/auth/AccountList.h
+++ b/launcher/minecraft/auth/AccountList.h
@@ -58,8 +58,8 @@ public:
enum VListColumns
{
// TODO: Add icon column.
- NameColumn = 0,
- ProfileNameColumn,
+ ProfileNameColumn = 0,
+ NameColumn,
MigrationColumn,
TypeColumn,
StatusColumn,
diff --git a/launcher/ui/pages/global/AccountListPage.cpp b/launcher/ui/pages/global/AccountListPage.cpp
index 6e1e2183..f90ba863 100644
--- a/launcher/ui/pages/global/AccountListPage.cpp
+++ b/launcher/ui/pages/global/AccountListPage.cpp
@@ -73,9 +73,11 @@ AccountListPage::AccountListPage(QWidget *parent)
m_accounts = APPLICATION->accounts();
ui->listView->setModel(m_accounts.get());
- ui->listView->header()->setSectionResizeMode(0, QHeaderView::Stretch);
- ui->listView->header()->setSectionResizeMode(1, QHeaderView::Stretch);
- ui->listView->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
+ ui->listView->header()->setSectionResizeMode(AccountList::VListColumns::ProfileNameColumn, QHeaderView::Stretch);
+ ui->listView->header()->setSectionResizeMode(AccountList::VListColumns::NameColumn, QHeaderView::Stretch);
+ ui->listView->header()->setSectionResizeMode(AccountList::VListColumns::MigrationColumn, QHeaderView::ResizeToContents);
+ ui->listView->header()->setSectionResizeMode(AccountList::VListColumns::TypeColumn, QHeaderView::ResizeToContents);
+ ui->listView->header()->setSectionResizeMode(AccountList::VListColumns::StatusColumn, QHeaderView::ResizeToContents);
ui->listView->setSelectionMode(QAbstractItemView::SingleSelection);
// Expand the account column
@@ -253,19 +255,21 @@ void AccountListPage::updateButtonStates()
{
// If there is no selection, disable buttons that require something selected.
QModelIndexList selection = ui->listView->selectionModel()->selectedIndexes();
- bool hasSelection = selection.size() > 0;
+ bool hasSelection = !selection.empty();
bool accountIsReady = false;
+ bool accountIsOnline;
if (hasSelection)
{
QModelIndex selected = selection.first();
MinecraftAccountPtr account = selected.data(AccountList::PointerRole).value<MinecraftAccountPtr>();
accountIsReady = !account->isActive();
+ accountIsOnline = !account->isOffline();
}
ui->actionRemove->setEnabled(accountIsReady);
ui->actionSetDefault->setEnabled(accountIsReady);
- ui->actionUploadSkin->setEnabled(accountIsReady);
- ui->actionDeleteSkin->setEnabled(accountIsReady);
- ui->actionRefresh->setEnabled(accountIsReady);
+ ui->actionUploadSkin->setEnabled(accountIsReady && accountIsOnline);
+ ui->actionDeleteSkin->setEnabled(accountIsReady && accountIsOnline);
+ ui->actionRefresh->setEnabled(accountIsReady && accountIsOnline);
if(m_accounts->defaultAccount().get() == nullptr) {
ui->actionNoDefault->setEnabled(false);