Add Alt+Click to delete an item, add alpha values

This commit is contained in:
ArsenArsen 2017-06-28 22:26:18 +02:00
parent 5fa398a124
commit 0895f1f0ae
5 changed files with 163 additions and 22 deletions

View File

@ -191,6 +191,16 @@ void CropScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
prevButtons = Qt::NoButton; prevButtons = Qt::NoButton;
} }
void CropScene::mousePressEvent(QGraphicsSceneMouseEvent *e) {
if (e->modifiers() & Qt::AltModifier) {
QTransform stupidThing = views()[0]->transform();
auto item = itemAt(e->screenPos(), stupidThing);
if (item && item != polyItem && item != rect && item->zValue() != -1) {
removeItem(item);
}
}
}
void CropScene::wheelEvent(QGraphicsSceneWheelEvent *event) { void CropScene::wheelEvent(QGraphicsSceneWheelEvent *event) {
int pixCnt = settings::settings().value("magnifierPixelCount", 11).toInt(); int pixCnt = settings::settings().value("magnifierPixelCount", 11).toInt();
if (pixCnt % 2 == 0) pixCnt++; if (pixCnt % 2 == 0) pixCnt++;

View File

@ -41,6 +41,7 @@ signals:
protected: protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent *e) override; void mouseMoveEvent(QGraphicsSceneMouseEvent *e) override;
void mouseReleaseEvent(QGraphicsSceneMouseEvent *e) override; void mouseReleaseEvent(QGraphicsSceneMouseEvent *e) override;
void mousePressEvent(QGraphicsSceneMouseEvent *e) override;
void wheelEvent(QGraphicsSceneWheelEvent *event) override; // WHEEEEEEL void wheelEvent(QGraphicsSceneWheelEvent *event) override; // WHEEEEEEL
void contextMenuEvent(QGraphicsSceneContextMenuEvent *e) override; void contextMenuEvent(QGraphicsSceneContextMenuEvent *e) override;

View File

@ -25,9 +25,14 @@ BrushPenSelection::BrushPenSelection(CropScene *scene) : QDialog(), ui(new Ui::B
ui->widthSpinner->setValue(scene->pen().widthF()); ui->widthSpinner->setValue(scene->pen().widthF());
ui->brushStyle->setCurrentIndex(settings::settings().value("brushStyle", 1).toInt()); ui->brushStyle->setCurrentIndex(settings::settings().value("brushStyle", 1).toInt());
ui->pathItemHasBrush->setChecked(settings::settings().value("brushPath", false).toBool()); ui->pathItemHasBrush->setChecked(settings::settings().value("brushPath", false).toBool());
this->setFocus(); this->setFocus();
pen = scene->pen().color(); pen = scene->pen().color();
ui->penAlphaSlider->setValue(pen.alpha());
ui->penAlphaSpin->setValue(pen.alpha());
brush = scene->brush().color(); brush = scene->brush().color();
ui->alphaSlider->setValue(brush.alpha());
ui->alphaSpin->setValue(brush.alpha());
this->scene = scene; this->scene = scene;
} }
@ -37,10 +42,12 @@ BrushPenSelection::~BrushPenSelection() {
void BrushPenSelection::on_penColor_clicked(bool) { void BrushPenSelection::on_penColor_clicked(bool) {
pen = QColorDialog::getColor(pen, this, "Pen Color"); pen = QColorDialog::getColor(pen, this, "Pen Color");
pen.setAlpha(ui->penAlphaSpin->value());
} }
void BrushPenSelection::on_brushColor_clicked(bool) { void BrushPenSelection::on_brushColor_clicked(bool) {
brush = QColorDialog::getColor(brush, this, "Brush Color"); brush = QColorDialog::getColor(brush, this, "Brush Color");
brush.setAlpha(ui->alphaSpin->value());
} }
void BrushPenSelection::on_buttonBox_accepted() { void BrushPenSelection::on_buttonBox_accepted() {
@ -82,3 +89,11 @@ void BrushPenSelection::on_radSpinner_valueChanged(double arg1) {
void BrushPenSelection::on_radSlider_sliderMoved(int position) { void BrushPenSelection::on_radSlider_sliderMoved(int position) {
ui->radSpinner->setValue(position / 100.); ui->radSpinner->setValue(position / 100.);
} }
void BrushPenSelection::on_alphaSpin_valueChanged(int arg1) {
brush.setAlpha(arg1);
}
void BrushPenSelection::on_penAlphaSpin_valueChanged(int arg1) {
pen.setAlpha(arg1);
}

View File

@ -15,7 +15,8 @@ public:
explicit BrushPenSelection(CropScene *scene); explicit BrushPenSelection(CropScene *scene);
~BrushPenSelection(); ~BrushPenSelection();
public slots: private slots:
void on_alphaSpin_valueChanged(int arg1);
void on_radSlider_sliderMoved(int position); void on_radSlider_sliderMoved(int position);
void on_radSpinner_valueChanged(double arg1); void on_radSpinner_valueChanged(double arg1);
void on_penColor_clicked(bool); void on_penColor_clicked(bool);
@ -24,6 +25,7 @@ public slots:
void on_buttonBox_rejected(); void on_buttonBox_rejected();
void on_widthSlider_sliderMoved(int position); void on_widthSlider_sliderMoved(int position);
void on_widthSpinner_valueChanged(double arg1); void on_widthSpinner_valueChanged(double arg1);
void on_penAlphaSpin_valueChanged(int arg1);
private: private:
Ui::BrushPenSelection *ui; Ui::BrushPenSelection *ui;

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>449</width> <width>449</width>
<height>367</height> <height>489</height>
</rect> </rect>
</property> </property>
<property name="focusPolicy"> <property name="focusPolicy">
@ -23,13 +23,30 @@
<string>Pen settings</string> <string>Pen settings</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="3" column="0" colspan="2"> <item row="1" column="0">
<widget class="QSlider" name="widthSlider">
<property name="maximum">
<number>2500</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QPushButton" name="penColor"> <widget class="QPushButton" name="penColor">
<property name="text"> <property name="text">
<string>Choose pen color</string> <string>Choose pen color</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<widget class="QCheckBox" name="cosmetic">
<property name="text">
<string>Cosmetic</string>
</property>
</widget>
</item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="text"> <property name="text">
@ -37,26 +54,33 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="5" column="0">
<widget class="QDoubleSpinBox" name="widthSpinner"/> <widget class="QLabel" name="label_5">
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="cosmetic">
<property name="text"> <property name="text">
<string>Cosmetic</string> <string>Pen alpha</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="1">
<widget class="QSlider" name="widthSlider"> <widget class="QDoubleSpinBox" name="widthSpinner"/>
</item>
<item row="6" column="0">
<widget class="QSlider" name="penAlphaSlider">
<property name="maximum"> <property name="maximum">
<number>2500</number> <number>255</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1">
<widget class="QSpinBox" name="penAlphaSpin">
<property name="maximum">
<number>255</number>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -66,14 +90,7 @@
<string>Brush settings</string> <string>Brush settings</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="3" column="0" colspan="2">
<widget class="QPushButton" name="brushColor">
<property name="text">
<string>Choose brush color</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QComboBox" name="brushStyle"> <widget class="QComboBox" name="brushStyle">
<item> <item>
<property name="text"> <property name="text">
@ -152,13 +169,44 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="pathItemHasBrush"> <widget class="QCheckBox" name="pathItemHasBrush">
<property name="text"> <property name="text">
<string>Path item has brush</string> <string>Path item has brush</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1">
<widget class="QSpinBox" name="alphaSpin">
<property name="maximum">
<number>255</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QSlider" name="alphaSlider">
<property name="maximum">
<number>255</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QPushButton" name="brushColor">
<property name="text">
<string>Choose brush color</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Brush alpha</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -261,5 +309,70 @@
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections>
<connection>
<sender>alphaSlider</sender>
<signal>sliderMoved(int)</signal>
<receiver>alphaSpin</receiver>
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>91</x>
<y>292</y>
</hint>
<hint type="destinationlabel">
<x>196</x>
<y>292</y>
</hint>
</hints>
</connection>
<connection>
<sender>alphaSpin</sender>
<signal>valueChanged(int)</signal>
<receiver>alphaSlider</receiver>
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>196</x>
<y>292</y>
</hint>
<hint type="destinationlabel">
<x>91</x>
<y>292</y>
</hint>
</hints>
</connection>
<connection>
<sender>penAlphaSpin</sender>
<signal>valueChanged(int)</signal>
<receiver>penAlphaSlider</receiver>
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>191</x>
<y>211</y>
</hint>
<hint type="destinationlabel">
<x>86</x>
<y>211</y>
</hint>
</hints>
</connection>
<connection>
<sender>penAlphaSlider</sender>
<signal>valueChanged(int)</signal>
<receiver>penAlphaSpin</receiver>
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>86</x>
<y>211</y>
</hint>
<hint type="destinationlabel">
<x>191</x>
<y>211</y>
</hint>
</hints>
</connection>
</connections>
</ui> </ui>