34
38
// signals and slots connections
35
39
connect(extensionScriptsChk, SIGNAL(toggled(bool)), startupScriptEdit, SLOT(setEnabled(bool)));
37
connect(textButton, SIGNAL(clicked()), this, SLOT(setColor()));
41
connect(textButton , SIGNAL(clicked()), this, SLOT(setColor()));
38
42
connect(commentButton, SIGNAL(clicked()), this, SLOT(setColor()));
39
43
connect(keywordButton, SIGNAL(clicked()), this, SLOT(setColor()));
40
connect(errorButton, SIGNAL(clicked()), this, SLOT(setColor()));
41
connect(signButton, SIGNAL(clicked()), this, SLOT(setColor()));
42
connect(stringButton, SIGNAL(clicked()), this, SLOT(setColor()));
43
connect(numberButton, SIGNAL(clicked()), this, SLOT(setColor()));
44
connect(errorButton , SIGNAL(clicked()), this, SLOT(setColor()));
45
connect(signButton , SIGNAL(clicked()), this, SLOT(setColor()));
46
connect(stringButton , SIGNAL(clicked()), this, SLOT(setColor()));
47
connect(numberButton , SIGNAL(clicked()), this, SLOT(setColor()));
44
48
connect(startupScriptChangeButton, SIGNAL(clicked()), this, SLOT(changeStartupScript()));
75
80
scripterCore->setExtensionsEnabled(extensionScriptsChk->isChecked());
76
81
scripterCore->setStartupScript(startupScriptEdit->text());
78
SyntaxColors *syntax = new SyntaxColors();
79
syntax->textColor = textButton->palette().color(QPalette::Window);
80
syntax->commentColor = commentButton->palette().color(QPalette::Window);
81
syntax->keywordColor = keywordButton->palette().color(QPalette::Window);
82
syntax->errorColor = errorButton->palette().color(QPalette::Window);
83
syntax->signColor = signButton->palette().color(QPalette::Window);
84
syntax->stringColor = stringButton->palette().color(QPalette::Window);
85
syntax->numberColor = numberButton->palette().color(QPalette::Window);
82
syntaxColors->saveToPrefs();
84
// Necessary to update console syntax highlighter
89
88
void ScripterPrefsGui::setColor()
92
QPushButton* button = (QPushButton*)sender();
93
QColor color = QColorDialog::getColor(button->palette().color(QPalette::Window), this);
90
QPushButton* button = (QPushButton*) sender();
93
if (button == textButton) oldColor = syntaxColors->textColor;
94
if (button == commentButton) oldColor = syntaxColors->commentColor;
95
if (button == keywordButton) oldColor = syntaxColors->keywordColor;
96
if (button == errorButton) oldColor = syntaxColors->errorColor;
97
if (button == signButton) oldColor = syntaxColors->signColor;
98
if (button == stringButton) oldColor = syntaxColors->stringColor;
99
if (button == numberButton) oldColor = syntaxColors->numberColor;
101
QColor color = QColorDialog::getColor(oldColor, this);
94
102
if (color.isValid())
96
palette.setColor(button->backgroundRole(), color);
97
button->setPalette(palette);
104
setButtonIcon(button, color);
106
if (button == textButton) syntaxColors->textColor = color;
107
if (button == commentButton) syntaxColors->commentColor = color;
108
if (button == keywordButton) syntaxColors->keywordColor = color;
109
if (button == errorButton) syntaxColors->errorColor = color;
110
if (button == signButton) syntaxColors->signColor = color;
111
if (button == stringButton) syntaxColors->stringColor = color;
112
if (button == numberButton) syntaxColors->numberColor = color;
116
void ScripterPrefsGui::setButtonIcon(QPushButton* button, QColor color)
118
QSize iconSize = button->iconSize();
119
double iconWidth = qMax(iconSize.width() , button->width() / 3);
120
double iconHeight = qMin(iconSize.height(), button->height() / 3);
121
QSize newIconSize(iconWidth, iconHeight);
122
if (iconSize != newIconSize)
123
button->setIconSize(newIconSize);
124
QPixmap icon(button->iconSize());
126
button->setIcon(icon);
101
129
void ScripterPrefsGui::setupSyntaxColors()
104
SyntaxColors *syntax = new SyntaxColors();
105
palette.setColor(textButton->backgroundRole(), syntax->textColor);
106
textButton->setPalette(palette);
107
palette.setColor(commentButton->backgroundRole(), syntax->commentColor);
108
commentButton->setPalette(palette);
109
palette.setColor(keywordButton->backgroundRole(), syntax->keywordColor);
110
keywordButton->setPalette(palette);
111
palette.setColor(errorButton->backgroundRole(), syntax->errorColor);
112
errorButton->setPalette(palette);
113
palette.setColor(signButton->backgroundRole(), syntax->signColor);
114
signButton->setPalette(palette);
115
palette.setColor(stringButton->backgroundRole(), syntax->stringColor);
116
stringButton->setPalette(palette);
117
palette.setColor(numberButton->backgroundRole(), syntax->numberColor);
118
numberButton->setPalette(palette);
132
setButtonIcon(textButton , syntax.textColor);
133
setButtonIcon(commentButton, syntax.commentColor);
134
setButtonIcon(keywordButton, syntax.keywordColor);
135
setButtonIcon(errorButton , syntax.errorColor);
136
setButtonIcon(signButton , syntax.signColor);
137
setButtonIcon(stringButton , syntax.stringColor);
138
setButtonIcon(numberButton , syntax.numberColor);
122
141
void ScripterPrefsGui::changeStartupScript()