From e4d7690cf5bf848d7d56a269434f292f58bdc48e Mon Sep 17 00:00:00 2001 From: SeeLook <SeeLook@localhost> Date: Mon, 1 Jan 2018 21:50:06 +0100 Subject: [PATCH] Properly play newly added note, hide note cursor when clicked to show what note was selected, properly hide note names when single note is on --- src/libs/core/score/taddobject.cpp | 4 ++-- src/libs/core/score/tscoreobject.cpp | 4 ++-- src/libs/core/tnootkaqml.cpp | 4 ++-- src/qml/score/NoteCursor.qml | 13 +++++++++++-- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/libs/core/score/taddobject.cpp b/src/libs/core/score/taddobject.cpp index d9bb00d66..dff1d0161 100644 --- a/src/libs/core/score/taddobject.cpp +++ b/src/libs/core/score/taddobject.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2017 by Tomasz Bojczuk * + * Copyright (C) 2017-2018 by Tomasz Bojczuk * * seelook@gmail.com * * * * This program is free software; you can redistribute it and/or modify * @@ -132,7 +132,7 @@ void TaddObject::mouseMoveEvent(QMouseEvent* event) { void TaddObject::addNote() { - m_scoreObject->addNote(m_scoreObject->posToNote(m_yPos)); + m_scoreObject->addNote(m_scoreObject->posToNote(m_yPos), true); if (m_scoreObject->recordMode()) m_scoreObject->setSelectedItem(nullptr); } diff --git a/src/libs/core/score/tscoreobject.cpp b/src/libs/core/score/tscoreobject.cpp index d3508ff7c..eab543a31 100644 --- a/src/libs/core/score/tscoreobject.cpp +++ b/src/libs/core/score/tscoreobject.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2017 by Tomasz Bojczuk * + * Copyright (C) 2017-2018 by Tomasz Bojczuk * * seelook@gmail.com * * * * This program is free software; you can redistribute it and/or modify * @@ -585,10 +585,10 @@ void TscoreObject::setSingleNote(bool singleN) { if (singleN != m_singleNote) { clearScore(); // In single note mode this call is ignored if (singleN) { - setShowNoteNames(false); addNote(Tnote()); // it is avoided in single note mode addNote(Tnote()); addNote(Tnote()); + setShowNoteNames(false); m_singleNote = true; setNote(0, Tnote()); // reset it (hide) because addNote was performed above in multi notes mode setNote(1, Tnote()); diff --git a/src/libs/core/tnootkaqml.cpp b/src/libs/core/tnootkaqml.cpp index d366e97cb..38d4c8477 100755 --- a/src/libs/core/tnootkaqml.cpp +++ b/src/libs/core/tnootkaqml.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2017 by Tomasz Bojczuk * + * Copyright (C) 2017-2018 by Tomasz Bojczuk * * seelook@gmail.com * * * * This program is free software; you can redistribute it and/or modify * @@ -508,7 +508,7 @@ void TnootkaQML::instrumentChangesNoteSlot() { rawNote = rawNote.showWithFlat(); if (m_scoreObject->singleNote()) { - m_scoreObject->setNote(m_scoreObject->note(0), rawNote); + m_scoreObject->setNote(0, rawNote); } else { if (m_scoreObject->selectedItem()) { rawNote.setRhythm(m_scoreObject->selectedItem()->note()->rtm); diff --git a/src/qml/score/NoteCursor.qml b/src/qml/score/NoteCursor.qml index d771d2bf0..1e69ae6a7 100644 --- a/src/qml/score/NoteCursor.qml +++ b/src/qml/score/NoteCursor.qml @@ -1,5 +1,5 @@ /** This file is part of Nootka (http://nootka.sf.net) * - * Copyright (C) 2017 by Tomasz Bojczuk (seelook@gmail.com) * + * Copyright (C) 2017-2018 by Tomasz Bojczuk (seelook@gmail.com) * * on the terms of GNU GPLv3 license (http://www.gnu.org/licenses) */ import QtQuick 2.9 @@ -17,7 +17,16 @@ Item { property color color: GLOB.noteCursorColor property real yPos: scoreObj.activeYpos - visible: yPos > 0 + // private + property bool allow: true + + visible: yPos > 0 && allow + + Connections { // hide cursor after click on a note to show what was selected + target: scoreObj + onClicked: allow = false + onActiveYposChanged: allow = scoreObj.activeYpos > 0 + } Rectangle { // highlight width: parent.width + 1 -- GitLab