Skip to content

Commit 10ca5f9

Browse files
committed
inspector updates
1 parent ebb1cf1 commit 10ca5f9

File tree

6 files changed

+244
-127
lines changed

6 files changed

+244
-127
lines changed

mscore/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ QT4_WRAP_UI (ui_headers
6161
inspector_group_element.ui inspector_image.ui stem.ui inspector_lasso.ui
6262
inspector_volta.ui inspector_ottava.ui inspector_trill.ui inspector_hairpin.ui
6363
box.ui pluginManager.ui inspector_jump.ui inspector_marker.ui inspector_glissando.ui
64-
inspector_clef.ui
64+
inspector_clef.ui inspector_timesig.ui inspector_keysig.ui
6565
${SCRIPT_UI}
6666
)
6767

mscore/inspector.cpp

Lines changed: 39 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,54 +1196,26 @@ InspectorRest::InspectorRest(QWidget* parent)
11961196
InspectorTimeSig::InspectorTimeSig(QWidget* parent)
11971197
: InspectorBase(parent)
11981198
{
1199-
iElement = new InspectorElementElement(this);
1200-
iSegment = new InspectorSegment(this);
1201-
1202-
layout->addWidget(iElement);
1203-
1204-
QHBoxLayout* l = new QHBoxLayout;
1205-
showCourtesy = new QCheckBox;
1206-
showCourtesy->setText(tr("Show Courtesy Time Signature"));
1207-
connect(showCourtesy, SIGNAL(toggled(bool)), SLOT(apply()));
1208-
l->addWidget(showCourtesy);
1209-
layout->addLayout(l);
1210-
layout->addWidget(iSegment);
1211-
}
1212-
1213-
//---------------------------------------------------------
1214-
// setElement
1215-
//---------------------------------------------------------
1216-
1217-
void InspectorTimeSig::setElement()
1218-
{
1219-
TimeSig* sig = static_cast<TimeSig*>(inspector->element());
1220-
Segment* segment = sig->segment();
1221-
1222-
iElement->setElement(sig);
1223-
iSegment->setElement(segment);
1224-
showCourtesy->blockSignals(true);
1225-
showCourtesy->setChecked(sig->showCourtesySig());
1226-
showCourtesy->blockSignals(false);
1227-
}
1228-
1229-
//---------------------------------------------------------
1230-
// apply
1231-
//---------------------------------------------------------
1232-
1233-
void InspectorTimeSig::apply()
1234-
{
1235-
TimeSig* sig = static_cast<TimeSig*>(inspector->element());
1199+
QWidget* w1 = new QWidget;
1200+
e.setupUi(w1);
1201+
layout->addWidget(w1);
1202+
QWidget* w2 = new QWidget;
1203+
s.setupUi(w2);
1204+
layout->addWidget(w2);
1205+
QWidget* w3 = new QWidget;
1206+
t.setupUi(w3);
1207+
layout->addWidget(w3);
12361208

1237-
bool val = showCourtesy->isChecked();
1238-
if (val != sig->showCourtesySig()) {
1239-
mscore->getInspector()->setInspectorEdit(true); // this edit is coming from within the inspector itself:
1240-
// do not set element values again
1241-
Score* score = sig->score();
1242-
score->startCmd();
1243-
score->undoChangeProperty(sig, P_SHOW_COURTESY, val);
1244-
score->endCmd();
1245-
mscore->endCmd();
1246-
}
1209+
iList = {
1210+
{ P_COLOR, 0, false, e.color, e.resetColor },
1211+
{ P_VISIBLE, 0, false, e.visible, e.resetVisible },
1212+
{ P_USER_OFF, 0, false, e.offsetX, e.resetX },
1213+
{ P_USER_OFF, 1, false, e.offsetY, e.resetY },
1214+
{ P_LEADING_SPACE, 0, true, s.leadingSpace, s.resetLeadingSpace },
1215+
{ P_TRAILING_SPACE, 0, true, s.trailingSpace, s.resetTrailingSpace },
1216+
{ P_SHOW_COURTESY, 0, false, t.showCourtesy, t.resetShowCourtesy }
1217+
};
1218+
mapSignals();
12471219
}
12481220

