Remove the second color of conductor.

Add double click on the handler, open the conducteur properties dialog 


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.60@5034 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2017-08-27 19:08:02 +00:00
parent 9b4b317d7f
commit 517c7db05e
6 changed files with 9 additions and 160 deletions

View File

@@ -250,9 +250,6 @@ void ConductorProperties::toXml(QDomElement &e) const
if (color != QColor(Qt::black)) if (color != QColor(Qt::black))
e.setAttribute("color", color.name()); e.setAttribute("color", color.name());
e.setAttribute("bicolor", m_bicolor? "true" : "false");
e.setAttribute("color2", m_color_2.name());
e.setAttribute("dash-size", QString::number(m_dash_size));
if (type == Single) if (type == Single)
singleLineProperties.toXml(e); singleLineProperties.toXml(e);
@@ -285,14 +282,6 @@ void ConductorProperties::fromXml(QDomElement &e)
QColor xml_color= QColor(e.attribute("color")); QColor xml_color= QColor(e.attribute("color"));
color = (xml_color.isValid()? xml_color : QColor(Qt::black)); color = (xml_color.isValid()? xml_color : QColor(Qt::black));
QString bicolor_str = e.attribute("bicolor", "false");
m_bicolor = bicolor_str == "true"? true : false;
QColor xml_color_2 = QColor(e.attribute("color2"));
m_color_2 = xml_color_2.isValid()? xml_color_2 : QColor(Qt::black);
m_dash_size = e.attribute("dash-size", QString::number(1)).toInt();
// read style of conductor // read style of conductor
readStyle(e.attribute("style")); readStyle(e.attribute("style"));
@@ -329,9 +318,6 @@ void ConductorProperties::fromXml(QDomElement &e)
void ConductorProperties::toSettings(QSettings &settings, const QString &prefix) const void ConductorProperties::toSettings(QSettings &settings, const QString &prefix) const
{ {
settings.setValue(prefix + "color", color.name()); settings.setValue(prefix + "color", color.name());
settings.setValue(prefix + "bicolor", m_bicolor);
settings.setValue(prefix + "color2", m_color_2.name());
settings.setValue(prefix + "dash-size", m_dash_size);
settings.setValue(prefix + "style", writeStyle()); settings.setValue(prefix + "style", writeStyle());
settings.setValue(prefix + "type", typeToString(type)); settings.setValue(prefix + "type", typeToString(type));
settings.setValue(prefix + "text", text); settings.setValue(prefix + "text", text);
@@ -356,12 +342,6 @@ void ConductorProperties::fromSettings(QSettings &settings, const QString &prefi
QColor settings_color = QColor(settings.value(prefix + "color").toString()); QColor settings_color = QColor(settings.value(prefix + "color").toString());
color = (settings_color.isValid()? settings_color : QColor(Qt::black)); color = (settings_color.isValid()? settings_color : QColor(Qt::black));
QColor settings_color_2 = QColor(settings.value(prefix + "color2").toString());
m_color_2 = (settings_color_2.isValid()? settings_color_2 : QColor(Qt::black));
m_bicolor = settings.value(prefix + "bicolor", false).toBool();
m_dash_size = settings.value(prefix + "dash-size", 1).toInt();
QString setting_type = settings.value(prefix + "type", typeToString(Multi)).toString(); QString setting_type = settings.value(prefix + "type", typeToString(Multi)).toString();
type = (setting_type == typeToString(Single)? Single : Multi); type = (setting_type == typeToString(Single)? Single : Multi);
@@ -418,9 +398,6 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
{ {
ConductorProperties cp = clist.first(); ConductorProperties cp = clist.first();
color = cp.color; color = cp.color;
m_bicolor = cp.m_bicolor;
m_color_2 = cp.m_color_2;
m_dash_size = cp.m_dash_size;
text = cp.text; text = cp.text;
m_formula = cp.m_formula; m_formula = cp.m_formula;
m_function = cp.m_function; m_function = cp.m_function;
@@ -452,39 +429,6 @@ void ConductorProperties::applyForEqualAttributes(QList<ConductorProperties> lis
if (equal) if (equal)
color = c_value; color = c_value;
equal = true; equal = true;
//bicolor
b_value = clist.first().m_bicolor;
for(ConductorProperties cp : clist)
{
if (cp.m_bicolor != b_value)
equal = false;
}
if (equal)
m_bicolor = b_value;
equal = true;
//second color
c_value = clist.first().m_color_2;
for(ConductorProperties cp : clist)
{
if (cp.m_color_2 != c_value)
equal = false;
}
if (equal)
m_color_2 = c_value;
equal = true;
//Dash size
i_value = clist.first().m_dash_size;
for(ConductorProperties cp : clist)
{
if (cp.m_dash_size != i_value)
equal = false;
}
if (equal)
m_dash_size = i_value;
equal = true;
//text //text
s_value = clist.first().text; s_value = clist.first().text;
@@ -621,9 +565,6 @@ bool ConductorProperties::operator==(const ConductorProperties &other) const
return( return(
other.type == type &&\ other.type == type &&\
other.color == color &&\ other.color == color &&\
other.m_bicolor == m_bicolor &&\
other.m_color_2 == m_color_2 &&\
other.m_dash_size == m_dash_size &&\
other.style == style &&\ other.style == style &&\
other.text == text &&\ other.text == text &&\
other.m_formula == m_formula &&\ other.m_formula == m_formula &&\

View File

@@ -78,24 +78,21 @@ class ConductorProperties
//Attributes //Attributes
ConductorType type; ConductorType type;
QColor color, QColor color;
m_color_2;
QString text, QString text,
m_function, m_function,
m_tension_protocol, m_tension_protocol,
m_formula; m_formula;
int text_size, int text_size;
m_dash_size = 1;
double cond_size, double cond_size,
verti_rotate_text, verti_rotate_text,
horiz_rotate_text; horiz_rotate_text;
bool m_show_text, bool m_show_text,
m_one_text_per_folio, m_one_text_per_folio;
m_bicolor = false;
Qt::PenStyle style; Qt::PenStyle style;

View File

@@ -513,19 +513,6 @@ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWi
//Draw the conductor //Draw the conductor
qp -> drawPath(path()); qp -> drawPath(path());
//Draw the second color
if(m_properties.m_bicolor)
{
final_conductor_pen.setColor(m_properties.m_color_2);
final_conductor_pen.setStyle(Qt::CustomDashLine);
QVector<qreal> dash_pattern;
dash_pattern << m_properties.m_dash_size-2 << m_properties.m_dash_size;
final_conductor_pen.setDashPattern(dash_pattern);
qp->save();
qp->setPen(final_conductor_pen);
qp->drawPath(path());
qp->restore();
}
if (m_properties.type == ConductorProperties::Single) { if (m_properties.type == ConductorProperties::Single) {
qp -> setBrush(final_conductor_color); qp -> setBrush(final_conductor_color);
@@ -718,6 +705,11 @@ bool Conductor::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event)); handlerMouseReleaseEvent(qghi, static_cast<QGraphicsSceneMouseEvent *>(event));
return true; return true;
} }
else if (event->type() == QEvent::GraphicsSceneMouseDoubleClick) //Double click
{
editProperty();
return true;
}
} }
} }
} }

