Merge pull request #9478 from cbjeukendrup/remove_tours

Remove all references to the "Tours" functionality
This commit is contained in:
RomanPudashkin 2021-10-14 23:29:48 +02:00 committed by GitHub
commit 08c3ca6b77
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 4 additions and 602 deletions

View file

@ -7,18 +7,8 @@ source_file = share/locale/mscore_en.ts
source_lang = en
type = QT
[musescore.instruments]
file_filter = share/locale/instruments_<lang>.ts
source_file = share/locale/instruments_en_US.ts
source_lang = en_US
type = QT
[musescore.tours]
file_filter = share/locale/tours_<lang>.ts
source_file = share/locale/tours_en_US.ts
source_lang = en_US
type = QT

View file

@ -235,8 +235,6 @@ add_custom_target(lupdate
COMMAND Qt5::lupdate ${PROJECT_BINARY_DIR}/mscore.pro
COMMAND ${PROJECT_SOURCE_DIR}/build/gen-instruments-projectfile ${PROJECT_SOURCE_DIR}/share/instruments > instruments.pro
COMMAND Qt5::lupdate ${PROJECT_BINARY_DIR}/instruments.pro
COMMAND ${PROJECT_SOURCE_DIR}/build/gen-tours-projectfile ${PROJECT_SOURCE_DIR}/share/tours > tours.pro
COMMAND Qt5::lupdate ${PROJECT_BINARY_DIR}/tours.pro
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
@ -247,9 +245,6 @@ file(GLOB INSTRUMENTS_TS_FILES
file(GLOB MSCORE_TS_FILES
"share/locale/mscore*.ts"
)
file(GLOB TOURS_TS_FILES
"share/locale/tours*.ts"
)
file(GLOB QT_TS_FILES
"share/locale/qt*.ts"
)
@ -257,7 +252,6 @@ file(GLOB QT_TS_FILES
add_custom_target(lrelease
COMMAND Qt5::lrelease ${INSTRUMENTS_TS_FILES}
COMMAND Qt5::lrelease ${MSCORE_TS_FILES}
COMMAND Qt5::lrelease ${TOURS_TS_FILES}
COMMAND Qt5::lrelease ${QT_TS_FILES}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)

View file

@ -248,7 +248,6 @@
</ul>
<p>Usability:</p>
<ul>
<li>Tours - get online help automatically as you need it</li>
<li>Timeline - navigate using a graphical overview of the music structure of your score that shows rehearsal marks, changes of tempo, key, and time signature, etc.</li>
<li>Score comparison tool - easily view differences between versions of a score</li>
<li>Single page mode - vertically scrolling view of your score</li>

View file

@ -30,9 +30,6 @@ OBSOLETE=-no-obsolete # '-noobsolete' in older QT versions
lupdate ${OBSOLETE} mscore.pro
./build/gen-instruments-projectfile ./share/instruments > instruments.pro
lupdate ${OBSOLETE} instruments.pro
./build/gen-tours-projectfile ./share/tours > tours.pro
lupdate ${OBSOLETE} tours.pro
rm mscore.pro
rm instruments.pro
rm tours.pro

View file

@ -92,10 +92,7 @@ for lang_code, languageName in langCodeNameDict.items():
updateInstruments = processTsFile("instruments", lang_code, data)
translationChanged = updateInstruments or translationChanged
updateTours = processTsFile("tours", lang_code, data)
translationChanged = updateTours or translationChanged
if (updateMscore or updateInstruments or updateTours):
if (updateMscore or updateInstruments):
#create a zip file, compute size, hash, add it to json and save to s3
zipName = 'locale_' + lang_code + '.zip'
zipPath = outputDir + zipName
@ -104,8 +101,6 @@ for lang_code, languageName in langCodeNameDict.items():
myzip.write(qmFilePath, 'mscore_' + lang_code + ".qm")
qmFilePath = outputDir + 'instruments_' + lang_code + ".qm"
myzip.write(qmFilePath, 'instruments_' + lang_code + ".qm")
qmFilePath = outputDir + 'tours_' + lang_code + ".qm"
myzip.write(qmFilePath, 'tours_' + lang_code + ".qm")
myzip.close()
# get zip file size

View file

@ -1,16 +0,0 @@
#!/bin/sh
echo "TRANSLATIONS = \\"
uis=`find $1/../../share/locale/ -name "tours_*.ts"`
for a in $uis; do
echo " " $a \\;
done
echo
echo "HEADERS = \\"
uis=`find $1 -name "*.h"`
for a in $uis; do
echo " " $a \\;
done
echo
echo

View file

@ -1,16 +0,0 @@
@echo off
set OLD_DIR=%CD%
echo TRANSLATIONS = \
for /r %1/../../share/locale/ %%a in (tours_*.ts) do echo %%a \
echo.
cd /d %1
echo HEADERS= \
for /r %1 %%a in (*.h) do echo %%a \
echo.
echo.
cd /d %OLD_DIR%

View file

@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
subdirs(autobotscripts templates wallpaper locale styles sound manual instruments tours)
subdirs(autobotscripts templates wallpaper locale styles sound manual instruments)
install (DIRECTORY
plugins

View file

@ -21,7 +21,6 @@ In [MuseScore source](https://github.com/musescore/MuseScore)
* Add the share/locale/mscore_XX.ts file, tx pull can help (`tx pull -t language_code`)
* Add the share/locale/instruments_XX.ts file, see above
* Add the share/locale/tours_XX.ts file, see above
* Add the language in build/ci/tx2s3/languages.json

View file

@ -1,24 +0,0 @@
# SPDX-License-Identifier: GPL-3.0-only
# MuseScore-CLA-applies
#
# MuseScore
# Music Composition & Notation
#
# Copyright (C) 2021 MuseScore BVBA and others
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
install(DIRECTORY ./
DESTINATION ${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME}tours
FILES_MATCHING
REGEX ".*\\.tour")

View file

@ -1,12 +0,0 @@
Translation of the tours
---
* `generateTs.py` parses `*.tour` and creates a fake `tourxml.h` file
* gen-tours-projectfile creates a pro file for the translations, so we can run lupdate (to create/update the TS files) and lrelease on it (to generate the QM files)
* the QM files are loaded by MuseScore and the tours are translated when the *.tour file is loaded
If any *.tour is modified or added
--
* run `generateTs.py` and lupdate.sh
* push the new file updated ts en_US file to transifex

View file

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="autoplace-tour">
<Event objectName="autoplace">MouseButtonRelease</Event>
<Message>
<Text>Autoplace is a new feature that automatically detects and avoids many types of collisions between elements.
You can also manually adjust the position of autoplaced elements, or disable autoplace for selected elements.
Click "Next" to learn more.</Text>
</Message>
<Message>
<Text>Autoplace positions most elements according to standard music engraving practice,
such as by moving tempo markings above other text or by shortening hairpins to avoid dynamics.
In many cases, this means that no further adjustments will be required at all.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>If necessary, you can fine-tune the position of elements by dragging, by using the cursor keys while in Edit mode (double-click),
or by using the "Offset" fields in the Inspector.
This allows you to make adjustments while leaving autoplace enabled to continue avoiding collisions.</Text>
<Widget>scoreview</Widget>
<Widget>offsetLabel</Widget>
<Widget>offset</Widget>
<Widget>resetOffset</Widget>
</Message>
<Message>
<Text>For larger adjustments, it may be more convenient to disable autoplace for selected elements using the Inspector.
This will remove them from collision detection and allow you to place them more freely.</Text>
<Widget>autoplace</Widget>
<Widget>resetAutoplace</Widget>
</Message>
</Tour>

View file

@ -1,39 +0,0 @@
#!/usr/bin/env python3
# If you get Unicode errors on Windows, try setting the environment variable
# PYTHONIOENCODING=utf-8. More info at https://stackoverflow.com/a/12834315
import os
import xml.etree.ElementTree as ET
def addMessage(f, text, comment=''):
text = text.replace('"', r'\"')
text = text.replace('\n', r'\n')
if (comment):
f.write('QT_TRANSLATE_NOOP3("TourXML", "' + text + '", "' + comment + '"),\n')
else:
f.write('QT_TRANSLATE_NOOP("TourXML", "' + text + '"),\n')
scriptPath = os.path.dirname(os.path.realpath(__file__))
#find all tours
tours = []
for file in sorted(os.listdir(scriptPath)): # sort to get same ordering on all platforms
if file.endswith(".tour"):
tours.append(os.path.join(scriptPath, file))
# create tourxml.h (must specify encoding and line ending on Windows)
f = open(scriptPath + '/' + 'tourxml.h', 'w', newline='\n', encoding='utf-8')
for tour in tours:
tree = ET.parse(tour)
root = tree.getroot()
tourName = root.attrib["name"]
for child in root:
if child.tag == "Message":
t = child.find("Text")
addMessage(f, t.text, tourName)
f.close()

View file

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="inspector-tour">
<Event objectName="inspector">MouseButtonPress</Event>
<Event objectName="inspector">FocusIn</Event>
<Event objectName="InspectorBase">MouseButtonPress</Event>
<Event objectName="InspectorBase">FocusIn</Event>
<Message>
<Text>Welcome to the Inspector, where you can change individual properties for selected elements.
Click "Next" to learn more.</Text>
<Widget>inspector</Widget>
</Message>
<Message>
<Text>Begin by selecting one or more elements in your score, then use the check boxes, spin boxes, dropdown menus, and other controls to change values for the various properties.
The set of properties available will differ according to the type of selected elements or elements.</Text>
<Widget>inspector</Widget>
</Message>
<Message>
<Text>If you have selected elements of different types, only a few settings common to all elements will be available.
You can click the "Notes" and other buttons at the bottom of the Inspector to limit the selection to just the elements of the specified type.</Text>
<Widget>InspectorElement</Widget>
<Widget>InspectorGroupElement</Widget>
<Widget>notes</Widget>
<Widget>graceNotes</Widget>
<Widget>rests</Widget>
</Message>
<Message>
<Text>If you have modified a value, you can click the "Reset" button to reset it to the default.
If the value is controlled by a style setting, you can click the "Set as style" button to set the current value as the new default for the style.
You can also set style defaults using Format > Style….</Text>
<Widget>offsetLabel</Widget>
<Widget>offset</Widget>
<Widget>resetOffset</Widget>
</Message>
</Tour>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="mmrest">
<Shortcut>toggle-mmrest</Shortcut>
<Message>
<Text>You have toggled multimeasure rests in this score.
This combines multiple measures of rests into a single multimeasure rest.
To toggle this setting again, press the shortcut "M".</Text>
<Widget>scoreview</Widget>
</Message>
</Tour>

View file

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="navigate-tour">
<Shortcut>page-top</Shortcut>
<Shortcut>page-end</Shortcut>
<Shortcut>page-prev</Shortcut>
<Shortcut>page-next</Shortcut>
<Shortcut>toggle-navigator</Shortcut>
<Message>
<Text>MuseScore provides many ways to navigate through your score.
Click "Next" to learn more.</Text>
</Message>
<Message>
<Text>The quickest way to scroll up and down is to use your mouse wheel or equivalent touch gesture (for example, two-finger swipe).
To scroll horizontally, hold "Shift" while using the mouse wheel or touch gesture.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>The navigation keys on your keyboard such as "PgUp", "PgDn", "Home", and "End" function as in other applications
to move between pages.
Keyboards that lack these keys often provide equivalents such as "Fn+Up/Down/Left/Right".</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>You can move the score short distances by clicking an empty area of the page and dragging.
By the way, you can also select regions by holding "Shift" while dragging.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>Additional navigation tools include the Timeline and Navigator, both found in the View menu.</Text>
<Widget>Timeline</Widget>
<Widget>Navigator</Widget>
</Message>
</Tour>

View file

@ -1,92 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="note-input">
<Event objectName="note-entry-methods">MouseButtonRelease</Event>
<Event objectName="pad-note-128">MouseButtonRelease</Event>
<Event objectName="pad-note-64">MouseButtonRelease</Event>
<Event objectName="pad-note-32">MouseButtonRelease</Event>
<Event objectName="pad-note-16">MouseButtonRelease</Event>
<Event objectName="pad-note-8">MouseButtonRelease</Event>
<Event objectName="pad-note-4">MouseButtonRelease</Event>
<Event objectName="pad-note-2">MouseButtonRelease</Event>
<Event objectName="pad-note-1">MouseButtonRelease</Event>
<Event objectName="note-breve">MouseButtonRelease</Event>
<Event objectName="note-longa">MouseButtonRelease</Event>
<Event objectName="pad-dot">MouseButtonRelease</Event>
<Event objectName="pad-dotdot">MouseButtonRelease</Event>
<Event objectName="pad-dot3">MouseButtonRelease</Event>
<Event objectName="pad-dot4">MouseButtonRelease</Event>
<Event objectName="tie">MouseButtonRelease</Event>
<Event objectName="pad-rest">MouseButtonRelease</Event>
<Event objectName="flip">MouseButtonRelease</Event>
<Event objectName="sharp2">MouseButtonRelease</Event>
<Event objectName="sharp">MouseButtonRelease</Event>
<Event objectName="nat">MouseButtonRelease</Event>
<Event objectName="flat">MouseButtonRelease</Event>
<Event objectName="flat2">MouseButtonRelease</Event>
<Event objectName="voice">MouseButtonRelease</Event>
<Message>
<Text>Welcome to note input, where you will enter notes and rests into your score.
Click "Next" to learn more.</Text>
<Widget>entry-tools</Widget>
</Message>
<Message>
<Text>To enable note input mode, click the "Note input" icon or press the shortcut "N".</Text>
<Widget>note-entry-methods</Widget>
</Message>
<Message>
<Text>Select a duration by clicking one of these icons or pressing the shortcuts "1" - "9".
To include an augmentation dot, click the appropriate icon or press the shortcut ".".</Text>
<Widget>pad-note-128</Widget>
<Widget>pad-note-64</Widget>
<Widget>pad-note-32</Widget>
<Widget>pad-note-16</Widget>
<Widget>pad-note-8</Widget>
<Widget>pad-note-4</Widget>
<Widget>pad-note-2</Widget>
<Widget>pad-note-1</Widget>
<Widget>note-breve</Widget>
<Widget>note-longa</Widget>
<Widget>pad-dot</Widget>
<Widget>pad-dotdot</Widget>
<Widget>pad-dot3</Widget>
<Widget>pad-dot4</Widget>
</Message>
<Message>
<Text>To enter a note of the selected duration, type its letter name or click on the staff.
Press "Ctrl+Up/Down" (macOS: "Cmd+Up/Down") to change octave.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>To enter a rest of the selected duration, press the shortcut "0", or select this icon then click on the staff.</Text>
<Widget>pad-rest</Widget>
</Message>
<Message>
<Text>To add an accidental to a note, press the shortcut "Up" or "Down" to raise or lower its pitch,
or click one of these icons.</Text>
<Widget>sharp2</Widget>
<Widget>sharp</Widget>
<Widget>nat</Widget>
<Widget>flat</Widget>
<Widget>flat2</Widget>
</Message>
<Message>
<Text>To add a note to a chord, press "Shift" while typing its letter name, or click on the staff.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>To extend a note by adding a tied note, select the duration to extend by, then press "+" or click this button.</Text>
<Widget>tie</Widget>
</Message>
<Message>
<Text>To create a triplet or other tuplet, select the duration representing the total length of the tuplet, then press "Ctrl+number" or use Add > Tuplets.</Text>
<Widget>menu-add</Widget>
<Widget>menu-tuplet</Widget>
</Message>
<Message>
<Text>To enter notes with different rhythms in the same measure, use multiple voices.
Each staff can have up to four voices.
The default is voice 1, and it should be used first for each staff.
To enter notes into a different voice, click one of these icons.</Text>
<Widget>voice</Widget>
</Message>
</Tour>

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="show-palette">
<Message>
<Text>Welcome to the Palettes, where you will add various elements to your score. Click "Next" to learn more.</Text>
<Widget>palette-box</Widget>
</Message>
<Message>
<Text>Each palette contains items that can be added to the score.</Text>
<Widget>palette</Widget>
</Message>
<Message>
<Text>There are different workspaces available with different sets of palettes.
The "Advanced" workspace contains more items than the "Basic" workspace.</Text>
<Widget>workspace-list</Widget>
</Message>
<Message>
<Text>To add a palette item to your score, first select an element or range in your score, then double-click on the palette item to add it to the selected elements.
You can also drag an item from the palette and drop it on a specific element in your score.</Text>
<Widget>palette-cells</Widget>
</Message>
</Tour>

View file

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="select-tour">
<Shortcut>select-all</Shortcut>
<Shortcut>select-section</Shortcut>
<Shortcut>toggle-selection-window</Shortcut>
<Message>
<Text>MuseScore supports different types of selections: single, list, and range.
Click "Next" to learn more.</Text>
</Message>
<Message>
<Text>To make a single selection, click the element you want to select.
It becomes highlighted to indicate that it is selected.
You can use the left and right cursor keys to move the selection through the notes and rests of your score.
Tip: if you press the "Alt" key ("Option" on macOS) along with the cursor keys you can move through other elements too,
and also move up and down from staff to staff.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>A list selection is a combination of single selections.
Press "Ctrl" (macOS: "Cmd") while clicking to add or remove elements to the list selection.
You can also quickly select similar elements by right-clicking (macOS: "Ctrl"+clicking) one
and then choosing one of the "Select" options from the resulting popup menu.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>A range selection includes everything from one point in time to another across one or more staves.
It is indicated by a blue rectangle encompassing the entire range.
To make a range selection, click the first note, rest, or measure you want to select, then "Shift"+click the last.
You can also extend range selections by holding the "Shift" key while moving the cursor.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>Another way to make selections is to hold "Shift" while dragging.
If your selection includes notes, it will automatically be made as a range selection;
otherwise it will be made as a list selection.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>Finally, the Selection Filter (found in the View menu) allows you to exclude elements of a given type from a range selection.</Text>
<Widget>SelectionWindow</Widget>
</Message>
</Tour>

View file

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="spanner-drop-apply">
<Message>
<Text>Most elements on the lines palette span a range from a start element to an end element.\n
To edit its range, double-click the line (which automatically selects its end handle) and:\n
- Press "Shift+Right" to move that handle forward.\n
- Press "Shift+Left" to move that handle backward.</Text>
</Message>
<Message>
<Text>Alternatively, first selecting a range of elements in the score and then double-clicking a line element in the palette will add that new element across the selected range.</Text>
</Message>
</Tour>

View file

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="timeline-tour">
<Message>
<Text>Welcome to the Timeline, where you can view a high-level reduction of the score for easier navigation.
Click "Next" to learn more.</Text>
<Widget>Timeline</Widget>
</Message>
<Message>
<Text>The timeline shows rehearsal marks, changes of tempo, key, and time signature, and other points of interest.
You can click anywhere to jump to the corresponding location in your score.</Text>
<Widget>Timeline</Widget>
</Message>
<Message>
<Text>The section below contains a row for each instrument.
Each box within the row represents a measure for that instrument.
If the box is highlighted, then there are notes in that measure.
Boxes with a thin blue outline represent measures that are currently in view.</Text>
<Widget>Timeline</Widget>
</Message>
</Tour>

View file

@ -1,70 +0,0 @@
/*
* SPDX-License-Identifier: GPL-3.0-only
* MuseScore-CLA-applies
*
* MuseScore
* Music Composition & Notation
*
* Copyright (C) 2021 MuseScore BVBA and others
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
QT_TRANSLATE_NOOP3("TourXML", "Autoplace is a new feature that automatically detects and avoids many types of collisions between elements.\n You can also manually adjust the position of autoplaced elements, or disable autoplace for selected elements.\n Click \"Next\" to learn more.", "autoplace-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Autoplace positions most elements according to standard music engraving practice,\n such as by moving tempo markings above other text or by shortening hairpins to avoid dynamics.\n In many cases, this means that no further adjustments will be required at all.", "autoplace-tour"),
QT_TRANSLATE_NOOP3("TourXML", "If necessary, you can fine-tune the position of elements by dragging, by using the cursor keys while in Edit mode (double-click),\n or by using the \"Offset\" fields in the Inspector.\n This allows you to make adjustments while leaving autoplace enabled to continue avoiding collisions.", "autoplace-tour"),
QT_TRANSLATE_NOOP3("TourXML", "For larger adjustments, it may be more convenient to disable autoplace for selected elements using the Inspector.\n This will remove them from collision detection and allow you to place them more freely.", "autoplace-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Welcome to the Inspector, where you can change individual properties for selected elements.\n Click \"Next\" to learn more.", "inspector-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Begin by selecting one or more elements in your score, then use the check boxes, spin boxes, dropdown menus, and other controls to change values for the various properties.\n The set of properties available will differ according to the type of selected elements or elements.", "inspector-tour"),
QT_TRANSLATE_NOOP3("TourXML", "If you have selected elements of different types, only a few settings common to all elements will be available.\n You can click the \"Notes\" and other buttons at the bottom of the Inspector to limit the selection to just the elements of the specified type.", "inspector-tour"),
QT_TRANSLATE_NOOP3("TourXML", "If you have modified a value, you can click the \"Reset\" button to reset it to the default.\n If the value is controlled by a style setting, you can click the \"Set as style\" button to set the current value as the new default for the style.\n You can also set style defaults using Format > Style….", "inspector-tour"),
QT_TRANSLATE_NOOP3("TourXML", "You have toggled multimeasure rests in this score.\n This combines multiple measures of rests into a single multimeasure rest.\n To toggle this setting again, press the shortcut \"M\".", "mmrest"),
QT_TRANSLATE_NOOP3("TourXML", "MuseScore provides many ways to navigate through your score.\n Click \"Next\" to learn more.", "navigate-tour"),
QT_TRANSLATE_NOOP3("TourXML", "The quickest way to scroll up and down is to use your mouse wheel or equivalent touch gesture (for example, two-finger swipe).\n To scroll horizontally, hold \"Shift\" while using the mouse wheel or touch gesture.", "navigate-tour"),
QT_TRANSLATE_NOOP3("TourXML", "The navigation keys on your keyboard such as \"PgUp\", \"PgDn\", \"Home\", and \"End\" function as in other applications\n to move between pages.\n Keyboards that lack these keys often provide equivalents such as \"Fn+Up/Down/Left/Right\".", "navigate-tour"),
QT_TRANSLATE_NOOP3("TourXML", "You can move the score short distances by clicking an empty area of the page and dragging.\n By the way, you can also select regions by holding \"Shift\" while dragging.", "navigate-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Additional navigation tools include the Timeline and Navigator, both found in the View menu.", "navigate-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Welcome to note input, where you will enter notes and rests into your score.\n Click \"Next\" to learn more.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To enable note input mode, click the \"Note input\" icon or press the shortcut \"N\".", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "Select a duration by clicking one of these icons or pressing the shortcuts \"1\" - \"9\".\n To include an augmentation dot, click the appropriate icon or press the shortcut \".\".", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To enter a note of the selected duration, type its letter name or click on the staff.\n Press \"Ctrl+Up/Down\" (macOS: \"Cmd+Up/Down\") to change octave.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To enter a rest of the selected duration, press the shortcut \"0\", or select this icon then click on the staff.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To add an accidental to a note, press the shortcut \"Up\" or \"Down\" to raise or lower its pitch,\n or click one of these icons.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To add a note to a chord, press \"Shift\" while typing its letter name, or click on the staff.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To extend a note by adding a tied note, select the duration to extend by, then press \"+\" or click this button.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To create a triplet or other tuplet, select the duration representing the total length of the tuplet, then press \"Ctrl+number\" or use Add > Tuplets.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "To enter notes with different rhythms in the same measure, use multiple voices.\n Each staff can have up to four voices.\n The default is voice 1, and it should be used first for each staff.\n To enter notes into a different voice, click one of these icons.", "note-input"),
QT_TRANSLATE_NOOP3("TourXML", "Welcome to the Palettes, where you will add various elements to your score. Click \"Next\" to learn more.", "show-palette"),
QT_TRANSLATE_NOOP3("TourXML", "Each palette contains items that can be added to the score.", "show-palette"),
QT_TRANSLATE_NOOP3("TourXML", "There are different workspaces available with different sets of palettes.\n The \"Advanced\" workspace contains more items than the \"Basic\" workspace.", "show-palette"),
QT_TRANSLATE_NOOP3("TourXML", "To add a palette item to your score, first select an element or range in your score, then double-click on the palette item to add it to the selected elements.\n You can also drag an item from the palette and drop it on a specific element in your score.", "show-palette"),
QT_TRANSLATE_NOOP3("TourXML", "MuseScore supports different types of selections: single, list, and range.\n Click \"Next\" to learn more.", "select-tour"),
QT_TRANSLATE_NOOP3("TourXML", "To make a single selection, click the element you want to select.\n It becomes highlighted to indicate that it is selected.\n You can use the left and right cursor keys to move the selection through the notes and rests of your score.\n Tip: if you press the \"Alt\" key (\"Option\" on macOS) along with the cursor keys you can move through other elements too,\n and also move up and down from staff to staff.", "select-tour"),
QT_TRANSLATE_NOOP3("TourXML", "A list selection is a combination of single selections.\n Press \"Ctrl\" (macOS: \"Cmd\") while clicking to add or remove elements to the list selection.\n You can also quickly select similar elements by right-clicking (macOS: \"Ctrl\"+clicking) one\n and then choosing one of the \"Select\" options from the resulting popup menu.", "select-tour"),
QT_TRANSLATE_NOOP3("TourXML", "A range selection includes everything from one point in time to another across one or more staves.\n It is indicated by a blue rectangle encompassing the entire range.\n To make a range selection, click the first note, rest, or measure you want to select, then \"Shift\"+click the last.\n You can also extend range selections by holding the \"Shift\" key while moving the cursor.", "select-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Another way to make selections is to hold \"Shift\" while dragging.\n If your selection includes notes, it will automatically be made as a range selection;\n otherwise it will be made as a list selection.", "select-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Finally, the Selection Filter (found in the View menu) allows you to exclude elements of a given type from a range selection.", "select-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Most elements on the lines palette span a range from a start element to an end element.\n\n To edit its range, double-click the line (which automatically selects its end handle) and:\n\n - Press \"Shift+Right\" to move that handle forward.\n\n - Press \"Shift+Left\" to move that handle backward.", "spanner-drop-apply"),
QT_TRANSLATE_NOOP3("TourXML", "Alternatively, first selecting a range of elements in the score and then double-clicking a line element in the palette will add that new element across the selected range.", "spanner-drop-apply"),
QT_TRANSLATE_NOOP3("TourXML", "Welcome to the Timeline, where you can view a high-level reduction of the score for easier navigation.\n Click \"Next\" to learn more.", "timeline-tour"),
QT_TRANSLATE_NOOP3("TourXML", "The timeline shows rehearsal marks, changes of tempo, key, and time signature, and other points of interest.\n You can click anywhere to jump to the corresponding location in your score.", "timeline-tour"),
QT_TRANSLATE_NOOP3("TourXML", "The section below contains a row for each instrument.\n Each box within the row represents a measure for that instrument.\n If the box is highlighted, then there are notes in that measure.\n Boxes with a thin blue outline represent measures that are currently in view.", "timeline-tour"),
QT_TRANSLATE_NOOP3("TourXML", "Welcome to MuseScore! This brief tour will guide you through the MuseScore user interface.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "This is the score view, where you can view and edit your score.\n Use your mouse wheel or touchpad to scroll (with \"Shift\" to scroll horizontally).\n If you have multiple scores open, you can switch between them using tabs at the top of your score view.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "These are the toolbars.\n The main three are File Operations, Playback Controls, and Note Input.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "The File Operations toolbar allows you to create/save/open/print files and undo/redo changes.\n You can also save to your musescore.com account if you go to File > Save Online.\n The controls at the right of this toolbar control the display of your score.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "The Playback Controls toolbar allows you to play/pause your score and control various aspects of playback.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "The Note Input toolbar allows you to enter notes and rests into your score.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "The Palettes allow you to add most other notation elements to your score.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "The Inspector allows you to control various properties of the elements in your score.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "The main menu contains most other commands.\n In addition, many commands can be accessed via keyboard shortcuts or by right-clicking (macOS: \"Ctrl\"+clicking) within the score view.", "welcome"),
QT_TRANSLATE_NOOP3("TourXML", "That's the end of this tour!\n As you use MuseScore, more tours will pop up to further explain functionality.\n To disable these, deselect \"Continue showing tours\" before closing this window.\n You can also enable/disable and reset tours in Help > Tours.", "welcome"),

View file

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tour name="welcome">
<Message>
<Text>Welcome to MuseScore! This brief tour will guide you through the MuseScore user interface.</Text>
</Message>
<Message>
<Text>This is the score view, where you can view and edit your score.
Use your mouse wheel or touchpad to scroll (with "Shift" to scroll horizontally).
If you have multiple scores open, you can switch between them using tabs at the top of your score view.</Text>
<Widget>scoreview</Widget>
</Message>
<Message>
<Text>These are the toolbars.
The main three are File Operations, Playback Controls, and Note Input.</Text>
<Widget>entry-tools</Widget>
<Widget>file-operations</Widget>
<Widget>pitch-tools</Widget>
<Widget>foto-tools</Widget>
<Widget>transport-tools</Widget>
</Message>
<Message>
<Text>The File Operations toolbar allows you to create/save/open/print files and undo/redo changes.
You can also save to your musescore.com account if you go to File > Save Online.
The controls at the right of this toolbar control the display of your score.</Text>
<Widget>file-operations</Widget>
</Message>
<Message>
<Text>The Playback Controls toolbar allows you to play/pause your score and control various aspects of playback.</Text>
<Widget>transport-tools</Widget>
</Message>
<Message>
<Text>The Note Input toolbar allows you to enter notes and rests into your score.</Text>
<Widget>entry-tools</Widget>
</Message>
<Message>
<Text>The Palettes allow you to add most other notation elements to your score.</Text>
<Widget>palette-widget</Widget>
</Message>
<Message>
<Text>The Inspector allows you to control various properties of the elements in your score.</Text>
<Widget>inspector</Widget>
</Message>
<Message>
<Text>The main menu contains most other commands.
In addition, many commands can be accessed via keyboard shortcuts or by right-clicking (macOS: "Ctrl"+clicking) within the score view.</Text>
<Widget>menubar</Widget>
</Message>
<Message>
<Text>That's the end of this tour!
As you use MuseScore, more tours will pop up to further explain functionality.
To disable these, deselect "Continue showing tours" before closing this window.
You can also enable/disable and reset tours in Help > Tours.</Text>
</Message>
</Tour>

View file

@ -68,9 +68,6 @@ public:
virtual bool needShowSplashScreen() const = 0;
virtual void setNeedShowSplashScreen(bool show) = 0;
virtual bool needShowTours() const = 0;
virtual void setNeedShowTours(bool show) = 0;
virtual void startEditSettings() = 0;
virtual void applySettings() = 0;
virtual void rollbackSettings() = 0;

View file

@ -47,7 +47,6 @@ static const std::string UTM_MEDIUM_MENU("menu");
static const QString NOTATION_NAVIGATOR_VISIBLE_KEY("showNavigator");
static const Settings::Key SPLASH_SCREEN_VISIBLE_KEY(module_name, "ui/application/startup/showSplashScreen");
static const Settings::Key TOURS_VISIBLE_KEY(module_name, "ui/application/startup/showTours");
void AppShellConfiguration::init()
{
@ -186,16 +185,6 @@ void AppShellConfiguration::setNeedShowSplashScreen(bool show)
settings()->setSharedValue(SPLASH_SCREEN_VISIBLE_KEY, Val(show));
}
bool AppShellConfiguration::needShowTours() const
{
return settings()->value(TOURS_VISIBLE_KEY).toBool();
}
void AppShellConfiguration::setNeedShowTours(bool show)
{
settings()->setSharedValue(TOURS_VISIBLE_KEY, Val(show));
}
void AppShellConfiguration::startEditSettings()
{
settings()->beginTransaction();

View file

@ -74,9 +74,6 @@ public:
bool needShowSplashScreen() const override;
void setNeedShowSplashScreen(bool show) override;
bool needShowTours() const override;
void setNeedShowTours(bool show) override;
void startEditSettings() override;
void applySettings() override;
void rollbackSettings() override;

View file

@ -285,14 +285,8 @@ MenuItem AppMenuModel::toolsItem() const
MenuItem AppMenuModel::helpItem() const
{
MenuItemList toursItems {
makeMenuItem("show-tours"), // need implement
makeMenuItem("reset-tours") // need implement
};
MenuItemList helpItems {
makeMenuItem("online-handbook"),
makeMenu(qtrc("appshell", "&Tours"), toursItems),
makeSeparator(),
makeMenuItem("about"),
makeMenuItem("about-qt"),

View file

@ -96,7 +96,6 @@ ProgrammeStartPreferencesModel::PanelList ProgrammeStartPreferencesModel::allPan
PanelList panels {
Panel { SplashScreen, qtrc("appshell", "Show splash screen"), configuration()->needShowSplashScreen() },
Panel { Navigator, qtrc("appshell", "Show navigator"), configuration()->isNotationNavigatorVisible() },
Panel { Tours, qtrc("appshell", "Show tours"), configuration()->needShowTours() }
};
return panels;
@ -153,9 +152,6 @@ void ProgrammeStartPreferencesModel::setPanelVisible(int panelIndex, bool visibl
case Navigator:
configuration()->setIsNotationNavigatorVisible(visible);
break;
case Tours:
configuration()->setNeedShowTours(visible);
break;
case Unknown:
return;
}

View file

@ -58,8 +58,7 @@ private:
enum PanelType {
Unknown,
SplashScreen,
Navigator,
Tours
Navigator
};
struct Panel

View file

@ -41,8 +41,7 @@ static const QString DEFAULT_LANGUAGE("system");
static const QStringList languageFileTypes = {
"mscore",
"instruments",
"tours"
"instruments"
};
namespace mu::languages {

View file

@ -1125,9 +1125,6 @@ bool NotationInteraction::drop(const PointF& pos, Qt::KeyboardModifiers modifier
// update input cursor position (must be done after layout)
// if (noteEntryMode()) {
// moveCursor();
// }
// if (triggerSpannerDropApplyTour) {
// TourHandler::startTour("spanner-drop-apply");
// }
if (accepted) {
notifyAboutDropChanged();
@ -1173,10 +1170,6 @@ bool NotationInteraction::applyPaletteElement(Ms::EngravingItem* element, Qt::Ke
return false;
}
//-- if (element->isSpanner()) {
//-- TourHandler::startTour("spanner-drop-apply");
//-- }
//#ifdef MSCORE_UNSTABLE
// if (ScriptRecorder* rec = adapter()->getScriptRecorder()) {
// if (modifiers == 0) {

View file

@ -111,15 +111,4 @@ Rectangle {
visible: !searchHint.visible
}
Rectangle {
// Shadow overlay for Tours. The usual overlay doesn't cover palettes
// as they reside in a window container above the main MuseScore window.
visible: paletteRootModel.needShowShadowOverlay
anchors.fill: parent
z: 1000
color: ui.theme.strokeColor
opacity: 0.5
}
}