Moved buttons to the left - Added dock button
This commit is contained in:
6
dist/qt_themes/default/style.qss
vendored
6
dist/qt_themes/default/style.qss
vendored
@@ -1,4 +1,4 @@
|
||||
QPushButton#StatusBarToggleButton {
|
||||
QPushButton#TogglableStatusBarButton {
|
||||
color: #959595;
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
@@ -6,11 +6,11 @@ QPushButton#StatusBarToggleButton {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#StatusBarToggleButton:checked {
|
||||
QPushButton#TogglableStatusBarButton:checked {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
QPushButton#StatusBarToggleButton:hover {
|
||||
QPushButton#TogglableStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
|
||||
2
dist/qt_themes/qdarkstyle/style.qss
vendored
2
dist/qt_themes/qdarkstyle/style.qss
vendored
@@ -1271,4 +1271,4 @@ QPushButton#RendererStatusBarButton:checked {
|
||||
|
||||
QPushButton#RendererStatusBarButton:!checked{
|
||||
color: #00ccdd;
|
||||
}
|
||||
}
|
||||
@@ -454,7 +454,6 @@ void GMainWindow::InitializeWidgets() {
|
||||
// Create status bar
|
||||
message_label = new QLabel();
|
||||
// Configured separately for left alignment
|
||||
message_label->setVisible(false);
|
||||
message_label->setFrameStyle(QFrame::NoFrame);
|
||||
message_label->setContentsMargins(4, 0, 4, 0);
|
||||
message_label->setAlignment(Qt::AlignLeft);
|
||||
@@ -476,36 +475,68 @@ void GMainWindow::InitializeWidgets() {
|
||||
label->setVisible(false);
|
||||
label->setFrameStyle(QFrame::NoFrame);
|
||||
label->setContentsMargins(4, 0, 4, 0);
|
||||
statusBar()->addPermanentWidget(label, 0);
|
||||
statusBar()->addPermanentWidget(label);
|
||||
}
|
||||
|
||||
// Setup Dock button
|
||||
dock_status_button = new QPushButton();
|
||||
dock_status_button->setObjectName(tr("TogglableStatusBarButton"));
|
||||
connect(dock_status_button, &QPushButton::clicked, [&] {
|
||||
Settings::values.use_docked_mode = !Settings::values.use_docked_mode;
|
||||
dock_status_button->setChecked(Settings::values.use_docked_mode);
|
||||
OnDockedModeChanged(!Settings::values.use_docked_mode, Settings::values.use_docked_mode);
|
||||
});
|
||||
dock_status_button->setText(tr("DOCK"));
|
||||
dock_status_button->setCheckable(true);
|
||||
dock_status_button->setChecked(Settings::values.use_docked_mode);
|
||||
statusBar()->insertPermanentWidget(0, dock_status_button);
|
||||
|
||||
// Setup ASync button
|
||||
async_status_button = new QPushButton();
|
||||
async_status_button->setObjectName(tr("TogglableStatusBarButton"));
|
||||
connect(async_status_button, &QPushButton::clicked, [&] {
|
||||
if (emulation_running)
|
||||
return;
|
||||
Settings::values.use_asynchronous_gpu_emulation =
|
||||
!Settings::values.use_asynchronous_gpu_emulation;
|
||||
async_status_button->setChecked(Settings::values.use_asynchronous_gpu_emulation);
|
||||
Settings::Apply();
|
||||
});
|
||||
async_status_button->setText(tr("ASYNC"));
|
||||
async_status_button->setObjectName(tr("StatusBarToggleButton"));
|
||||
async_status_button->setCheckable(true);
|
||||
async_status_button->setChecked(Settings::values.use_asynchronous_gpu_emulation);
|
||||
statusBar()->addPermanentWidget(async_status_button, 0);
|
||||
statusBar()->insertPermanentWidget(0, async_status_button);
|
||||
|
||||
// Setup Renderer API button
|
||||
renderer_status_button = new QPushButton();
|
||||
renderer_status_button->setCheckable(true);
|
||||
#ifdef HAS_VULKAN
|
||||
switch (Settings::values.renderer_backend) {
|
||||
case Settings::RendererBackend::OpenGL:
|
||||
renderer_status_button->setText(tr("OPENGL"));
|
||||
renderer_status_button->setChecked(false);
|
||||
break;
|
||||
case Settings::RendererBackend::Vulkan:
|
||||
renderer_status_button->setText(tr("VULKAN"));
|
||||
renderer_status_button->setChecked(true);
|
||||
break;
|
||||
}
|
||||
#else
|
||||
renderer_status_button->setText(tr("OPENGL"));
|
||||
renderer_status_button->setChecked(false);
|
||||
renderer_status_button->setDisabled(true);
|
||||
#endif // HAS_VULKAN
|
||||
renderer_status_button->setObjectName(tr("RendererStatusBarButton"));
|
||||
statusBar()->addPermanentWidget(renderer_status_button, 0);
|
||||
renderer_status_button->setCheckable(true);
|
||||
connect(renderer_status_button, &QPushButton::toggled, [=](bool checked) {
|
||||
renderer_status_button->setText(tr(checked ? "VULKAN" : "OPENGL"));
|
||||
});
|
||||
renderer_status_button->toggle();
|
||||
|
||||
#ifndef HAS_VULKAN
|
||||
renderer_status_button->setChecked(false);
|
||||
renderer_status_button->setCheckable(false);
|
||||
renderer_status_button->setDisabled(true);
|
||||
#else
|
||||
renderer_status_button->setChecked(Settings::values.renderer_backend ==
|
||||
Settings::RendererBackend::Vulkan);
|
||||
connect(renderer_status_button, &QPushButton::clicked, [=] {
|
||||
if (emulation_running)
|
||||
return;
|
||||
|
||||
if (renderer_status_button->isChecked()) {
|
||||
Settings::values.renderer_backend = Settings::RendererBackend::Vulkan;
|
||||
} else {
|
||||
Settings::values.renderer_backend = Settings::RendererBackend::OpenGL;
|
||||
}
|
||||
|
||||
Settings::Apply();
|
||||
});
|
||||
#endif // HAS_VULKAN
|
||||
statusBar()->insertPermanentWidget(0, renderer_status_button);
|
||||
|
||||
statusBar()->setVisible(true);
|
||||
setStyleSheet(QStringLiteral("QStatusBar::item{border: none;}"));
|
||||
@@ -669,6 +700,7 @@ void GMainWindow::InitializeHotkeys() {
|
||||
Settings::values.use_docked_mode = !Settings::values.use_docked_mode;
|
||||
OnDockedModeChanged(!Settings::values.use_docked_mode,
|
||||
Settings::values.use_docked_mode);
|
||||
dock_status_button->setChecked(Settings::values.use_docked_mode);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -753,9 +785,6 @@ void GMainWindow::ConnectWidgetEvents() {
|
||||
&GRenderWindow::OnEmulationStopping);
|
||||
|
||||
connect(&status_bar_update_timer, &QTimer::timeout, this, &GMainWindow::UpdateStatusBar);
|
||||
|
||||
connect(async_status_button, &QPushButton::clicked, this, &GMainWindow::OnToggleASyncGPU);
|
||||
connect(renderer_status_button, &QPushButton::clicked, this, &GMainWindow::OnToggleRendererAPI);
|
||||
}
|
||||
|
||||
void GMainWindow::ConnectMenuEvents() {
|
||||
@@ -1875,18 +1904,11 @@ void GMainWindow::OnConfigure() {
|
||||
|
||||
config->Save();
|
||||
|
||||
dock_status_button->setChecked(Settings::values.use_docked_mode);
|
||||
async_status_button->setChecked(Settings::values.use_asynchronous_gpu_emulation);
|
||||
#ifdef HAS_VULKAN
|
||||
switch (Settings::values.renderer_backend) {
|
||||
case Settings::RendererBackend::OpenGL:
|
||||
renderer_status_button->setText(tr("OPENGL"));
|
||||
renderer_status_button->setChecked(false);
|
||||
break;
|
||||
case Settings::RendererBackend::Vulkan:
|
||||
renderer_status_button->setText(tr("VULKAN"));
|
||||
renderer_status_button->setChecked(true);
|
||||
break;
|
||||
}
|
||||
renderer_status_button->setChecked(
|
||||
Settings::values.renderer_backend == Settings::RendererBackend::Vulkan ? true : false);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -2165,39 +2187,6 @@ void GMainWindow::OnReinitializeKeys(ReinitializeKeyBehavior behavior) {
|
||||
}
|
||||
}
|
||||
|
||||
void GMainWindow::OnToggleASyncGPU() {
|
||||
if (emulation_running)
|
||||
return;
|
||||
|
||||
Settings::values.use_asynchronous_gpu_emulation =
|
||||
!Settings::values.use_asynchronous_gpu_emulation;
|
||||
async_status_button->setChecked(Settings::values.use_asynchronous_gpu_emulation);
|
||||
|
||||
Settings::Apply();
|
||||
}
|
||||
|
||||
void GMainWindow::OnToggleRendererAPI() {
|
||||
if (emulation_running)
|
||||
return;
|
||||
|
||||
#ifdef HAS_VULKAN
|
||||
switch (Settings::values.renderer_backend) {
|
||||
case Settings::RendererBackend::Vulkan:
|
||||
Settings::values.renderer_backend = Settings::RendererBackend::OpenGL;
|
||||
renderer_status_button->setText(tr("OPENGL"));
|
||||
renderer_status_button->setChecked(false);
|
||||
break;
|
||||
case Settings::RendererBackend::OpenGL:
|
||||
Settings::values.renderer_backend = Settings::RendererBackend::Vulkan;
|
||||
renderer_status_button->setText(tr("VULKAN"));
|
||||
renderer_status_button->setChecked(true);
|
||||
break;
|
||||
}
|
||||
|
||||
Settings::Apply();
|
||||
#endif // HAS_VULKAN
|
||||
}
|
||||
|
||||
std::optional<u64> GMainWindow::SelectRomFSDumpTarget(const FileSys::ContentProvider& installed,
|
||||
u64 program_id) {
|
||||
const auto dlc_entries =
|
||||
|
||||
@@ -211,8 +211,6 @@ private slots:
|
||||
void OnCaptureScreenshot();
|
||||
void OnCoreError(Core::System::ResultStatus, std::string);
|
||||
void OnReinitializeKeys(ReinitializeKeyBehavior behavior);
|
||||
void OnToggleASyncGPU();
|
||||
void OnToggleRendererAPI();
|
||||
|
||||
private:
|
||||
std::optional<u64> SelectRomFSDumpTarget(const FileSys::ContentProvider&, u64 program_id);
|
||||
@@ -234,6 +232,7 @@ private:
|
||||
QLabel* emu_frametime_label = nullptr;
|
||||
QPushButton* async_status_button = nullptr;
|
||||
QPushButton* renderer_status_button = nullptr;
|
||||
QPushButton* dock_status_button = nullptr;
|
||||
QTimer status_bar_update_timer;
|
||||
|
||||
std::unique_ptr<Config> config;
|
||||
|
||||
Reference in New Issue
Block a user