View File

@@ -74,12 +74,9 @@ void ConductorPropertiesWidget::setProperties(const ConductorProperties &propert
m_properties = properties; m_properties = properties;
setColorButton(m_properties.color); setColorButton(m_properties.color);
setColorButton2(m_properties.m_color_2);
int index = ui -> m_line_style_cb -> findData(QPen(m_properties.style)); int index = ui -> m_line_style_cb -> findData(QPen(m_properties.style));
if (index != -1) ui -> m_line_style_cb -> setCurrentIndex(index); if (index != -1) ui -> m_line_style_cb -> setCurrentIndex(index);
ui->m_color_2_gb -> setChecked (m_properties.m_bicolor);
ui->m_dash_size_sb -> setValue (m_properties.m_dash_size);
ui->m_formula_le -> setText (m_properties.m_formula); ui->m_formula_le -> setText (m_properties.m_formula);
ui->m_text_le -> setText (m_properties.text); ui->m_text_le -> setText (m_properties.text);
ui->m_function_le -> setText (m_properties.m_function); ui->m_function_le -> setText (m_properties.m_function);
@@ -112,9 +109,6 @@ ConductorProperties ConductorPropertiesWidget::properties() const
else if (ui -> m_singlewire_gb -> isChecked()) properties_.type = ConductorProperties::Single; else if (ui -> m_singlewire_gb -> isChecked()) properties_.type = ConductorProperties::Single;
properties_.color = ui -> m_color_pb->palette().color(QPalette::Button); properties_.color = ui -> m_color_pb->palette().color(QPalette::Button);
properties_.m_bicolor = ui->m_color_2_gb->isChecked();
properties_.m_color_2 = ui->m_color_2_pb->palette().color(QPalette::Button);
properties_.m_dash_size = ui->m_dash_size_sb->value();
properties_.style = ui -> m_line_style_cb->itemData(ui->m_line_style_cb->currentIndex()).value<QPen>().style(); properties_.style = ui -> m_line_style_cb->itemData(ui->m_line_style_cb->currentIndex()).value<QPen>().style();
properties_.m_formula = ui->m_formula_le->text(); properties_.m_formula = ui->m_formula_le->text();
properties_.text = ui -> m_text_le -> text(); properties_.text = ui -> m_text_le -> text();
@@ -309,18 +303,6 @@ void ConductorPropertiesWidget::setColorButton(const QColor &color){
ui -> m_color_pb -> setStyleSheet(QString("background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name())); ui -> m_color_pb -> setStyleSheet(QString("background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name()));
} }
/**
* @brief ConductorPropertiesWidget::setColorButton2
* Set m_color_2_pb to @color
* @param color
*/
void ConductorPropertiesWidget::setColorButton2(const QColor &color)
{
QPalette palette;
palette.setColor(QPalette::Button, color);
ui->m_color_2_pb->setStyleSheet(QString("background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name()));
}
/** /**
* @brief ConductorPropertiesWidget::on_m_update_preview_pb_clicked * @brief ConductorPropertiesWidget::on_m_update_preview_pb_clicked
* Update the preview of single line. * Update the preview of single line.
@@ -331,14 +313,3 @@ void ConductorPropertiesWidget::setColorButton2(const QColor &color)
void ConductorPropertiesWidget::on_m_update_preview_pb_clicked() { void ConductorPropertiesWidget::on_m_update_preview_pb_clicked() {
updatePreview(); updatePreview();
} }
/**
* @brief ConductorPropertiesWidget::on_m_color_2_pb_clicked
* Open a color dialog, for choose the second color of conductor
*/
void ConductorPropertiesWidget::on_m_color_2_pb_clicked()
{
QColor color = QColorDialog::getColor(m_properties.m_color_2, this);
if (color.isValid())
setColorButton2(color);
}

View File

@@ -65,10 +65,7 @@ class ConductorPropertiesWidget : public QWidget
void on_m_neutral_cb_toggled(bool checked); void on_m_neutral_cb_toggled(bool checked);
void on_m_color_pb_clicked(); void on_m_color_pb_clicked();
void setColorButton (const QColor &color); void setColorButton (const QColor &color);
void setColorButton2 (const QColor &color);
void on_m_update_preview_pb_clicked(); void on_m_update_preview_pb_clicked();
void on_m_color_2_pb_clicked();
private: private:
Ui::ConductorPropertiesWidget *ui; Ui::ConductorPropertiesWidget *ui;

View File

@@ -390,7 +390,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="3" column="0">
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@@ -426,55 +426,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" colspan="2">
<widget class="QGroupBox" name="m_color_2_gb">
<property name="title">
<string>Couleur secondaire :</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="1">
<widget class="QSpinBox" name="m_dash_size_sb">
<property name="suffix">
<string>px</string>
</property>
<property name="minimum">
<number>2</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="m_color_2_pb">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Couleur :</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Taille de trait :</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>