Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a0000a8
commit 43ccb63
Showing
14 changed files
with
366 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
/* PCSX2 - PS2 Emulator for PCs | ||
* Copyright (C) 2002-2023 PCSX2 Dev Team | ||
* | ||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms | ||
* of the GNU Lesser General Public License as published by the Free Software Found- | ||
* ation, either version 3 of the License, or (at your option) any later version. | ||
* | ||
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; | ||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | ||
* PURPOSE. See the GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License along with PCSX2. | ||
* If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#include "PrecompiledHeader.h" | ||
#include "ColorPickerButton.h" | ||
#include "QtUtils.h" | ||
|
||
#include <QtWidgets/QColorDialog> | ||
|
||
ColorPickerButton::ColorPickerButton(QWidget* parent) | ||
: QPushButton(parent) | ||
{ | ||
connect(this, &QPushButton::clicked, this, &ColorPickerButton::onClicked); | ||
updateBackgroundColor(); | ||
} | ||
|
||
u32 ColorPickerButton::color() | ||
{ | ||
return m_color; | ||
} | ||
|
||
void ColorPickerButton::setColor(u32 rgb) | ||
{ | ||
if (m_color == rgb) | ||
return; | ||
|
||
m_color = rgb; | ||
updateBackgroundColor(); | ||
} | ||
|
||
void ColorPickerButton::updateBackgroundColor() | ||
{ | ||
setStyleSheet(QStringLiteral("background-color: #%1;").arg(static_cast<uint>(m_color), 8, 16, QChar('0'))); | ||
} | ||
|
||
void ColorPickerButton::onClicked() | ||
{ | ||
const u32 red = (m_color >> 16) & 0xff; | ||
const u32 green = (m_color >> 8) & 0xff; | ||
const u32 blue = m_color & 0xff; | ||
|
||
const QColor initial(QColor::fromRgb(red, green, blue)); | ||
const QColor selected(QColorDialog::getColor(initial, QtUtils::GetRootWidget(this), tr("Select LED Color"))); | ||
|
||
// QColorDialog returns Invalid on cancel, and apparently initial == Invalid is true... | ||
if (!selected.isValid() || initial == selected) | ||
return; | ||
|
||
const u32 new_rgb = | ||
(static_cast<u32>(selected.red()) << 16) | (static_cast<u32>(selected.green()) << 8) | static_cast<u32>(selected.blue()); | ||
m_color = new_rgb; | ||
updateBackgroundColor(); | ||
emit colorChanged(new_rgb); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/* PCSX2 - PS2 Emulator for PCs | ||
* Copyright (C) 2002-2023 PCSX2 Dev Team | ||
* | ||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms | ||
* of the GNU Lesser General Public License as published by the Free Software Found- | ||
* ation, either version 3 of the License, or (at your option) any later version. | ||
* | ||
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; | ||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | ||
* PURPOSE. See the GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License along with PCSX2. | ||
* If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include "common/Pcsx2Defs.h" | ||
#include <QtWidgets/QPushButton> | ||
|
||
class ColorPickerButton : public QPushButton | ||
{ | ||
Q_OBJECT | ||
|
||
public: | ||
ColorPickerButton(QWidget* parent); | ||
|
||
Q_SIGNALS: | ||
void colorChanged(quint32 new_color); | ||
|
||
public Q_SLOTS: | ||
quint32 color(); | ||
void setColor(quint32 rgb); | ||
|
||
private Q_SLOTS: | ||
void onClicked(); | ||
|
||
private: | ||
void updateBackgroundColor(); | ||
|
||
u32 m_color = 0; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<ui version="4.0"> | ||
<class>ControllerLEDSettingsDialog</class> | ||
<widget class="QDialog" name="ControllerLEDSettingsDialog"> | ||
<property name="geometry"> | ||
<rect> | ||
<x>0</x> | ||
<y>0</y> | ||
<width>501</width> | ||
<height>108</height> | ||
</rect> | ||
</property> | ||
<property name="windowTitle"> | ||
<string>Controller LED Settings</string> | ||
</property> | ||
<layout class="QGridLayout" name="gridLayout"> | ||
<item row="0" column="0"> | ||
<widget class="QGroupBox" name="groupBox"> | ||
<property name="title"> | ||
<string>SDL-0 LED</string> | ||
</property> | ||
<layout class="QVBoxLayout" name="verticalLayout_4"> | ||
<item> | ||
<widget class="ColorPickerButton" name="SDL0LED"/> | ||
</item> | ||
</layout> | ||
</widget> | ||
</item> | ||
<item row="0" column="1"> | ||
<widget class="QGroupBox" name="groupBox_2"> | ||
<property name="title"> | ||
<string>SDL-1 LED</string> | ||
</property> | ||
<layout class="QVBoxLayout" name="verticalLayout_3"> | ||
<item> | ||
<widget class="ColorPickerButton" name="SDL1LED"/> | ||
</item> | ||
</layout> | ||
</widget> | ||
</item> | ||
<item row="0" column="2"> | ||
<widget class="QGroupBox" name="groupBox_3"> | ||
<property name="title"> | ||
<string>SDL-2 LED</string> | ||
</property> | ||
<layout class="QVBoxLayout" name="verticalLayout_2"> | ||
<item> | ||
<widget class="ColorPickerButton" name="SDL2LED"/> | ||
</item> | ||
</layout> | ||
</widget> | ||
</item> | ||
<item row="0" column="3"> | ||
<widget class="QGroupBox" name="groupBox_4"> | ||
<property name="title"> | ||
<string>SDL-3 LED</string> | ||
</property> | ||
<layout class="QVBoxLayout" name="verticalLayout"> | ||
<item> | ||
<widget class="ColorPickerButton" name="SDL3LED"/> | ||
</item> | ||
</layout> | ||
</widget> | ||
</item> | ||
<item row="1" column="0" colspan="4"> | ||
<widget class="QDialogButtonBox" name="buttonBox"> | ||
<property name="standardButtons"> | ||
<set>QDialogButtonBox::Close</set> | ||
</property> | ||
</widget> | ||
</item> | ||
</layout> | ||
</widget> | ||
<customwidgets> | ||
<customwidget> | ||
<class>ColorPickerButton</class> | ||
<extends>QPushButton</extends> | ||
<header>ColorPickerButton.h</header> | ||
</customwidget> | ||
</customwidgets> | ||
<resources/> | ||
<connections/> | ||
</ui> |
Oops, something went wrong.