mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-24 16:39:43 +00:00
Qt: add move up/down button for shader passes
This commit is contained in:
parent
ea946b5c97
commit
380cd7ac53
@ -3756,3 +3756,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT_CONTRIBUTORS,
|
|||||||
"作成者")
|
"作成者")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
|
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
|
||||||
"現在のシェーダー")
|
"現在のシェーダー")
|
||||||
|
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_DOWN,
|
||||||
|
"下へ移動")
|
||||||
|
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_UP,
|
||||||
|
"上へ移動")
|
||||||
|
@ -4258,3 +4258,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT_CONTRIBUTORS,
|
|||||||
"Contributors")
|
"Contributors")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
|
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
|
||||||
"Current shader")
|
"Current shader")
|
||||||
|
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_DOWN,
|
||||||
|
"Move Down")
|
||||||
|
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_UP,
|
||||||
|
"Move Up")
|
||||||
|
@ -1980,6 +1980,8 @@ enum msg_hash_enums
|
|||||||
MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FINISHED,
|
MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FINISHED,
|
||||||
MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FAILED,
|
MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FAILED,
|
||||||
MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
|
MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
|
||||||
|
MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_DOWN,
|
||||||
|
MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_UP,
|
||||||
|
|
||||||
MENU_LABEL(MIDI_INPUT),
|
MENU_LABEL(MIDI_INPUT),
|
||||||
MENU_LABEL(MIDI_OUTPUT),
|
MENU_LABEL(MIDI_OUTPUT),
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include <QDoubleSpinBox>
|
#include <QDoubleSpinBox>
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
#include <QPushButton>
|
||||||
|
|
||||||
#include "shaderparamsdialog.h"
|
#include "shaderparamsdialog.h"
|
||||||
#include "../ui_qt.h"
|
#include "../ui_qt.h"
|
||||||
@ -281,6 +282,98 @@ void ShaderParamsDialog::onScaleComboBoxIndexChanged(int)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ShaderParamsDialog::onShaderPassMoveDownClicked()
|
||||||
|
{
|
||||||
|
QPushButton *button = qobject_cast<QPushButton*>(sender());
|
||||||
|
QVariant passVariant;
|
||||||
|
struct video_shader *menu_shader = NULL;
|
||||||
|
struct video_shader *video_shader = NULL;
|
||||||
|
int pass = 0;
|
||||||
|
bool ok = false;
|
||||||
|
|
||||||
|
getShaders(&menu_shader, &video_shader);
|
||||||
|
|
||||||
|
if (!button)
|
||||||
|
return;
|
||||||
|
|
||||||
|
passVariant = button->property("pass");
|
||||||
|
|
||||||
|
if (!passVariant.isValid())
|
||||||
|
return;
|
||||||
|
|
||||||
|
pass = passVariant.toInt(&ok);
|
||||||
|
|
||||||
|
if (!ok)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (pass < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (video_shader)
|
||||||
|
{
|
||||||
|
if (pass >= static_cast<int>(video_shader->passes) - 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
std::swap(video_shader->pass[pass], video_shader->pass[pass + 1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (menu_shader)
|
||||||
|
{
|
||||||
|
if (pass >= static_cast<int>(menu_shader->passes) - 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
std::swap(menu_shader->pass[pass], menu_shader->pass[pass + 1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ShaderParamsDialog::onShaderPassMoveUpClicked()
|
||||||
|
{
|
||||||
|
QPushButton *button = qobject_cast<QPushButton*>(sender());
|
||||||
|
QVariant passVariant;
|
||||||
|
struct video_shader *menu_shader = NULL;
|
||||||
|
struct video_shader *video_shader = NULL;
|
||||||
|
int pass = 0;
|
||||||
|
bool ok = false;
|
||||||
|
|
||||||
|
getShaders(&menu_shader, &video_shader);
|
||||||
|
|
||||||
|
if (!button)
|
||||||
|
return;
|
||||||
|
|
||||||
|
passVariant = button->property("pass");
|
||||||
|
|
||||||
|
if (!passVariant.isValid())
|
||||||
|
return;
|
||||||
|
|
||||||
|
pass = passVariant.toInt(&ok);
|
||||||
|
|
||||||
|
if (!ok)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (pass <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (video_shader)
|
||||||
|
{
|
||||||
|
if (pass > static_cast<int>(video_shader->passes) - 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
std::swap(video_shader->pass[pass - 1], video_shader->pass[pass]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (menu_shader)
|
||||||
|
{
|
||||||
|
if (pass > static_cast<int>(menu_shader->passes) - 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
std::swap(menu_shader->pass[pass - 1], menu_shader->pass[pass]);
|
||||||
|
}
|
||||||
|
|
||||||
|
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
void ShaderParamsDialog::reload()
|
void ShaderParamsDialog::reload()
|
||||||
{
|
{
|
||||||
struct video_shader *menu_shader = NULL;
|
struct video_shader *menu_shader = NULL;
|
||||||
@ -325,11 +418,29 @@ void ShaderParamsDialog::reload()
|
|||||||
QHBoxLayout *filterScaleHBoxLayout = NULL;
|
QHBoxLayout *filterScaleHBoxLayout = NULL;
|
||||||
QComboBox *filterComboBox = new QComboBox();
|
QComboBox *filterComboBox = new QComboBox();
|
||||||
QComboBox *scaleComboBox = new QComboBox();
|
QComboBox *scaleComboBox = new QComboBox();
|
||||||
|
QPushButton *moveDownButton = NULL;
|
||||||
|
QPushButton *moveUpButton = NULL;
|
||||||
unsigned j = 0;
|
unsigned j = 0;
|
||||||
|
|
||||||
filterComboBox->setProperty("pass", i);
|
filterComboBox->setProperty("pass", i);
|
||||||
scaleComboBox->setProperty("pass", i);
|
scaleComboBox->setProperty("pass", i);
|
||||||
|
|
||||||
|
/* Can't move down if we're already at the bottom. */
|
||||||
|
if (i < static_cast<int>(video_shader->passes) - 1)
|
||||||
|
{
|
||||||
|
moveDownButton = new QPushButton(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_DOWN));
|
||||||
|
moveDownButton->setProperty("pass", i);
|
||||||
|
connect(moveDownButton, SIGNAL(clicked()), this, SLOT(onShaderPassMoveDownClicked()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Can't move up if we're already at the top. */
|
||||||
|
if (i > 0)
|
||||||
|
{
|
||||||
|
moveUpButton = new QPushButton(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_SHADER_MOVE_UP));
|
||||||
|
moveUpButton->setProperty("pass", i);
|
||||||
|
connect(moveUpButton, SIGNAL(clicked()), this, SLOT(onShaderPassMoveUpClicked()));
|
||||||
|
}
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
QString filterLabel = getFilterLabel(j);
|
QString filterLabel = getFilterLabel(j);
|
||||||
@ -371,11 +482,17 @@ void ShaderParamsDialog::reload()
|
|||||||
m_layout->addWidget(groupBox);
|
m_layout->addWidget(groupBox);
|
||||||
|
|
||||||
filterScaleHBoxLayout = new QHBoxLayout();
|
filterScaleHBoxLayout = new QHBoxLayout();
|
||||||
filterScaleHBoxLayout->addWidget(new QLabel(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FILTER)));
|
filterScaleHBoxLayout->addWidget(new QLabel(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FILTER)) + ":"));
|
||||||
filterScaleHBoxLayout->addWidget(filterComboBox);
|
filterScaleHBoxLayout->addWidget(filterComboBox);
|
||||||
filterScaleHBoxLayout->addWidget(new QLabel(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCALE)));
|
filterScaleHBoxLayout->addWidget(new QLabel(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCALE)) + ":"));
|
||||||
filterScaleHBoxLayout->addWidget(scaleComboBox);
|
filterScaleHBoxLayout->addWidget(scaleComboBox);
|
||||||
|
|
||||||
|
if (moveUpButton)
|
||||||
|
filterScaleHBoxLayout->addWidget(moveUpButton);
|
||||||
|
|
||||||
|
if (moveDownButton)
|
||||||
|
filterScaleHBoxLayout->addWidget(moveDownButton);
|
||||||
|
|
||||||
form->addRow("", filterScaleHBoxLayout);
|
form->addRow("", filterScaleHBoxLayout);
|
||||||
|
|
||||||
for (j = 0; j < video_shader->num_parameters; j++)
|
for (j = 0; j < video_shader->num_parameters; j++)
|
||||||
|
@ -27,6 +27,8 @@ private slots:
|
|||||||
void onShaderParamDoubleSpinBoxValueChanged(double value);
|
void onShaderParamDoubleSpinBoxValueChanged(double value);
|
||||||
void onFilterComboBoxIndexChanged(int index);
|
void onFilterComboBoxIndexChanged(int index);
|
||||||
void onScaleComboBoxIndexChanged(int index);
|
void onScaleComboBoxIndexChanged(int index);
|
||||||
|
void onShaderPassMoveDownClicked();
|
||||||
|
void onShaderPassMoveUpClicked();
|
||||||
private:
|
private:
|
||||||
QString getFilterLabel(unsigned filter);
|
QString getFilterLabel(unsigned filter);
|
||||||
void addShaderParam(struct video_shader_parameter *param, int parameter, QFormLayout *form);
|
void addShaderParam(struct video_shader_parameter *param, int parameter, QFormLayout *form);
|
||||||
|
@ -223,7 +223,6 @@ CoreInfoWidget::CoreInfoWidget(CoreInfoLabel *label, QWidget *parent) :
|
|||||||
,m_label(label)
|
,m_label(label)
|
||||||
,m_scrollArea(new QScrollArea(this))
|
,m_scrollArea(new QScrollArea(this))
|
||||||
{
|
{
|
||||||
//m_scrollArea->setFrameShape(QFrame::NoFrame);
|
|
||||||
m_scrollArea->setWidgetResizable(true);
|
m_scrollArea->setWidgetResizable(true);
|
||||||
m_scrollArea->setWidget(m_label);
|
m_scrollArea->setWidget(m_label);
|
||||||
}
|
}
|
||||||
@ -601,7 +600,6 @@ void MainWindow::onGridItemClicked(ThumbnailWidget *widget)
|
|||||||
if (m_currentGridWidget)
|
if (m_currentGridWidget)
|
||||||
{
|
{
|
||||||
m_currentGridWidget->setObjectName("thumbnailWidget");
|
m_currentGridWidget->setObjectName("thumbnailWidget");
|
||||||
//m_currentGridWidget->setFrameStyle(QFrame::Plain);
|
|
||||||
m_currentGridWidget->style()->unpolish(m_currentGridWidget);
|
m_currentGridWidget->style()->unpolish(m_currentGridWidget);
|
||||||
m_currentGridWidget->style()->polish(m_currentGridWidget);
|
m_currentGridWidget->style()->polish(m_currentGridWidget);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user