12491221
//---------------------------------------------------------
@@ -1253,68 +1225,27 @@ void InspectorTimeSig::apply()
12531225
InspectorKeySig::InspectorKeySig(QWidget* parent)
12541226
: InspectorBase(parent)
12551227
{
1256-
iElement = new InspectorElementElement(this);
1257-
iSegment = new InspectorSegment(this);
1258-
layout->addWidget(iElement);
1259-
1260-
QHBoxLayout* l = new QHBoxLayout;
1261-
showCourtesy = new QCheckBox;
1262-
showCourtesy->setText(tr("Show Courtesy Time Signature"));
1263-
connect(showCourtesy, SIGNAL(toggled(bool)), SLOT(apply()));
1264-
l->addWidget(showCourtesy);
1265-
layout->addLayout(l);
1266-
1267-
l = new QHBoxLayout;
1268-
showNaturals = new QCheckBox;
1269-
showNaturals->setText(tr("Show Naturals"));
1270-
connect(showNaturals, SIGNAL(toggled(bool)), SLOT(apply()));
1271-
l->addWidget(showNaturals);
1272-
layout->addLayout(l);
1273-
1274-
layout->addWidget(iSegment);
1275-
}
1276-
1277-
//---------------------------------------------------------
1278-
// setElement
1279-
//---------------------------------------------------------
1280-
1281-
void InspectorKeySig::setElement()
1282-
{
1283-
KeySig* sig = static_cast<KeySig*>(inspector->element());
1284-
Segment* segment = sig->segment();
1285-
1286-
iElement->setElement(sig);
1287-
iSegment->setElement(segment);
1288-
showCourtesy->blockSignals(true);
1289-
showNaturals->blockSignals(true);
1290-
showCourtesy->setChecked(sig->showCourtesy());
1291-
showNaturals->setChecked(sig->showNaturals());
1292-
showCourtesy->blockSignals(false);
1293-
showNaturals->blockSignals(false);
1294-
}
1295-
1296-
//---------------------------------------------------------
1297-
// apply
1298-
//---------------------------------------------------------
1299-
1300-
void InspectorKeySig::apply()
1301-
{
1302-
KeySig* sig = static_cast<KeySig*>(inspector->element());
1228+
QWidget* w1 = new QWidget;
1229+
e.setupUi(w1);
1230+
layout->addWidget(w1);
1231+
QWidget* w2 = new QWidget;
1232+
s.setupUi(w2);
1233+
layout->addWidget(w2);
1234+
QWidget* w3 = new QWidget;
1235+
k.setupUi(w3);
1236+
layout->addWidget(w3);
13031237

1304-
bool sc = showCourtesy->isChecked();
1305-
bool sn = showNaturals->isChecked();
1306-
if (sc != sig->showCourtesy() || sn != sig->showNaturals()) {
1307-
mscore->getInspector()->setInspectorEdit(true); // this edit is coming from within the inspector itself:
1308-
// do not set element values again
1309-
Score* score = sig->score();
1310-
score->startCmd();
1311-
if (sc != sig->showCourtesy())
1312-
score->undoChangeProperty(sig, P_SHOW_COURTESY, sc);
1313-
if (sn != sig->showNaturals())
1314-
score->undoChangeProperty(sig, P_SHOW_NATURALS, sn);
1315-
score->endCmd();
1316-
mscore->endCmd();
1317-
}
1238+
iList = {
1239+
{ P_COLOR, 0, false, e.color, e.resetColor },
1240+
{ P_VISIBLE, 0, false, e.visible, e.resetVisible },
1241+
{ P_USER_OFF, 0, false, e.offsetX, e.resetX },
1242+
{ P_USER_OFF, 1, false, e.offsetY, e.resetY },
1243+
{ P_LEADING_SPACE, 0, true, s.leadingSpace, s.resetLeadingSpace },
1244+
{ P_TRAILING_SPACE, 0, true, s.trailingSpace, s.resetTrailingSpace },
1245+
{ P_SHOW_COURTESY, 0, false, k.showCourtesy, k.resetShowCourtesy },
1246+
{ P_SHOW_NATURALS, 0, false, k.showNaturals, k.resetShowNaturals }
1247+
};
1248+
mapSignals();
13181249
}
13191250

13201251
//---------------------------------------------------------

mscore/inspector.h

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
#include "ui_inspector_chord.h"
2626
#include "ui_inspector_rest.h"
2727
#include "ui_inspector_clef.h"
28+
#include "ui_inspector_timesig.h"
29+
#include "ui_inspector_keysig.h"
2830
#include "ui_inspector_volta.h"
2931

