mudlet/src/dlgColorTrigger.cpp
2017-04-27 03:55:38 -07:00

432 lines
15 KiB
C++

/***************************************************************************
* Copyright (C) 2008-2009 by Heiko Koehn - KoehnHeiko@googlemail.com *
* Copyright (C) 2014 by Ahmed Charles - acharles@outlook.com *
* Copyright (C) 2015 by Stephen Lyons - slysven@virginmedia.com *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program 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 this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include "dlgColorTrigger.h"
#include "Host.h"
#include "TTextEdit.h"
#include "TTrigger.h"
#include "mudlet.h"
#include "pre_guard.h"
#include <QPalette>
#include "post_guard.h"
dlgColorTrigger::dlgColorTrigger(QWidget* pF, TTrigger* pT, int mode) : QDialog(pF), mpTrigger(pT), mMode(mode)
{
// init generated dialog
setupUi(this);
connect(closeButton, SIGNAL(pressed()), this, SLOT(slot_save_and_exit()));
connect(pushButton_black, SIGNAL(clicked()), this, SLOT(setColorBlack()));
QPalette palette;
QString styleSheet;
QColor color;
color = mpTrigger->mpHost->mBlack;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_black->setStyleSheet(styleSheet);
connect(pushButton_Lblack, SIGNAL(clicked()), this, SLOT(setColorLightBlack()));
color = mpTrigger->mpHost->mLightBlack;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lblack->setStyleSheet(styleSheet);
connect(pushButton_green, SIGNAL(clicked()), this, SLOT(setColorGreen()));
color = mpTrigger->mpHost->mGreen;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_green->setStyleSheet(styleSheet);
connect(pushButton_Lgreen, SIGNAL(clicked()), this, SLOT(setColorLightGreen()));
color = mpTrigger->mpHost->mLightGreen;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lgreen->setStyleSheet(styleSheet);
connect(pushButton_red, SIGNAL(clicked()), this, SLOT(setColorRed()));
color = mpTrigger->mpHost->mRed;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_red->setStyleSheet(styleSheet);
connect(pushButton_Lred, SIGNAL(clicked()), this, SLOT(setColorLightRed()));
color = mpTrigger->mpHost->mLightRed;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lred->setStyleSheet(styleSheet);
connect(pushButton_blue, SIGNAL(clicked()), this, SLOT(setColorBlue()));
color = mpTrigger->mpHost->mBlue;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_blue->setStyleSheet(styleSheet);
connect(pushButton_Lblue, SIGNAL(clicked()), this, SLOT(setColorLightBlue()));
color = mpTrigger->mpHost->mLightBlue;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lblue->setStyleSheet(styleSheet);
connect(pushButton_yellow, SIGNAL(clicked()), this, SLOT(setColorYellow()));
color = mpTrigger->mpHost->mYellow;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_yellow->setStyleSheet(styleSheet);
connect(pushButton_Lyellow, SIGNAL(clicked()), this, SLOT(setColorLightYellow()));
color = mpTrigger->mpHost->mLightYellow;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lyellow->setStyleSheet(styleSheet);
connect(pushButton_cyan, SIGNAL(clicked()), this, SLOT(setColorCyan()));
color = mpTrigger->mpHost->mCyan;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_cyan->setStyleSheet(styleSheet);
connect(pushButton_Lcyan, SIGNAL(clicked()), this, SLOT(setColorLightCyan()));
color = mpTrigger->mpHost->mLightCyan;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lcyan->setStyleSheet(styleSheet);
connect(pushButton_magenta, SIGNAL(clicked()), this, SLOT(setColorMagenta()));
color = mpTrigger->mpHost->mMagenta;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_magenta->setStyleSheet(styleSheet);
connect(pushButton_Lmagenta, SIGNAL(clicked()), this, SLOT(setColorLightMagenta()));
color = mpTrigger->mpHost->mLightMagenta;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lmagenta->setStyleSheet(styleSheet);
connect(pushButton_white, SIGNAL(clicked()), this, SLOT(setColorWhite()));
color = mpTrigger->mpHost->mWhite;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_white->setStyleSheet(styleSheet);
connect(pushButton_Lwhite, SIGNAL(clicked()), this, SLOT(setColorLightWhite()));
color = mpTrigger->mpHost->mLightWhite;
palette.setColor(QPalette::Button, color);
styleSheet = QString("QPushButton{background-color:") + color.name() + QString(";}");
pushButton_Lwhite->setStyleSheet(styleSheet);
}
void dlgColorTrigger::setColorBlack()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 2;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mBlack;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 2;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mBlack;
}
close();
}
void dlgColorTrigger::setColorLightBlack()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 1;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightBlack;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 1;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightBlack;
}
close();
}
void dlgColorTrigger::setColorRed()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 4;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mRed;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 4;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mRed;
}
close();
}
void dlgColorTrigger::setColorLightRed()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 3;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightRed;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 3;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightRed;
}
close();
}
void dlgColorTrigger::setColorGreen()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 6;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mGreen;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 6;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mGreen;
}
close();
}
void dlgColorTrigger::setColorLightGreen()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 5;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightGreen;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 5;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightGreen;
}
close();
}
void dlgColorTrigger::setColorBlue()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 10;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mBlue;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 10;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mBlue;
}
close();
}
void dlgColorTrigger::setColorLightBlue()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 9;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightBlue;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 9;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightBlue;
}
close();
}
void dlgColorTrigger::setColorYellow()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 8;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mYellow;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 8;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mYellow;
}
close();
}
void dlgColorTrigger::setColorLightYellow()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 7;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightYellow;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 7;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightYellow;
}
close();
}
void dlgColorTrigger::setColorCyan()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 14;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mCyan;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 14;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mCyan;
}
close();
}
void dlgColorTrigger::setColorLightCyan()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 13;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightCyan;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 13;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightCyan;
}
close();
}
void dlgColorTrigger::setColorMagenta()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 12;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mMagenta;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 12;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mMagenta;
}
close();
}
void dlgColorTrigger::setColorLightMagenta()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 11;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightMagenta;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 11;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightMagenta;
}
close();
}
void dlgColorTrigger::setColorWhite()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 16;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mWhite;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 16;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mWhite;
}
close();
}
void dlgColorTrigger::setColorLightWhite()
{
if (!mpTrigger) {
return;
}
mpTrigger->mColorTrigger = true;
if (mMode == 0) {
mpTrigger->mColorTriggerFg = true;
mpTrigger->mColorTriggerFgAnsi = 15;
mpTrigger->mColorTriggerFgColor = mpTrigger->mpHost->mLightWhite;
} else {
mpTrigger->mColorTriggerBg = true;
mpTrigger->mColorTriggerBgAnsi = 15;
mpTrigger->mColorTriggerBgColor = mpTrigger->mpHost->mLightWhite;
}
close();
}
void dlgColorTrigger::slot_save_and_exit()
{
if (mMode == 0) {
mpTrigger->mColorTriggerBg = false;
} else {
mpTrigger->mColorTriggerFg = false;
}
close();
}