mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-09 13:19:00 +00:00
QT: TrophyViewer size adjustment | and 'Log' tab translated (#3536)
* TrophyViewer size adjustment * + * fix Log...
This commit is contained in:
@@ -107,7 +107,7 @@ SettingsDialog::SettingsDialog(std::shared_ptr<gui_settings> gui_settings,
|
|||||||
chooseHomeTabMap = {{tr("General"), "General"}, {tr("GUI"), "GUI"},
|
chooseHomeTabMap = {{tr("General"), "General"}, {tr("GUI"), "GUI"},
|
||||||
{tr("Graphics"), "Graphics"}, {tr("User"), "User"},
|
{tr("Graphics"), "Graphics"}, {tr("User"), "User"},
|
||||||
{tr("Input"), "Input"}, {tr("Paths"), "Paths"},
|
{tr("Input"), "Input"}, {tr("Paths"), "Paths"},
|
||||||
{tr("Debug"), "Debug"}};
|
{tr("Log"), "Log"}, {tr("Debug"), "Debug"}};
|
||||||
micMap = {{tr("None"), "None"}, {tr("Default Device"), "Default Device"}};
|
micMap = {{tr("None"), "None"}, {tr("Default Device"), "Default Device"}};
|
||||||
|
|
||||||
if (m_physical_devices.empty()) {
|
if (m_physical_devices.empty()) {
|
||||||
@@ -661,7 +661,7 @@ void SettingsDialog::LoadValuesFromConfig() {
|
|||||||
ui->chooseHomeTabComboBox->setCurrentText(translatedText);
|
ui->chooseHomeTabComboBox->setCurrentText(translatedText);
|
||||||
|
|
||||||
QStringList tabNames = {tr("General"), tr("GUI"), tr("Graphics"), tr("User"),
|
QStringList tabNames = {tr("General"), tr("GUI"), tr("Graphics"), tr("User"),
|
||||||
tr("Input"), tr("Paths"), tr("Debug")};
|
tr("Input"), tr("Paths"), tr("Log"), tr("Debug")};
|
||||||
int indexTab = tabNames.indexOf(translatedText);
|
int indexTab = tabNames.indexOf(translatedText);
|
||||||
if (indexTab == -1)
|
if (indexTab == -1)
|
||||||
indexTab = 0;
|
indexTab = 0;
|
||||||
|
|||||||
@@ -4,10 +4,14 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QDockWidget>
|
#include <QDockWidget>
|
||||||
|
#include <QGuiApplication>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
#include <QResizeEvent>
|
||||||
|
#include <QScreen>
|
||||||
#include <cmrc/cmrc.hpp>
|
#include <cmrc/cmrc.hpp>
|
||||||
#include <common/config.h>
|
#include <common/config.h>
|
||||||
|
|
||||||
#include "common/path_util.h"
|
#include "common/path_util.h"
|
||||||
#include "main_window_themes.h"
|
#include "main_window_themes.h"
|
||||||
#include "trophy_viewer.h"
|
#include "trophy_viewer.h"
|
||||||
@@ -19,6 +23,13 @@ CMRC_DECLARE(res);
|
|||||||
// true: European format; false: American format
|
// true: European format; false: American format
|
||||||
bool useEuropeanDateFormat = true;
|
bool useEuropeanDateFormat = true;
|
||||||
|
|
||||||
|
void TrophyViewer::resizeEvent(QResizeEvent* event) {
|
||||||
|
if (!programmaticResize_) {
|
||||||
|
userResizedWindow_ = true;
|
||||||
|
}
|
||||||
|
QMainWindow::resizeEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
void TrophyViewer::updateTrophyInfo() {
|
void TrophyViewer::updateTrophyInfo() {
|
||||||
int total = 0;
|
int total = 0;
|
||||||
int unlocked = 0;
|
int unlocked = 0;
|
||||||
@@ -287,6 +298,13 @@ void TrophyViewer::PopulateTrophyWidget(QString title) {
|
|||||||
if (dirList.isEmpty())
|
if (dirList.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Clears previous tabs (if any)
|
||||||
|
while (tabWidget->count() > 0) {
|
||||||
|
QWidget* widget = tabWidget->widget(0);
|
||||||
|
tabWidget->removeTab(0);
|
||||||
|
delete widget;
|
||||||
|
}
|
||||||
|
|
||||||
for (const QFileInfo& dirInfo : dirList) {
|
for (const QFileInfo& dirInfo : dirList) {
|
||||||
QString tabName = dirInfo.fileName();
|
QString tabName = dirInfo.fileName();
|
||||||
QString trpDir = trophyDirQt + "/" + tabName;
|
QString trpDir = trophyDirQt + "/" + tabName;
|
||||||
@@ -374,10 +392,11 @@ void TrophyViewer::PopulateTrophyWidget(QString title) {
|
|||||||
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
|
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||||
tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
|
tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||||
tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||||
tableWidget->horizontalHeader()->setStretchLastSection(true);
|
tableWidget->horizontalHeader()->setStretchLastSection(false);
|
||||||
tableWidget->verticalHeader()->setVisible(false);
|
tableWidget->verticalHeader()->setVisible(false);
|
||||||
tableWidget->setRowCount(icons.size());
|
tableWidget->setRowCount(static_cast<int>(icons.size()));
|
||||||
tableWidget->setSortingEnabled(true);
|
tableWidget->setSortingEnabled(true);
|
||||||
|
tableWidget->setWordWrap(true);
|
||||||
|
|
||||||
for (int row = 0; auto& icon : icons) {
|
for (int row = 0; auto& icon : icons) {
|
||||||
QTableWidgetItem* item = new QTableWidgetItem();
|
QTableWidgetItem* item = new QTableWidgetItem();
|
||||||
@@ -433,29 +452,50 @@ void TrophyViewer::PopulateTrophyWidget(QString title) {
|
|||||||
SetTableItem(tableWidget, row, 7, trpHidden[row]);
|
SetTableItem(tableWidget, row, 7, trpHidden[row]);
|
||||||
SetTableItem(tableWidget, row, 8, trpPid[row]);
|
SetTableItem(tableWidget, row, 8, trpPid[row]);
|
||||||
}
|
}
|
||||||
|
|
||||||
tableWidget->verticalHeader()->resizeSection(row, icon.height());
|
tableWidget->verticalHeader()->resizeSection(row, icon.height());
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
|
||||||
int width = 16;
|
auto header = tableWidget->horizontalHeader();
|
||||||
for (int i = 0; i < 9; i++) {
|
header->setSectionResizeMode(1, QHeaderView::ResizeToContents);
|
||||||
width += tableWidget->horizontalHeader()->sectionSize(i);
|
header->setSectionResizeMode(5, QHeaderView::ResizeToContents);
|
||||||
|
header->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
||||||
|
header->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
||||||
|
header->setSectionResizeMode(3, QHeaderView::Stretch);
|
||||||
|
header->setSectionResizeMode(4, QHeaderView::ResizeToContents);
|
||||||
|
header->setSectionResizeMode(6, QHeaderView::ResizeToContents);
|
||||||
|
header->setSectionResizeMode(7, QHeaderView::ResizeToContents);
|
||||||
|
header->setSectionResizeMode(8, QHeaderView::ResizeToContents);
|
||||||
|
|
||||||
|
tableWidget->resizeColumnsToContents();
|
||||||
|
tableWidget->resizeRowsToContents();
|
||||||
|
|
||||||
|
const int hardMinDesc = 300;
|
||||||
|
int currentDesc = tableWidget->columnWidth(3);
|
||||||
|
if (currentDesc < hardMinDesc) {
|
||||||
|
tableWidget->setColumnWidth(3, hardMinDesc);
|
||||||
}
|
}
|
||||||
tableWidget->resize(width, 720);
|
|
||||||
tabWidget->addTab(tableWidget,
|
tabWidget->addTab(tableWidget,
|
||||||
tabName.insert(6, " ").replace(0, 1, tabName.at(0).toUpper()));
|
tabName.insert(6, " ").replace(0, 1, tabName.at(0).toUpper()));
|
||||||
|
|
||||||
if (!this->isMaximized()) {
|
|
||||||
this->resize(width + 400, 720);
|
|
||||||
QSize mainWindowSize = QApplication::activeWindow()->size();
|
|
||||||
this->resize(mainWindowSize.width() * 0.8, mainWindowSize.height() * 0.8);
|
|
||||||
}
|
|
||||||
this->show();
|
|
||||||
|
|
||||||
tableWidget->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Fixed);
|
|
||||||
tableWidget->setColumnWidth(3, 500);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this->setCentralWidget(tabWidget);
|
this->setCentralWidget(tabWidget);
|
||||||
|
|
||||||
|
if (!this->isMaximized() && !this->isFullScreen()) {
|
||||||
|
if (!userResizedWindow_ && !initialSizeApplied_) {
|
||||||
|
QScreen* screen = QGuiApplication::primaryScreen();
|
||||||
|
QSize screenSize(1024, 768);
|
||||||
|
if (screen) {
|
||||||
|
screenSize = screen->availableGeometry().size();
|
||||||
|
}
|
||||||
|
programmaticResize_ = true;
|
||||||
|
this->resize(screenSize.width() * 0.8, screenSize.height() * 0.8);
|
||||||
|
programmaticResize_ = false;
|
||||||
|
initialSizeApplied_ = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrophyViewer::SetTableItem(QTableWidget* parent, int row, int column, QString str) {
|
void TrophyViewer::SetTableItem(QTableWidget* parent, int row, int column, QString str) {
|
||||||
@@ -463,7 +503,10 @@ void TrophyViewer::SetTableItem(QTableWidget* parent, int row, int column, QStri
|
|||||||
|
|
||||||
if (column != 1 && column != 2 && column != 3)
|
if (column != 1 && column != 2 && column != 3)
|
||||||
item->setTextAlignment(Qt::AlignCenter);
|
item->setTextAlignment(Qt::AlignCenter);
|
||||||
item->setFont(QFont("Arial", 12, QFont::Bold));
|
QFont f = parent->font();
|
||||||
|
f.setPointSize(12);
|
||||||
|
f.setBold(true);
|
||||||
|
item->setFont(f);
|
||||||
|
|
||||||
Theme theme = static_cast<Theme>(m_gui_settings->GetValue(gui::gen_theme).toInt());
|
Theme theme = static_cast<Theme>(m_gui_settings->GetValue(gui::gen_theme).toInt());
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ private slots:
|
|||||||
private:
|
private:
|
||||||
void PopulateTrophyWidget(QString title);
|
void PopulateTrophyWidget(QString title);
|
||||||
void SetTableItem(QTableWidget* parent, int row, int column, QString str);
|
void SetTableItem(QTableWidget* parent, int row, int column, QString str);
|
||||||
|
bool userResizedWindow_ = false;
|
||||||
|
bool programmaticResize_ = false;
|
||||||
|
bool initialSizeApplied_ = false;
|
||||||
|
|
||||||
QTabWidget* tabWidget = nullptr;
|
QTabWidget* tabWidget = nullptr;
|
||||||
QStringList headers;
|
QStringList headers;
|
||||||
@@ -80,4 +83,7 @@ private:
|
|||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
std::shared_ptr<gui_settings> m_gui_settings;
|
std::shared_ptr<gui_settings> m_gui_settings;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void resizeEvent(QResizeEvent* event) override;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user