@@ -62,7 +62,7 @@ static const QStringList ALL_PAGE_CODES {
6262 " header-and-footer" ,
6363 " measure-number" ,
6464 " system" ,
65- " clefs" ,
65+ " clefs-key-and-time-signatures " ,
6666 " accidentals" ,
6767 " measure" ,
6868 " barlines" ,
@@ -269,6 +269,14 @@ EditStyle::EditStyle(QWidget* parent)
269269 updateParenthesisIndicatingTiesGroupState ();
270270 });
271271
272+ QButtonGroup* clefVisibility = new QButtonGroup (this );
273+ clefVisibility->addButton (radioShowAllClefs, true );
274+ clefVisibility->addButton (radioHideClefs, false );
275+
276+ QButtonGroup* keysigVisibility = new QButtonGroup (this );
277+ keysigVisibility->addButton (radioShowAllKeys, true );
278+ keysigVisibility->addButton (radioHideKeys, false );
279+
272280 // ====================================================
273281 // Style widgets
274282 // ====================================================
@@ -517,8 +525,9 @@ EditStyle::EditStyle(QWidget* parent)
517525 { StyleId::smallNoteMag, true , smallNoteSize, resetSmallNoteSize },
518526 { StyleId::smallClefMag, true , smallClefSize, resetSmallClefSize },
519527 { StyleId::lastSystemFillLimit, true , lastSystemFillThreshold, resetLastSystemFillThreshold },
520- { StyleId::genClef, false , genClef, 0 },
521- { StyleId::genKeysig, false , genKeysig, 0 },
528+ { StyleId::hideTabClefAfterFirst, false , hideTabClefs, 0 },
529+ { StyleId::genClef, false , clefVisibility, 0 },
530+ { StyleId::genKeysig, false , keysigVisibility, 0 },
522531 { StyleId::genCourtesyTimesig, false , genCourtesyTimesig, 0 },
523532 { StyleId::genCourtesyKeysig, false , genCourtesyKeysig, 0 },
524533 { StyleId::genCourtesyClef, false , genCourtesyClef, 0 },
@@ -899,6 +908,9 @@ EditStyle::EditStyle(QWidget* parent)
899908 connect (minSystemDistance, QOverload<double >::of (&QDoubleSpinBox::valueChanged), this , &EditStyle::systemMinDistanceValueChanged);
900909 connect (maxSystemDistance, QOverload<double >::of (&QDoubleSpinBox::valueChanged), this , &EditStyle::systemMaxDistanceValueChanged);
901910
911+ connect (radioShowAllClefs, &QRadioButton::toggled, this , &EditStyle::clefVisibilityChanged);
912+ connect (radioHideClefs, &QRadioButton::toggled, this , &EditStyle::clefVisibilityChanged);
913+
902914 accidentalsGroup->setVisible (false ); // disable, not yet implemented
903915
904916 // ====================================================
@@ -1373,9 +1385,10 @@ QString EditStyle::pageCodeForElement(const EngravingItem* element)
13731385 return " system" ;
13741386
13751387 case ElementType::CLEF:
1376- return " clefs" ;
1377-
13781388 case ElementType::KEYSIG:
1389+ case ElementType::TIMESIG:
1390+ return " clefs-key-and-time-signatures" ;
1391+
13791392 case ElementType::ACCIDENTAL:
13801393 return " accidentals" ;
13811394
@@ -1684,7 +1697,7 @@ PropertyValue EditStyle::getValue(StyleId idx)
16841697 if (sw.idx == StyleId::harmonyVoiceLiteral) { // special case for bool represented by a two-item combobox
16851698 QComboBox* cb = qobject_cast<QComboBox*>(sw.widget );
16861699 v = cb->currentIndex ();
1687- } else if (sw.idx == StyleId::articulationKeepTogether) { // special case for bool represented by a two-item buttonGroup
1700+ } else if (sw.idx == StyleId::articulationKeepTogether || sw. idx == StyleId::genClef || sw. idx == StyleId::genKeysig ) { // special case for bool represented by a two-item buttonGroup
16881701 QButtonGroup* bg = qobject_cast<QButtonGroup*>(sw.widget );
16891702 v = bool (bg->checkedId ());
16901703 } else {
@@ -1796,7 +1809,7 @@ void EditStyle::setValues()
17961809 bool value = val.toBool ();
17971810 if (sw.idx == StyleId::harmonyVoiceLiteral) { // special case for bool represented by a two-item combobox
17981811 voicingSelectWidget->interpretBox ->setCurrentIndex (value);
1799- } else if (sw.idx == StyleId::articulationKeepTogether) { // special case for bool represented by a two-item buttonGroup
1812+ } else if (sw.idx == StyleId::articulationKeepTogether || sw. idx == StyleId::genClef || sw. idx == StyleId::genKeysig ) { // special case for bool represented by a two-item buttonGroup
18001813 qobject_cast<QButtonGroup*>(sw.widget )->button (1 )->setChecked (value);
18011814 qobject_cast<QButtonGroup*>(sw.widget )->button (0 )->setChecked (!value);
18021815 } else {
@@ -2462,3 +2475,16 @@ void EditStyle::updateParenthesisIndicatingTiesGroupState()
24622475{
24632476 groupBox_2->setEnabled (tabShowTies->isChecked () || tabShowNone->isChecked ());
24642477}
2478+
2479+ void EditStyle::clefVisibilityChanged (bool checked)
2480+ {
2481+ if (!checked) {
2482+ return ;
2483+ }
2484+ if (radioHideClefs->isChecked ()) {
2485+ hideTabClefs->setChecked (true );
2486+ hideTabClefs->setEnabled (false );
2487+ } else {
2488+ hideTabClefs->setEnabled (true );
2489+ }
2490+ }
0 commit comments