renamed some fields, floating icon size from actual icon

This commit is contained in:
Mathias Panzenböck
2014-02-19 01:03:30 +01:00
parent c1647166a8
commit ba2df2c5a3
5 changed files with 130 additions and 131 deletions

View File

@ -23,93 +23,93 @@ AxisEdit::AxisEdit( Axis* ax )
QVBoxLayout* v2 = new QVBoxLayout();
v2->setMargin(5);
v2->setSpacing(5);
CGradient = new QCheckBox("&Gradient", this);
CGradient->setChecked(axis->gradient);
connect(CGradient, SIGNAL(toggled(bool)), this, SLOT( CGradientChanged( bool )));
v2->addWidget(CGradient);
chkGradient = new QCheckBox("&Gradient", this);
chkGradient->setChecked(axis->gradient);
connect(chkGradient, SIGNAL(toggled(bool)), this, SLOT( gradientChanged( bool )));
v2->addWidget(chkGradient);
CMode = new QComboBox(this);
CMode->insertItem((int) Axis::Keyboard, QString("Keyboard/Mouse Button"), Qt::DisplayRole);
CMode->insertItem((int) Axis::MousePosVert,QString("Mouse (Vert.)"),Qt::DisplayRole);
CMode->insertItem((int) Axis::MouseNegVert, QString("Mouse (Vert. Rev.)"), Qt::DisplayRole);
CMode->insertItem((int) Axis::MousePosHor, "Mouse (Hor.)", Qt::DisplayRole);
CMode->insertItem((int) Axis::MouseNegHor, QString("Mouse (Hor. Rev.)"), Qt::DisplayRole);
CMode->setCurrentIndex( axis->mode );
connect(CMode, SIGNAL(activated(int)), this, SLOT( CModeChanged( int )));
v2->addWidget(CMode);
CTransferCurve = new QComboBox(this);
CTransferCurve->insertItem(Axis::Linear, QString("Linear"), Qt::DisplayRole);
CTransferCurve->insertItem(Axis::Quadratic, QString("Quadratic"),Qt::DisplayRole );
CTransferCurve->insertItem(Axis::Cubic, QString("Cubic"),Qt::DisplayRole );
CTransferCurve->insertItem(Axis::QuadraticExtreme, QString("Quadratic Extreme"), Qt::DisplayRole);
CTransferCurve->insertItem(Axis::PowerFunction, QString("Power Function"), Qt::DisplayRole);
CTransferCurve->setCurrentIndex( axis->transferCurve );
CTransferCurve->setEnabled(axis->gradient);
connect(CTransferCurve, SIGNAL(activated(int)), this, SLOT( CTransferCurveChanged( int )));
v2->addWidget(CTransferCurve);
cmbMode = new QComboBox(this);
cmbMode->insertItem((int) Axis::Keyboard, QString("Keyboard/Mouse Button"), Qt::DisplayRole);
cmbMode->insertItem((int) Axis::MousePosVert,QString("Mouse (Vert.)"),Qt::DisplayRole);
cmbMode->insertItem((int) Axis::MouseNegVert, QString("Mouse (Vert. Rev.)"), Qt::DisplayRole);
cmbMode->insertItem((int) Axis::MousePosHor, "Mouse (Hor.)", Qt::DisplayRole);
cmbMode->insertItem((int) Axis::MouseNegHor, QString("Mouse (Hor. Rev.)"), Qt::DisplayRole);
cmbMode->setCurrentIndex( axis->mode );
connect(cmbMode, SIGNAL(activated(int)), this, SLOT( modeChanged( int )));
v2->addWidget(cmbMode);
cmbTransferCurve = new QComboBox(this);
cmbTransferCurve->insertItem(Axis::Linear, QString("Linear"), Qt::DisplayRole);
cmbTransferCurve->insertItem(Axis::Quadratic, QString("Quadratic"),Qt::DisplayRole );
cmbTransferCurve->insertItem(Axis::Cubic, QString("Cubic"),Qt::DisplayRole );
cmbTransferCurve->insertItem(Axis::QuadraticExtreme, QString("Quadratic Extreme"), Qt::DisplayRole);
cmbTransferCurve->insertItem(Axis::PowerFunction, QString("Power Function"), Qt::DisplayRole);
cmbTransferCurve->setCurrentIndex( axis->transferCurve );
cmbTransferCurve->setEnabled(axis->gradient);
connect(cmbTransferCurve, SIGNAL(activated(int)), this, SLOT( transferCurveChanged( int )));
v2->addWidget(cmbTransferCurve);
h->addLayout(v2);
MouseBox = new QFrame(this);
MouseBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
v2 = new QVBoxLayout(MouseBox);
mouseBox = new QFrame(this);
mouseBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
v2 = new QVBoxLayout(mouseBox);
v2->setSpacing(5);
v2->setMargin(5);
//v2->setAutoAdd(true);
QLabel *mouseLabel = new QLabel("&Mouse Speed", MouseBox);
QLabel *mouseLabel = new QLabel("&Mouse Speed", mouseBox);
v2->addWidget(mouseLabel);
SSpeed = new QSpinBox(MouseBox);
SSpeed->setRange(0,MAXMOUSESPEED);
SSpeed->setSingleStep(1);
SSpeed->setValue(axis->maxSpeed);
v2->addWidget(SSpeed);
LSensitivity = new QLabel("&Sensitivity", MouseBox);
v2->addWidget(LSensitivity);
SSensitivity = new QDoubleSpinBox(MouseBox);
SSensitivity->setRange(1e-3F, 1e+3F);
SSensitivity->setSingleStep(0.10);
SSensitivity->setValue(axis->sensitivity);
v2->addWidget(SSensitivity);
h->addWidget(MouseBox);
mouseLabel->setBuddy(SSpeed);
LSensitivity->setBuddy(SSensitivity);
spinSpeed = new QSpinBox(mouseBox);
spinSpeed->setRange(0,MAXMOUSESPEED);
spinSpeed->setSingleStep(1);
spinSpeed->setValue(axis->maxSpeed);
v2->addWidget(spinSpeed);
lblSensitivity = new QLabel("&Sensitivity", mouseBox);
v2->addWidget(lblSensitivity);
spinSensitivity = new QDoubleSpinBox(mouseBox);
spinSensitivity->setRange(1e-3F, 1e+3F);
spinSensitivity->setSingleStep(0.10);
spinSensitivity->setValue(axis->sensitivity);
v2->addWidget(spinSensitivity);
h->addWidget(mouseBox);
mouseLabel->setBuddy(spinSpeed);
lblSensitivity->setBuddy(spinSensitivity);
v->addLayout(h);
Slider = new JoySlider(axis->dZone, axis->xZone, axis->state, this);
v->addWidget(Slider);
slider = new JoySlider(axis->dZone, axis->xZone, axis->state, this);
v->addWidget(slider);
KeyBox = new QFrame(this);
KeyBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
h = new QHBoxLayout(KeyBox);
keyBox = new QFrame(this);
keyBox->setFrameStyle( QFrame::Box | QFrame::Sunken );
h = new QHBoxLayout(keyBox);
h->setSpacing(5);
h->setMargin(5);
//h->setAutoAdd(true);
BNeg = new KeyButton(axis->getName(),axis->nkeycode,KeyBox,true,axis->nuseMouse);
btnNeg = new KeyButton(axis->getName(),axis->nkeycode,keyBox,true,axis->nuseMouse);
CThrottle = new QComboBox(KeyBox);
CThrottle->insertItem(0,"Neg. Throttle",Qt::DisplayRole);
CThrottle->insertItem(1,"No Throttle",Qt::DisplayRole);
CThrottle->insertItem(2,"Pos. Throttle",Qt::DisplayRole);
CThrottle->setCurrentIndex(axis->throttle + 1);
connect( CThrottle, SIGNAL( activated( int )), this, SLOT( CThrottleChanged( int )));
cmbThrottle = new QComboBox(keyBox);
cmbThrottle->insertItem(0,"Neg. Throttle",Qt::DisplayRole);
cmbThrottle->insertItem(1,"No Throttle",Qt::DisplayRole);
cmbThrottle->insertItem(2,"Pos. Throttle",Qt::DisplayRole);
cmbThrottle->setCurrentIndex(axis->throttle + 1);
connect( cmbThrottle, SIGNAL( activated( int )), this, SLOT( throttleChanged( int )));
BPos = new KeyButton(axis->getName(),axis->pkeycode,KeyBox,true,axis->puseMouse);
h->addWidget(BNeg);
h->addWidget(CThrottle);
h->addWidget(BPos);
v->addWidget( KeyBox );
btnPos = new KeyButton(axis->getName(),axis->pkeycode,keyBox,true,axis->puseMouse);
h->addWidget(btnNeg);
h->addWidget(cmbThrottle);
h->addWidget(btnPos);
v->addWidget( keyBox );
h = new QHBoxLayout();
BOkay = new QPushButton("&Okay", this);
connect(BOkay, SIGNAL( clicked() ), this, SLOT( accept()));
h->addWidget(BOkay);
BCancel = new QPushButton("&Cancel", this);
connect(BCancel, SIGNAL( clicked() ), this, SLOT( reject()));
h->addWidget(BCancel);
btnOkay = new QPushButton("&Okay", this);
connect(btnOkay, SIGNAL( clicked() ), this, SLOT( accept()));
h->addWidget(btnOkay);
btnCancel = new QPushButton("&Cancel", this);
connect(btnCancel, SIGNAL( clicked() ), this, SLOT( reject()));
h->addWidget(btnCancel);
v->addLayout(h);
CModeChanged( axis->mode );
CTransferCurveChanged( axis->transferCurve );
CThrottleChanged( axis->throttle + 1 );
modeChanged( axis->mode );
transferCurveChanged( axis->transferCurve );
throttleChanged( axis->throttle + 1 );
}
void AxisEdit::show() {
@ -118,76 +118,76 @@ void AxisEdit::show() {
}
void AxisEdit::setState( int val ) {
Slider->setValue( val );
slider->setValue( val );
}
void AxisEdit::CGradientChanged( bool on ) {
CTransferCurve->setEnabled(on);
void AxisEdit::gradientChanged( bool on ) {
cmbTransferCurve->setEnabled(on);
if (on) {
CTransferCurveChanged( axis->transferCurve );
transferCurveChanged( axis->transferCurve );
}
else {
LSensitivity->setEnabled(false);
SSensitivity->setEnabled(false);
lblSensitivity->setEnabled(false);
spinSensitivity->setEnabled(false);
}
}
void AxisEdit::CModeChanged( int index ) {
void AxisEdit::modeChanged( int index ) {
if (index == Axis::Keyboard) {
MouseBox->setEnabled(false);
KeyBox->setEnabled(true);
mouseBox->setEnabled(false);
keyBox->setEnabled(true);
}
else {
MouseBox->setEnabled(true);
KeyBox->setEnabled(false);
if (CGradient->isChecked()) {
CTransferCurve->setEnabled(true);
CTransferCurveChanged( axis->transferCurve );
mouseBox->setEnabled(true);
keyBox->setEnabled(false);
if (chkGradient->isChecked()) {
cmbTransferCurve->setEnabled(true);
transferCurveChanged( axis->transferCurve );
}
}
}
void AxisEdit::CTransferCurveChanged( int index ) {
void AxisEdit::transferCurveChanged( int index ) {
if (index == Axis::PowerFunction) {
LSensitivity->setEnabled(true);
SSensitivity->setEnabled(true);
lblSensitivity->setEnabled(true);
spinSensitivity->setEnabled(true);
}
else {
LSensitivity->setEnabled(false);
SSensitivity->setEnabled(false);
lblSensitivity->setEnabled(false);
spinSensitivity->setEnabled(false);
}
}
void AxisEdit::CThrottleChanged( int index ) {
void AxisEdit::throttleChanged( int index ) {
switch (index) {
case 0:
BNeg->setEnabled(true);
BPos->setEnabled(false);
btnNeg->setEnabled(true);
btnPos->setEnabled(false);
break;
case 1:
BNeg->setEnabled(true);
BPos->setEnabled(true);
btnNeg->setEnabled(true);
btnPos->setEnabled(true);
break;
case 2:
BNeg->setEnabled(false);
BPos->setEnabled(true);
btnNeg->setEnabled(false);
btnPos->setEnabled(true);
break;
}
Slider->setThrottle( index - 1 );
slider->setThrottle( index - 1 );
}
void AxisEdit::accept() {
axis->gradient = CGradient->isChecked();
axis->maxSpeed = SSpeed->value();
axis->transferCurve = (Axis::TransferCurve)CTransferCurve->currentIndex();
axis->sensitivity = SSensitivity->value();
axis->throttle = CThrottle->currentIndex() - 1;
axis->dZone = Slider->deadZone();
axis->xZone = Slider->xZone();
axis->mode = (Axis::Mode) CMode->currentIndex();
axis->pkeycode = BPos->getValue();
axis->nkeycode = BNeg->getValue();
axis->puseMouse = BPos->choseMouse();
axis->nuseMouse = BNeg->choseMouse();
axis->gradient = chkGradient->isChecked();
axis->maxSpeed = spinSpeed->value();
axis->transferCurve = (Axis::TransferCurve)cmbTransferCurve->currentIndex();
axis->sensitivity = spinSensitivity->value();
axis->throttle = cmbThrottle->currentIndex() - 1;
axis->dZone = slider->deadZone();
axis->xZone = slider->xZone();
axis->mode = (Axis::Mode) cmbMode->currentIndex();
axis->pkeycode = btnPos->getValue();
axis->nkeycode = btnNeg->getValue();
axis->puseMouse = btnPos->choseMouse();
axis->nuseMouse = btnNeg->choseMouse();
axis->adjustGradient();
QDialog::accept();

View File

@ -23,24 +23,24 @@ class AxisEdit : public QDialog {
void setState( int val );
protected slots:
//slots for GUI events
void CGradientChanged( bool on );
void CModeChanged( int index );
void CTransferCurveChanged( int index );
void CThrottleChanged( int index );
void gradientChanged( bool on );
void modeChanged( int index );
void transferCurveChanged( int index );
void throttleChanged( int index );
void accept();
protected:
//the associated Axis that needs to be set.
Axis *axis;
//the important parts of the dialog:
QCheckBox *CGradient;
QComboBox *CMode, *CThrottle, *CTransferCurve;
QFrame *MouseBox, *KeyBox;
QSpinBox *SSpeed;
QLabel *LSensitivity;
QDoubleSpinBox *SSensitivity;
KeyButton *BNeg, *BPos;
JoySlider *Slider;
QPushButton *BOkay, *BCancel;
QCheckBox *chkGradient;
QComboBox *cmbMode, *cmbThrottle, *cmbTransferCurve;
QFrame *mouseBox, *keyBox;
QSpinBox *spinSpeed;
QLabel *lblSensitivity;
QDoubleSpinBox *spinSensitivity;
KeyButton *btnNeg, *btnPos;
JoySlider *slider;
QPushButton *btnOkay, *btnCancel;
};
#endif

View File

@ -13,15 +13,15 @@ GetKey::GetKey( QString button, bool m )
//I'd use a QLabel, but that steals x11Events!
//So, I'll draw the text directly. That means
//I need to resolve the size of the dialog by hand:
Text = "Choose a new key ";
if (mouse) Text += "or mouse button ";
Text += "for " + button;
QRect rect = fontMetrics().boundingRect( Text );
text = "Choose a new key ";
if (mouse) text += "or mouse button ";
text += "for " + button;
QRect rect = fontMetrics().boundingRect( text );
//I calculate the size based on the first line of text, which is longer.
//The fontMetrics function is dumb and would treat the string with a
//newline in it as a continues flow of characters if I did the whole string
//at once.
Text += "\n(Ctrl-X for no key)";
text += "\n(Ctrl-X for no key)";
//now I add 20 pixels of padding and double the height to make room for
//two lines.
setFixedSize( QSize( rect.width() + 20, rect.height()*2 + 20 ) );
@ -60,5 +60,5 @@ void GetKey::closeEvent(QCloseEvent *e) {
void GetKey::paintEvent ( QPaintEvent * ) {
//whenever we need to repaint, draw in our text.
QPainter paint( this );
paint.drawText( rect(), Qt::AlignCenter, Text );
paint.drawText( rect(), Qt::AlignCenter, text );
}

View File

@ -25,7 +25,7 @@ class GetKey : public QDialog {
void closeEvent (QCloseEvent *);
private:
//the dialog's message
QString Text;
QString text;
//does this dialog accept mouse clicks?
bool mouse;
};

View File

@ -9,10 +9,10 @@ FloatingIcon::FloatingIcon( const QString &icon, QMenu *popup, QWidget *parent,
setAttribute(Qt::WA_QuitOnClose);
setAttribute(Qt::WA_TranslucentBackground);
setWindowFlags(Qt::FramelessWindowHint);
setWindowTitle(QJOYPAD_NAME);
setWindowTitle(QJOYPAD_NAME " Floating Icon");
pop = popup;
setFixedSize(64,64);
setFixedSize(this->icon.width(),this->icon.height());
}
void FloatingIcon::mousePressEvent( QMouseEvent* event ) {
@ -28,8 +28,7 @@ void FloatingIcon::mousePressEvent( QMouseEvent* event ) {
}
}
void FloatingIcon::paintEvent( QPaintEvent* event ) {
Q_UNUSED(event);
void FloatingIcon::paintEvent( QPaintEvent* ) {
QPainter painter(this);
painter.drawPixmap(0, 0, icon);
}