You forgot to edit connect signal in reminders.qml switching from opentaggednote to editnote:
(tablet mode) file:///home/rpadovani/Ubuntu/touch/core-apps/reminders/reminders-app/builddir/src/app/qml/reminders.qml:146: TypeError: Cannot call method 'connect' of undefined In phone mode I've this error: file:///home/rpadovani/Ubuntu/touch/core-apps/reminders/reminders-app/builddir/src/app/qml/ui/NoteView.qml:87: ReferenceError: offset is not defined I cannot close notes in tablet mode: file:///home/rpadovani/Ubuntu/touch/core-apps/reminders/reminders-app/builddir/src/app/qml/ui/NoteView.qml:158: TypeError: Cannot call method 'pop' of null Diff comments: > === modified file 'src/app/qml/components/EditTagsDialog.qml' > --- src/app/qml/components/EditTagsDialog.qml 2015-06-11 22:45:32 +0000 > +++ src/app/qml/components/EditTagsDialog.qml 2015-06-16 23:45:03 +0000 > @@ -174,6 +174,7 @@ > else { > root.note.tagGuids.push(model.guid); > } > + NotesStore.saveNote(root.note.guid); > } > } > } > > === added file 'src/app/qml/components/Header.qml' You forgot header copyright there > --- src/app/qml/components/Header.qml 1970-01-01 00:00:00 +0000 > +++ src/app/qml/components/Header.qml 2015-06-16 23:45:03 +0000 > @@ -0,0 +1,132 @@ > +import QtQuick 2.2 > +import QtQuick.Layouts 1.1 > +import Ubuntu.Components 1.1 > +import Ubuntu.Components.ListItems 1.0 > +import Ubuntu.Components.Themes.Ambiance 1.1 > +import Evernote 0.1 > + > + > +Column { > + id: root > + width: parent.width > + height: childrenRect.height > + > + property var note: null > + > + property bool editingEnabled: true > + > + property alias title: titleTextField.text > + > + signal editReminders(); > + signal editTags(); > + > + TextField { > + id: titleTextField > + height: units.gu(6) > + width: parent.width > + text: root.note ? root.note.title : "" > + placeholderText: i18n.tr("Untitled") > + font.pixelSize: units.gu(4) > + visible: root.editingEnabled > + style: TextFieldStyle { > + background: null > + } > + } > + > + Label { > + height: units.gu(6) > + anchors.left: parent.left > + anchors.right: parent.right > + anchors.margins: units.gu(1) > + text: root.note ? root.note.title : "" > + visible: !root.editingEnabled > + font.pixelSize: units.gu(4) > + verticalAlignment: Text.AlignVCenter > + } > + > + ThinDivider {} > + > + > + ItemSelector { > + id: notebookSelector > + width: parent.width > + model: Notebooks {} > + > + > + Component.onCompleted: { > + for (var i = 0; i < model.count; i++) { > + if (model.notebook(i).guid == root.note.notebookGuid) { > + selectedIndex = i; > + } > + } > + } > + > + onDelegateClicked: { > + var newNotebookGuid = model.notebook(index).guid; > + if (newNotebookGuid != root.note.notebookGuid) { > + root.note.notebookGuid = newNotebookGuid; > + NotesStore.saveNote(root.note.guid) > + } > + } > + > + delegate: OptionSelectorDelegate { > + Rectangle { > + anchors.fill: parent > + color: "white" > + > + RowLayout { > + anchors { > + fill: parent > + leftMargin: units.gu(1) > + rightMargin: units.gu(1) > + topMargin: units.gu(0.5) > + bottomMargin: units.gu(0.5) > + } > + > + Item { > + height: parent.height > + width: height > + Icon { > + anchors.fill: parent > + anchors.margins: units.gu(0.5) > + name: "notebook" > + color: preferences.colorForNotebook(model.guid) > + } > + } > + > + Label { > + text: model.name > + Layout.fillWidth: true > + color: preferences.colorForNotebook(model.guid) > + } > + RtfButton { > + iconName: root.note && root.note.reminder ? > "reminder" : "reminder-new" > + height: parent.height > + width: height > + iconColor: root.note && note.reminder ? > UbuntuColors.blue : Qt.rgba(0.0, 0.0, 0.0, 0.0) > + visible: index == notebookSelector.selectedIndex > + onClicked: { > + Qt.inputMethod.hide(); > + root.editReminders(); > + } > + } > + RtfButton { > + id: tagsButton > + iconSource: "../images/tags.svg" > + height: parent.height > + width: height > + visible: index == notebookSelector.selectedIndex > + onClicked: { > + Qt.inputMethod.hide(); > + root.editTags(); > + } > + } > + } > + } > + } > + } > + > + ThinDivider {} > + > +} > + > > === modified file 'src/app/qml/ui/EditNoteView.qml' > --- src/app/qml/ui/EditNoteView.qml 2015-06-11 19:32:31 +0000 > +++ src/app/qml/ui/EditNoteView.qml 2015-06-16 23:45:03 +0000 > @@ -43,13 +43,12 @@ > signal exitEditMode(var note) > > function saveNote() { > - var title = titleTextField.text ? titleTextField.text : > i18n.tr("Untitled"); > - var notebookGuid = notebookSelector.selectedGuid; > + var title = header.title ? header.title : i18n.tr("Untitled"); > + var notebookGuid = header.notebookGuid; > var text = noteTextArea.text; > > if (note) { > note.title = title; > - note.notebookGuid = notebookGuid; > note.richTextContent = text; > NotesStore.saveNote(note.guid); > } else { > @@ -120,11 +119,11 @@ > > function ensureVisible(r) > { > - var staticHeight = titleTextField.height + > notebookSelector.height > + var staticHeight = header.height > if (contentX >= r.x) > contentX = r.x; > - else if (contentX +width <= r.x+r.width) > - contentX = r.x+r.width-width; > + else if (contentX + width <= r.x + r.width) > + contentX = r.x + r.width-width; > if (contentY >= r.y) > contentY = r.y; > else if (contentY + height <= r.y + staticHeight + > r.height) { > @@ -137,84 +136,22 @@ > width: parent.width > height: childrenRect.height > > - TextField { > - id: titleTextField > - height: units.gu(6) > - width: parent.width > - text: root.note ? root.note.title : "" > - placeholderText: i18n.tr("Untitled") > - font.pixelSize: units.gu(4) > - style: TextFieldStyle { > - background: null > - } > - } > - > - ThinDivider {} > - > - ValueSelector { > - id: notebookSelector > - width: parent.width > - text: values.notebook(selectedIndex).name > - property string selectedGuid: > values.notebook(selectedIndex) ? values.notebook(selectedIndex).guid : "" > - values: Notebooks {} > - > - // The ValueSelector is not customizable enough, > yet we wanna use the expanstion it provides. Let's just paint on top of it > - > - Rectangle { > - anchors { left: parent.left; right: > parent.right; top: parent.top } > - height: units.gu(6) > - color: "white" > - > - RowLayout { > - anchors.fill: parent > - anchors.margins: units.gu(1) > - > - Item { > - height: parent.height > - width: height > - Icon { > - anchors.fill: parent > - anchors.margins: units.gu(0.5) > - name: "notebook" > - color: > preferences.colorForNotebook(notebookSelector.values.notebook(notebookSelector.selectedIndex).guid) > - } > - } > - > - Label { > - text: > notebookSelector.values.notebook(notebookSelector.selectedIndex).name > - Layout.fillWidth: true > - color: > preferences.colorForNotebook(notebookSelector.values.notebook(notebookSelector.selectedIndex).guid) > - } > - RtfButton { > - iconName: root.note && > root.note.reminder ? "reminder" : "reminder-new" > - height: parent.height > - width: height > - iconColor: root.note && note.reminder ? > UbuntuColors.blue : Qt.rgba(0.0, 0.0, 0.0, 0.0) > - onClicked: { > - Qt.inputMethod.hide(); > - > pageStack.push(Qt.resolvedUrl("SetReminderPage.qml"), { note: root.note}); > - } > - } > - RtfButton { > - id: tagsButton > - iconSource: "../images/tags.svg" > - height: parent.height > - width: height > - onClicked: { > - Qt.inputMethod.hide(); > - PopupUtils.open(tagsDialog) > - } > - } > - } > - } > - } > - > - ThinDivider {} > + Header { > + id: header > + note: root.note > + > + onEditReminders: { > + > pageStack.push(Qt.resolvedUrl("SetReminderPage.qml"), { note: root.note}); > + } > + onEditTags: { > + > PopupUtils.open(Qt.resolvedUrl("../components/EditTagsDialog.qml"), root, { > note: root.note, pageHeight: root.height}); > + } > + } > > TextEdit { > id: noteTextArea > width: flick.width > - height: Math.max(flick.height - > notebookSelector.height - titleTextField.height, paintedHeight) > + height: Math.max(flick.height - header.height, > paintedHeight) > focus: true > wrapMode: TextEdit.Wrap > textFormat: TextEdit.RichText > @@ -415,11 +352,6 @@ > } > } > > - Component { > - id: tagsDialog > - EditTagsDialog { note: root.note; pageHeight: parent.height } > - } > - > Rectangle { > anchors.fill: toolbox > color: "#efefef" > > === modified file 'src/app/qml/ui/NotePage.qml' > --- src/app/qml/ui/NotePage.qml 2015-05-27 22:45:53 +0000 > +++ src/app/qml/ui/NotePage.qml 2015-06-16 23:45:03 +0000 > @@ -28,42 +28,14 @@ > property bool readOnly: false > > signal editNote(var note) > - signal openTaggedNotes(string title, string tagGuid) > > - head { > - actions: !root.readOnly ? normalActions : [] > - property list<Action> normalActions: [ > - Action { > - text: i18n.tr("Edit") > - iconName: "edit" > - onTriggered: { > - root.editNote(root.note) > - } > - }, > - Action { > - text: note.reminder ? i18n.tr("Edit reminder") : > i18n.tr("Set reminder") > - iconName: note.reminder ? "reminder" : "reminder-new" > - onTriggered: { > - pageStack.push(Qt.resolvedUrl("SetReminderPage.qml"), { > note: root.note}); > - } > - }, > - Action { > - text: i18n.tr("Delete") > - iconName: "delete" > - onTriggered: { > - NotesStore.deleteNote(note.guid); > - pagestack.pop(); > - } > - } > - ] > - } > > NoteView { > id: noteView > anchors.fill: parent > > - onOpenTaggedNotes: { > - root.openTaggedNotes(title, tagGuid); > + onEditNote: { > + root.editNote(root.note) > } > } > } > > === modified file 'src/app/qml/ui/NoteView.qml' > --- src/app/qml/ui/NoteView.qml 2015-05-27 21:04:57 +0000 > +++ src/app/qml/ui/NoteView.qml 2015-06-16 23:45:03 +0000 > @@ -17,19 +17,22 @@ > */ > > import QtQuick 2.3 > +import QtQuick.Layouts 1.1 > import Ubuntu.Components 1.1 > -import com.canonical.Oxide 1.0 > +import Ubuntu.Components.ListItems 1.0 > +import Ubuntu.Components.Popups 1.0 > +import com.canonical.Oxide 1.5 > import Ubuntu.Content 1.0 > import Evernote 0.1 > import "../components" > > Item { > id: root > - property string title: contentPeerPicker.visible ? "" > - : (note && note.title) ? note.title : > i18n.tr("Untitled") > +// property string title: contentPeerPicker.visible ? "" > +// : (note && note.title) ? note.title : > i18n.tr("Untitled") > property var note: null > > - signal openTaggedNotes(string title, string tagGuid) > + signal editNote() > > BouncingProgressBar { > anchors.top: parent.top > @@ -48,10 +51,41 @@ > ] > } > > + Rectangle { > + id: locationBar > + y: noteTextArea.locationBarController.offset > + anchors.left: parent.left > + anchors.right: parent.right > + height: headerContent.height > + color: "white" > + z: 2 > + > + Header { > + id: headerContent > + note: root.note > + editingEnabled: false > + > + onEditReminders: { > + print("pushing reminderspage", root.note.reminder) > + pageStack.push(Qt.resolvedUrl("SetReminderPage.qml"), { > note: root.note}); > + } > + onEditTags: { > + > PopupUtils.open(Qt.resolvedUrl("../components/EditTagsDialog.qml"), root, { > note: root.note, pageHeight: root.height }); > + } > + } > + } > + > WebView { > id: noteTextArea > - width: parent.width > - height: parent.height - tagsRow.height - (tagsRow.height > 0 ? > units.gu(2) : 0) > + anchors.fill: parent > + anchors.bottomMargin: buttonPanel.height > + > + locationBarController { > + height: locationBar.height > + mode: Oxide.LocationBarController.ModeAuto > + > + onOffsetChanged: print("offset:", offset) > + } > > property string html: root.note ? note.htmlContent : "" > > @@ -104,43 +138,49 @@ > ] > } > > - ListView { > - id: tagsRow > - anchors { left: parent.left; right: parent.right; bottom: > parent.bottom; margins: units.gu(1) } > - model: root.note ? root.note.tagGuids.length : undefined > - orientation: ListView.Horizontal > - spacing: units.gu(1) > - height: visible ? units.gu(3) : 0 > - visible: root.note ? root.note.tagGuids.length > 0 ? true : false : > false > - > - delegate: Rectangle { > - id: rectangle > - radius: units.gu(1) > - color: "white" > - border.color: > preferences.colorForNotebook(root.note.notebookGuid) > - > - Text { > - text: NotesStore.tag(root.note.tagGuids[index]).name > - color: preferences.colorForNotebook(root.note.notebookGuid) > - Component.onCompleted: { > - rectangle.width = width + units.gu(2) > - rectangle.height = height + units.gu(1) > - anchors.centerIn = parent > + Item { > + id: buttonPanel > + anchors { left: parent.left; right: parent.right; bottom: > parent.bottom } > + height: units.gu(6) > + > + RowLayout { > + anchors { left: parent.left; right: parent.right; fill: parent } > + anchors.margins: units.gu(1) > + height: units.gu(4) > + > + RtfButton { > + iconName: "tick" > + // TRANSLATORS: Button to close the note viewer > + text: i18n.tr("Close") > + height: parent.height > + iconColor: UbuntuColors.green > + onClicked: { > + pageStack.pop() > } > } > > - MouseArea { > - anchors.fill: parent > + RtfSeparator {} > + > + Item { > + Layout.fillWidth: true > + } > + > + RtfSeparator {} > + > + RtfButton { > + iconName: "edit" > + // TRANSLATORS: Button to go from note viewer to note editor > + text: i18n.tr("Edit") > + height: parent.height > + iconColor: UbuntuColors.green > onClicked: { > - if (!narrowMode) { > - sideViewLoader.clear(); > - } > - > root.openTaggedNotes(NotesStore.tag(root.note.tagGuids[index]).name, > NotesStore.tag(root.note.tagGuids[index]).guid) > + root.editNote() > } > } > } > } > > + I think you can remove this one :-) > ContentItem { > id: exportItem > name: i18n.tr("Attachment") > > === modified file 'src/app/qml/ui/SetReminderPage.qml' > --- src/app/qml/ui/SetReminderPage.qml 2014-09-23 12:39:27 +0000 > +++ src/app/qml/ui/SetReminderPage.qml 2015-06-16 23:45:03 +0000 > @@ -26,8 +26,6 @@ > title: setReminderView.title > property alias note: setReminderView.note > > - signal editNote(var note) > - > SetReminderView { > id: setReminderView > anchors.fill: parent > -- https://code.launchpad.net/~mzanetti/reminders-app/improve-viewer/+merge/262162 Your team Ubuntu Reminders app developers is requested to review the proposed merge of lp:~mzanetti/reminders-app/improve-viewer into lp:reminders-app. -- Mailing list: https://launchpad.net/~ubuntu-touch-coreapps-reviewers Post to : ubuntu-touch-coreapps-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-touch-coreapps-reviewers More help : https://help.launchpad.net/ListHelp