3032
class Element;
@@ -298,17 +300,12 @@ class InspectorClef : public InspectorBase {
298300
class InspectorTimeSig : public InspectorBase {
299301
Q_OBJECT
300302

301-
InspectorElementElement* iElement;
302-
InspectorSegment* iSegment;
303-
QCheckBox* showCourtesy;
304-
305-
public slots:
306-
virtual void apply();
303+
Ui::InspectorElement e;
304+
Ui::InspectorSegment s;
305+
Ui::InspectorTimeSig t;
307306

308307
public:
309308
InspectorTimeSig(QWidget* parent);
310-
virtual void setElement();
311-
bool dirty() const;
312309
};
313310

314311
//---------------------------------------------------------
@@ -318,18 +315,12 @@ class InspectorTimeSig : public InspectorBase {
318315
class InspectorKeySig : public InspectorBase {
319316
Q_OBJECT
320317

321-
InspectorElementElement* iElement;
322-
InspectorSegment* iSegment;
323-
QCheckBox* showCourtesy;
324-
QCheckBox* showNaturals;
325-
326-
public slots:
327-
virtual void apply();
318+
Ui::InspectorElement e;
319+
Ui::InspectorSegment s;
320+
Ui::InspectorKeySig k;
328321

329322
public:
330323
InspectorKeySig(QWidget* parent);
331-
virtual void setElement();
332-
bool dirty() const;
333324
};
334325

335326
//---------------------------------------------------------

mscore/inspectorBase.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,10 @@ void InspectorBase::resetClicked(int i)
261261
static_cast<QCheckBox*>(w)->setChecked(def.toBool());
262262
else if (qobject_cast<QLineEdit*>(w))
263263
static_cast<QLineEdit*>(w)->setText(def.toString());
264-
else if (qobject_cast<Awl::ColorLabel*>(w))
264+
else if (qobject_cast<Awl::ColorLabel*>(w)) {
265265
static_cast<Awl::ColorLabel*>(w)->setColor(def.value<QColor>());
266+
valueChanged(i);
267+
}
266268
else {
267269
qDebug("not supported widget");
268270
abort();

mscore/inspector_keysig.ui

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>InspectorKeySig</class>
4+
<widget class="QWidget" name="InspectorKeySig">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>206</width>
10+
<height>97</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>Form</string>
15+
</property>
16+
<layout class="QVBoxLayout" name="verticalLayout">
17+
<property name="spacing">
18+
<number>0</number>
19+
</property>
20+
<property name="margin">
21+
<number>0</number>
22+
</property>
23+
<item>
24+
<widget class="QLabel" name="elementName">
25+
<property name="font">
26+
<font>
27+
<weight>75</weight>
28+
<bold>true</bold>
29+
</font>
30+
</property>
31+
<property name="text">
32+
<string>Key Signature</string>
33+
</property>
34+
<property name="alignment">
35+
<set>Qt::AlignCenter</set>
36+
</property>
37+
</widget>
38+
</item>
39+
<item>
40+
<widget class="QFrame" name="frame">
41+
<property name="frameShape">
42+
<enum>QFrame::HLine</enum>
43+
</property>
44+
<property name="frameShadow">
45+
<enum>QFrame::Raised</enum>
46+
</property>
47+
<property name="lineWidth">
48+
<number>2</number>
49+
</property>
50+
</widget>
51+
</item>
52+
<item>
53+
<layout class="QGridLayout" name="gridLayout">
54+
<property name="spacing">
55+
<number>0</number>
56+
</property>
57+
<item row="0" column="2">
58+
<widget class="QToolButton" name="resetShowCourtesy">
59+
<property name="toolTip">
60+
<string>reset value</string>
61+
</property>
62+
<property name="text">
63+
<string>...</string>
64+
</property>
65+
<property name="icon">
66+
<iconset resource="musescore.qrc">
67+
<normaloff>:/data/icons-dark/resetproperty.png</normaloff>:/data/icons-dark/resetproperty.png</iconset>
68+
</property>
69+
</widget>
70+
</item>
71+
<item row="0" column="0" colspan="2">
72+
<widget class="QCheckBox" name="showCourtesy">
73+
<property name="text">
74+
<string>show courtesy</string>
75+
</property>
76+
</widget>
77+
</item>
78+
<item row="1" column="2">
79+
<widget class="QToolButton" name="resetShowNaturals">
80+
<property name="toolTip">
81+
<string>reset value</string>
82+
</property>
83+
<property name="text">
84+
<string>...</string>
85+
</property>
86+
<property name="icon">
87+
<iconset resource="musescore.qrc">
88+
<normaloff>:/data/icons-dark/resetproperty.png</normaloff>:/data/icons-dark/resetproperty.png</iconset>
89+
</property>
90+
</widget>
91+
</item>
92+
<item row="1" column="0" colspan="2">
93+
<widget class="QCheckBox" name="showNaturals">
94+
<property name="text">
95+
<string>show naturals</string>
96+
</property>
97+
</widget>
98+
</item>
99+
</layout>
100+
</item>
101+
</layout>
102+
</widget>
103+
<resources>
104+
<include location="musescore.qrc"/>
105+
</resources>
106+
<connections/>
107+
</ui>

0 commit comments

Comments
 (0)