From 7d4d8f1963e23372aefcd66eea46c614680bb088 Mon Sep 17 00:00:00 2001 From: Michael Bohlender Date: Sun, 10 Jan 2016 11:00:04 +0100 Subject: kmail-mobile -> kube-mail-mobile --- applications/kmail-mobile/Avatar.qml | 54 ------ applications/kmail-mobile/ColorPalette.qml | 27 --- applications/kmail-mobile/ComposerView.qml | 127 -------------- applications/kmail-mobile/FolderListModel.qml | 81 --------- applications/kmail-mobile/FolderListView.qml | 121 ------------- applications/kmail-mobile/MailListModel.qml | 149 ---------------- applications/kmail-mobile/MailListView.qml | 197 ---------------------- applications/kmail-mobile/SingleMailView.qml | 171 ------------------- applications/kmail-mobile/main.qml | 51 ------ applications/kube-mail-mobile/Avatar.qml | 54 ++++++ applications/kube-mail-mobile/ColorPalette.qml | 27 +++ applications/kube-mail-mobile/ComposerView.qml | 127 ++++++++++++++ applications/kube-mail-mobile/FolderListModel.qml | 81 +++++++++ applications/kube-mail-mobile/FolderListView.qml | 121 +++++++++++++ applications/kube-mail-mobile/MailListModel.qml | 149 ++++++++++++++++ applications/kube-mail-mobile/MailListView.qml | 197 ++++++++++++++++++++++ applications/kube-mail-mobile/SingleMailView.qml | 171 +++++++++++++++++++ applications/kube-mail-mobile/main.qml | 51 ++++++ 18 files changed, 978 insertions(+), 978 deletions(-) delete mode 100644 applications/kmail-mobile/Avatar.qml delete mode 100644 applications/kmail-mobile/ColorPalette.qml delete mode 100644 applications/kmail-mobile/ComposerView.qml delete mode 100644 applications/kmail-mobile/FolderListModel.qml delete mode 100644 applications/kmail-mobile/FolderListView.qml delete mode 100644 applications/kmail-mobile/MailListModel.qml delete mode 100644 applications/kmail-mobile/MailListView.qml delete mode 100644 applications/kmail-mobile/SingleMailView.qml delete mode 100644 applications/kmail-mobile/main.qml create mode 100644 applications/kube-mail-mobile/Avatar.qml create mode 100644 applications/kube-mail-mobile/ColorPalette.qml create mode 100644 applications/kube-mail-mobile/ComposerView.qml create mode 100644 applications/kube-mail-mobile/FolderListModel.qml create mode 100644 applications/kube-mail-mobile/FolderListView.qml create mode 100644 applications/kube-mail-mobile/MailListModel.qml create mode 100644 applications/kube-mail-mobile/MailListView.qml create mode 100644 applications/kube-mail-mobile/SingleMailView.qml create mode 100644 applications/kube-mail-mobile/main.qml diff --git a/applications/kmail-mobile/Avatar.qml b/applications/kmail-mobile/Avatar.qml deleted file mode 100644 index 3d3ffb2e..00000000 --- a/applications/kmail-mobile/Avatar.qml +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 - -Rectangle { - - property string name; - - //TODO should we make this themeable ? - function calcColor(x) - { - switch (x % 5) { - case 0: - return "#16a085" - case 1: - return "#27ae60" - case 2: - return "#2980b9" - case 3: - return "#8e44ad" - case 4: - return "#c0392b" - } - } - - radius: 2 - - color: calcColor(name.length) - - Text { - anchors.centerIn: parent - - text: name.charAt(0) - - font.pointSize: unit.font.pixelSize * 1.2 - - color: "#ecf0f1" - } -} diff --git a/applications/kmail-mobile/ColorPalette.qml b/applications/kmail-mobile/ColorPalette.qml deleted file mode 100644 index c3993954..00000000 --- a/applications/kmail-mobile/ColorPalette.qml +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 - -//TODO probably expose it from the Cpp side -Item { - property string background: "#fcfcfc" - property string selected: "#3daee9" - property string read: "#232629" - property string border: "#232629" -} - diff --git a/applications/kmail-mobile/ComposerView.qml b/applications/kmail-mobile/ComposerView.qml deleted file mode 100644 index d2f478b0..00000000 --- a/applications/kmail-mobile/ComposerView.qml +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 -import QtQuick.Controls 1.3 -import QtQuick.Layouts 1.1 - -Item { - id: root - - property StackView stack - - //toolbar - ToolBar { - id: toolBar - - RowLayout { - - width: parent.width - - spacing: unit.width * 8 - - ToolButton { - iconName: "go-previous" - - onClicked: stack.pop() - } - - ToolButton { - iconName: "mail-reply-sender" - } - - //FIXME spacer? - Label { - text: "" - Layout.fillWidth: true - } - - ToolButton { - iconName: "mail-attachment" - } - - ToolButton { - iconName: "mail-send" - } - } - } - - //main content - Rectangle { - - anchors { - top: toolBar.bottom - right: parent.right - left: parent.left - bottom: parent.bottom - } - - color: colorPalette.background - - ColumnLayout { - - anchors { - top: parent.top - left: parent.left - right: parent.right - - margins: unit.width * 5 - - } - - spacing: unit.height - - RowLayout { - id: from - - width: parent.width - - spacing: unit.width * 5 - - Label { - text: "From" - } - - Button { - Layout.fillWidth: true - - text: "meep@monkey.com" - - } - - } - - RowLayout { - id: to - - width: parent.width - - spacing: unit.width * 5 - - Label { - text: "To" - } - - TextField { - Layout.fillWidth: true - - } - - } - } - } -} diff --git a/applications/kmail-mobile/FolderListModel.qml b/applications/kmail-mobile/FolderListModel.qml deleted file mode 100644 index 19093d51..00000000 --- a/applications/kmail-mobile/FolderListModel.qml +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 - -ListModel { - ListElement { - icon: "" - name: " kolabnow" - topLvl: true - } - ListElement { - icon: "mail-folder-inbox" - name: "Inbox" - } - ListElement { - icon: "mail-folder-sent" - name: "Sent" - } - ListElement { - icon: "user-trash" - name: "Trash" - } - ListElement { - icon: "document-edit" - name: "Drafts" - } - - ListElement { - icon: "folder" - name: "dragons" - } - ListElement { - icon: "folder" - name: "long tailed dragons" - } - - ListElement { - icon: "" - name: " campus.lmu.de" - topLvl: true - } - ListElement { - icon: "mail-folder-inbox" - name: "Inbox" - } - ListElement { - icon: "mail-folder-sent" - name: "Sent" - } - ListElement { - icon: "user-trash" - name: "Trash" - } - ListElement { - icon: "document-edit" - name: "Drafts" - } - ListElement { - icon: "folder" - name: "pim" - } - ListElement { - icon: "folder" - name: "vdg" - } -} diff --git a/applications/kmail-mobile/FolderListView.qml b/applications/kmail-mobile/FolderListView.qml deleted file mode 100644 index 1baa03b6..00000000 --- a/applications/kmail-mobile/FolderListView.qml +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 -import QtQuick.Controls 1.3 -import QtQuick.Layouts 1.1 - -Item { - id: root - - property StackView stack; - - //toolbar - ToolBar { - id: toolBar - - RowLayout { - - width: parent.width - - spacing: unit.width * 5 - - ToolButton { - anchors.right: parent.right - - iconName: "system-search" - } - } - } - - //main content - ListView { - - anchors { - top: toolBar.bottom - right: parent.right - left: parent.left - bottom: parent.bottom - } - - clip: true - - model: FolderListModel { } - - - delegate: Item { - - height: unit.width * 20 - width: parent.width - - MouseArea { - id: mouseArea - - anchors.fill: parent - - onClicked: { - stack.push({"item": Qt.resolvedUrl("MailListView.qml"), properties: {stack: stack, folderId: model.name}}) - } - } - - //background - Rectangle { - anchors.fill: parent - - color: colorPalette.background - } - - //clickColor - Rectangle { - id: clickColor - anchors.fill: parent - - color: colorPalette.selected - opacity: 0.4 - - visible: mouseArea.pressed - } - - //FIXME without useing PlasmaComponents - ToolButton { - id: icon - - anchors { - verticalCenter: parent.verticalCenter - left: parent.left - leftMargin: unit.width * 10 - } - - iconName: model.icon - - } - - Label { - - anchors{ - left: icon.right - leftMargin: unit.width * 15 - verticalCenter: icon.verticalCenter - } - - text: model.name - - font.weight: model.topLvl ? Font.DemiBold : Font.Normal - } - } - } -} diff --git a/applications/kmail-mobile/MailListModel.qml b/applications/kmail-mobile/MailListModel.qml deleted file mode 100644 index 4b425b90..00000000 --- a/applications/kmail-mobile/MailListModel.qml +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 - -ListModel { - ListElement { - sender: "mighty@mail.com" - senderName: "Mighty Monkey" - subject: "I feel weak without my bananas" - date: "Today 19:21" - unread: true - } - ListElement { - sender: "benni@bandana.org" - senderName: "Ben Bandana" - subject: "Check this out" - date: "Today 16:01" - unread: true - } - ListElement { - sender: "alice@mail.com" - senderName: "Alice Cheng" - subject: "Re: We need more food" - date: "Today 12:55" - unread: false - } - ListElement { - sender: "bob@bandana.org" - senderName: "Bob Ross" - subject: "KDE Rocks" - date: "Today 07:32" - unread: true - } - ListElement { - sender: "tiny@mail.com" - senderName: "Tiny" - subject: "Huge success!!" - date: "Today 00:11" - unread: false - } - ListElement { - sender: "bob@bandana.org" - senderName: "Bob Ross" - subject: "KDE Rocks" - date: "Yesterday 20:54" - unread: false - } - ListElement { - sender: "Laura@mail.com" - senderName: "Laura B" - subject: ":)" - date: "Monday 12:37" - unread: false - } - ListElement { - sender: "Andreas@stars.org" - senderName: "Andreas Rockstar" - subject: "KDE Rocks" - date: "Monday 12:37" - unread: false - } - ListElement { - sender: "alice@mail.com" - senderName: "Alice Cheng" - subject: "Re: We need more food" - date: "Monday 12:37" - } - ListElement { - sender: "bob@bandana.org" - senderName: "Bob Ross" - subject: "KDE Rocks" - date: "Monday 12:37" - } - ListElement { - sender: "mighty@mail.com" - senderName: "Mighty Monkey" - subject: "I feel weak without my bananas" - date: "2 hours ago" - } - ListElement { - sender: "benni@bandana.org" - senderName: "Ben Bandana" - subject: "Check this out" - date: "8 hours ago" - } - ListElement { - sender: "alice@mail.com" - senderName: "Alice Cheng" - subject: "Re: We need more food" - date: "2 hours ago" - } - ListElement { - sender: "bob@bandana.org" - senderName: "Bob Ross" - subject: "KDE Rocks" - date: "8 hours ago" - } - ListElement { - sender: "tiny@mail.com" - senderName: "Tiny" - subject: "Huge success!!" - date: "2 hours ago" - } - ListElement { - sender: "bob@bandana.org" - senderName: "Bob Ross" - subject: "KDE Rocks" - date: "8 hours ago" - } - ListElement { - sender: "Laura@mail.com" - senderName: "Laura B" - subject: ":)" - date: "2 hours ago" - } - ListElement { - sender: "Andreas@stars.org" - senderName: "Andreas Rockstar" - subject: "KDE Rocks" - date: "8 hours ago" - } - ListElement { - sender: "alice@mail.com" - senderName: "Alice Cheng" - subject: "Re: We need more food" - date: "2 hours ago" - } - ListElement { - sender: "bob@bandana.org" - senderName: "Bob Ross" - subject: "Board Task: Write draft email to people with KDE accounts commiting to Qt repositories" - date: "8 hours ago" - } -} diff --git a/applications/kmail-mobile/MailListView.qml b/applications/kmail-mobile/MailListView.qml deleted file mode 100644 index 869ce5e5..00000000 --- a/applications/kmail-mobile/MailListView.qml +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 -import QtQuick.Controls 1.3 -import QtQuick.Layouts 1.1 - -Item { - id: root - - property StackView stack; - property string folderId; - - //toolbar - ToolBar { - id: toolBar - - RowLayout { - - width: parent.width - - spacing: unit.width * 8 - - ToolButton { - iconName: "go-previous" - - onClicked: stack.pop() - } - - Label { - Layout.fillWidth: true - - text: "Current Folder Name" - } - - ToolButton { - anchors.right: parent.right - - iconName: "system-search" - } - } - } - - //main content - ListView { - id: listView - - anchors { - top: toolBar.bottom - right: parent.right - left: parent.left - bottom: parent.bottom - } - - clip: true - - model: MailListModel { } - - delegate: Item { - id: delegateRoot - - readonly property bool isCurrentItem: ListView.isCurrentItem - - height: unit.width * 25 - width: parent.width - - MouseArea { - id: mouseArea - - anchors.fill: parent - - onClicked: { - stack.push({"item": Qt.resolvedUrl("SingleMailView.qml"), properties: {stack: stack}}) - } - } - - Rectangle { - anchors.fill: parent - - color: colorPalette.background - - - //read - Rectangle { - anchors.fill: parent - - color: colorPalette.read - opacity: 0.1 - - visible: delegateRoot.isCurrentItem !== model.index && model.unread === false - } - - //clickColor - Rectangle { - id: clickColor - anchors.fill: parent - - color: colorPalette.selected - opacity: 0.4 - - visible: mouseArea.pressed - } - - //border - Rectangle { - anchors { - bottom: parent.bottom - } - - height: 1 - width: parent.width - - color: "#232629" //FIXME themeable? - opacity: 0.2 - } - } - - - Avatar { - id: avatar - anchors { - verticalCenter: parent.verticalCenter - left: parent.left - leftMargin: unit.width * 4 - } - - width: unit.width * 15 - height: unit.width * 15 - - name: model.senderName - - } - - Label { - id: senderName - - anchors { - top: avatar.top - left: avatar.right - right: parent.right - leftMargin: unit.width * 2 - rightMargin: unit.width * 2 - } - - text: model.senderName - - font.pointSize: 12 //FIXME ? - } - - Label { - id: subject - - anchors { - top: senderName.bottom - left: senderName.left - right: parent.right - - topMargin: unit.width * 2 - rightMargin: unit.width * 2 - } - - text: model.subject - - font.weight: Font.DemiBold - } - - Label { - id: date - - anchors { - top: avatar.top - right: parent.right - rightMargin: unit.width * 2 - } - - text: model.date - - font.weight: Font.Light - font.italic: true - } - } - } -} diff --git a/applications/kmail-mobile/SingleMailView.qml b/applications/kmail-mobile/SingleMailView.qml deleted file mode 100644 index ae184c4a..00000000 --- a/applications/kmail-mobile/SingleMailView.qml +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 -import QtQuick.Controls 1.3 -import QtQuick.Layouts 1.1 - -Item { - id: root - - property StackView stack; - property string mailId; - - //toolbar - ToolBar { - id: toolBar - - RowLayout { - - width: parent.width - - spacing: unit.width * 8 - - ToolButton { - iconName: "go-previous" - - onClicked: stack.pop() - } - - //FIXME - Row { - anchors.horizontalCenter: parent.horizontalCenter - - spacing: unit.width * 8 - - ToolButton { - iconName: "mail-mark-unread-new" - } - ToolButton { - iconName: "mail-mark-important" - } - ToolButton { - iconName: "user-trash" - } - } - - ToolButton { - - anchors.right: parent.right - - iconName: "mail-reply-sender" - - onClicked: stack.push({"item": Qt.resolvedUrl("ComposerView.qml"), properties: {stack: stack}}) - } - } - } - - //main content - Item { - - anchors { - top: toolBar.bottom - right: parent.right - left: parent.left - bottom: parent.bottom - } - - Item { - id: model - property string subject: "We need more Food" - property string sender: "Alice Trump" - property string senderAddress: "alice@wonderland.net" - property string cc: "vdg@kde.org; ross@ccmail.com" - property string time: "2 days ago" - property string body: "Hi Bob, \n \n Ut nibh massa, volutpat quis diam quis, tincidunt consectetur massa. Nulla eu ultricies justo, eu aliquam lacus. Maecenas at interdum est, at luctus nibh. Quisque scelerisque consequat lectus vitae egestas. Maecenas molestie risus id enim consequat dapibus. Ut dapibus hendrerit est, ut aliquam ex fringilla commodo. Donec rutrum consectetur dapibus. Fusce hendrerit pulvinar lacinia. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent semper sit amet elit ut volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae. \n \n Cheers, \n \n Alice" - } - - Rectangle { - id: background - - anchors.fill: parent - - color: colorPalette.background - } - - Item { - anchors { - fill: parent - margins: unit.width * 10 - } - - Column { - id: content - - width: parent.width - - spacing: unit.width * 5 - - - Label { - text: model.subject - - font.pixelSize: 22 // Fixme - } - - //FIXME use propper avatar or avatar replacement - //Rectangle { - - Item { - height: avatar.height - width: parent.width - - Avatar { - id: avatar - - width: unit.width * 15 - height: unit.width * 15 - - name: model.sender - } - - Label { - - anchors { - left: avatar.right - top: avatar.top - leftMargin: unit.width * 3 - } - - text: model.senderAddress - } - - Label { - anchors { - left: avatar.right - bottom: avatar.bottom - leftMargin: unit.width * 3 - } - - text: "CC: " + model.cc - - } - } - - Label { - - width: parent.width - - wrapMode: Text.WordWrap - - text: model.body - - } - } - } - } -} diff --git a/applications/kmail-mobile/main.qml b/applications/kmail-mobile/main.qml deleted file mode 100644 index 751c080c..00000000 --- a/applications/kmail-mobile/main.qml +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2015 Michael Bohlender - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * 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 . - */ - -import QtQuick 2.4 -import QtQuick.Controls 1.3 -import QtQuick.Layouts 1.1 - -ApplicationWindow { - id: app - - //FIXME remove fixed pixel hight - //for now just convinience during testing - width: 1080 / 2.7 - height: (1920 - 40)/ 2.7 - - visible: true - - StackView { - id: stack - - anchors.fill: parent - - //TODO set akonadi folderId property - initialItem: {"item": Qt.resolvedUrl("FolderListView.qml"),properties: {stack: stack}} - } - - //FIXME use whatever the plasma standart is - Label { - id: unit - - text: " " - } - - ColorPalette { - id: colorPalette - } -} \ No newline at end of file diff --git a/applications/kube-mail-mobile/Avatar.qml b/applications/kube-mail-mobile/Avatar.qml new file mode 100644 index 00000000..3d3ffb2e --- /dev/null +++ b/applications/kube-mail-mobile/Avatar.qml @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 + +Rectangle { + + property string name; + + //TODO should we make this themeable ? + function calcColor(x) + { + switch (x % 5) { + case 0: + return "#16a085" + case 1: + return "#27ae60" + case 2: + return "#2980b9" + case 3: + return "#8e44ad" + case 4: + return "#c0392b" + } + } + + radius: 2 + + color: calcColor(name.length) + + Text { + anchors.centerIn: parent + + text: name.charAt(0) + + font.pointSize: unit.font.pixelSize * 1.2 + + color: "#ecf0f1" + } +} diff --git a/applications/kube-mail-mobile/ColorPalette.qml b/applications/kube-mail-mobile/ColorPalette.qml new file mode 100644 index 00000000..c3993954 --- /dev/null +++ b/applications/kube-mail-mobile/ColorPalette.qml @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 + +//TODO probably expose it from the Cpp side +Item { + property string background: "#fcfcfc" + property string selected: "#3daee9" + property string read: "#232629" + property string border: "#232629" +} + diff --git a/applications/kube-mail-mobile/ComposerView.qml b/applications/kube-mail-mobile/ComposerView.qml new file mode 100644 index 00000000..d2f478b0 --- /dev/null +++ b/applications/kube-mail-mobile/ComposerView.qml @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 +import QtQuick.Controls 1.3 +import QtQuick.Layouts 1.1 + +Item { + id: root + + property StackView stack + + //toolbar + ToolBar { + id: toolBar + + RowLayout { + + width: parent.width + + spacing: unit.width * 8 + + ToolButton { + iconName: "go-previous" + + onClicked: stack.pop() + } + + ToolButton { + iconName: "mail-reply-sender" + } + + //FIXME spacer? + Label { + text: "" + Layout.fillWidth: true + } + + ToolButton { + iconName: "mail-attachment" + } + + ToolButton { + iconName: "mail-send" + } + } + } + + //main content + Rectangle { + + anchors { + top: toolBar.bottom + right: parent.right + left: parent.left + bottom: parent.bottom + } + + color: colorPalette.background + + ColumnLayout { + + anchors { + top: parent.top + left: parent.left + right: parent.right + + margins: unit.width * 5 + + } + + spacing: unit.height + + RowLayout { + id: from + + width: parent.width + + spacing: unit.width * 5 + + Label { + text: "From" + } + + Button { + Layout.fillWidth: true + + text: "meep@monkey.com" + + } + + } + + RowLayout { + id: to + + width: parent.width + + spacing: unit.width * 5 + + Label { + text: "To" + } + + TextField { + Layout.fillWidth: true + + } + + } + } + } +} diff --git a/applications/kube-mail-mobile/FolderListModel.qml b/applications/kube-mail-mobile/FolderListModel.qml new file mode 100644 index 00000000..19093d51 --- /dev/null +++ b/applications/kube-mail-mobile/FolderListModel.qml @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 + +ListModel { + ListElement { + icon: "" + name: " kolabnow" + topLvl: true + } + ListElement { + icon: "mail-folder-inbox" + name: "Inbox" + } + ListElement { + icon: "mail-folder-sent" + name: "Sent" + } + ListElement { + icon: "user-trash" + name: "Trash" + } + ListElement { + icon: "document-edit" + name: "Drafts" + } + + ListElement { + icon: "folder" + name: "dragons" + } + ListElement { + icon: "folder" + name: "long tailed dragons" + } + + ListElement { + icon: "" + name: " campus.lmu.de" + topLvl: true + } + ListElement { + icon: "mail-folder-inbox" + name: "Inbox" + } + ListElement { + icon: "mail-folder-sent" + name: "Sent" + } + ListElement { + icon: "user-trash" + name: "Trash" + } + ListElement { + icon: "document-edit" + name: "Drafts" + } + ListElement { + icon: "folder" + name: "pim" + } + ListElement { + icon: "folder" + name: "vdg" + } +} diff --git a/applications/kube-mail-mobile/FolderListView.qml b/applications/kube-mail-mobile/FolderListView.qml new file mode 100644 index 00000000..1baa03b6 --- /dev/null +++ b/applications/kube-mail-mobile/FolderListView.qml @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 +import QtQuick.Controls 1.3 +import QtQuick.Layouts 1.1 + +Item { + id: root + + property StackView stack; + + //toolbar + ToolBar { + id: toolBar + + RowLayout { + + width: parent.width + + spacing: unit.width * 5 + + ToolButton { + anchors.right: parent.right + + iconName: "system-search" + } + } + } + + //main content + ListView { + + anchors { + top: toolBar.bottom + right: parent.right + left: parent.left + bottom: parent.bottom + } + + clip: true + + model: FolderListModel { } + + + delegate: Item { + + height: unit.width * 20 + width: parent.width + + MouseArea { + id: mouseArea + + anchors.fill: parent + + onClicked: { + stack.push({"item": Qt.resolvedUrl("MailListView.qml"), properties: {stack: stack, folderId: model.name}}) + } + } + + //background + Rectangle { + anchors.fill: parent + + color: colorPalette.background + } + + //clickColor + Rectangle { + id: clickColor + anchors.fill: parent + + color: colorPalette.selected + opacity: 0.4 + + visible: mouseArea.pressed + } + + //FIXME without useing PlasmaComponents + ToolButton { + id: icon + + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + leftMargin: unit.width * 10 + } + + iconName: model.icon + + } + + Label { + + anchors{ + left: icon.right + leftMargin: unit.width * 15 + verticalCenter: icon.verticalCenter + } + + text: model.name + + font.weight: model.topLvl ? Font.DemiBold : Font.Normal + } + } + } +} diff --git a/applications/kube-mail-mobile/MailListModel.qml b/applications/kube-mail-mobile/MailListModel.qml new file mode 100644 index 00000000..4b425b90 --- /dev/null +++ b/applications/kube-mail-mobile/MailListModel.qml @@ -0,0 +1,149 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 + +ListModel { + ListElement { + sender: "mighty@mail.com" + senderName: "Mighty Monkey" + subject: "I feel weak without my bananas" + date: "Today 19:21" + unread: true + } + ListElement { + sender: "benni@bandana.org" + senderName: "Ben Bandana" + subject: "Check this out" + date: "Today 16:01" + unread: true + } + ListElement { + sender: "alice@mail.com" + senderName: "Alice Cheng" + subject: "Re: We need more food" + date: "Today 12:55" + unread: false + } + ListElement { + sender: "bob@bandana.org" + senderName: "Bob Ross" + subject: "KDE Rocks" + date: "Today 07:32" + unread: true + } + ListElement { + sender: "tiny@mail.com" + senderName: "Tiny" + subject: "Huge success!!" + date: "Today 00:11" + unread: false + } + ListElement { + sender: "bob@bandana.org" + senderName: "Bob Ross" + subject: "KDE Rocks" + date: "Yesterday 20:54" + unread: false + } + ListElement { + sender: "Laura@mail.com" + senderName: "Laura B" + subject: ":)" + date: "Monday 12:37" + unread: false + } + ListElement { + sender: "Andreas@stars.org" + senderName: "Andreas Rockstar" + subject: "KDE Rocks" + date: "Monday 12:37" + unread: false + } + ListElement { + sender: "alice@mail.com" + senderName: "Alice Cheng" + subject: "Re: We need more food" + date: "Monday 12:37" + } + ListElement { + sender: "bob@bandana.org" + senderName: "Bob Ross" + subject: "KDE Rocks" + date: "Monday 12:37" + } + ListElement { + sender: "mighty@mail.com" + senderName: "Mighty Monkey" + subject: "I feel weak without my bananas" + date: "2 hours ago" + } + ListElement { + sender: "benni@bandana.org" + senderName: "Ben Bandana" + subject: "Check this out" + date: "8 hours ago" + } + ListElement { + sender: "alice@mail.com" + senderName: "Alice Cheng" + subject: "Re: We need more food" + date: "2 hours ago" + } + ListElement { + sender: "bob@bandana.org" + senderName: "Bob Ross" + subject: "KDE Rocks" + date: "8 hours ago" + } + ListElement { + sender: "tiny@mail.com" + senderName: "Tiny" + subject: "Huge success!!" + date: "2 hours ago" + } + ListElement { + sender: "bob@bandana.org" + senderName: "Bob Ross" + subject: "KDE Rocks" + date: "8 hours ago" + } + ListElement { + sender: "Laura@mail.com" + senderName: "Laura B" + subject: ":)" + date: "2 hours ago" + } + ListElement { + sender: "Andreas@stars.org" + senderName: "Andreas Rockstar" + subject: "KDE Rocks" + date: "8 hours ago" + } + ListElement { + sender: "alice@mail.com" + senderName: "Alice Cheng" + subject: "Re: We need more food" + date: "2 hours ago" + } + ListElement { + sender: "bob@bandana.org" + senderName: "Bob Ross" + subject: "Board Task: Write draft email to people with KDE accounts commiting to Qt repositories" + date: "8 hours ago" + } +} diff --git a/applications/kube-mail-mobile/MailListView.qml b/applications/kube-mail-mobile/MailListView.qml new file mode 100644 index 00000000..869ce5e5 --- /dev/null +++ b/applications/kube-mail-mobile/MailListView.qml @@ -0,0 +1,197 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 +import QtQuick.Controls 1.3 +import QtQuick.Layouts 1.1 + +Item { + id: root + + property StackView stack; + property string folderId; + + //toolbar + ToolBar { + id: toolBar + + RowLayout { + + width: parent.width + + spacing: unit.width * 8 + + ToolButton { + iconName: "go-previous" + + onClicked: stack.pop() + } + + Label { + Layout.fillWidth: true + + text: "Current Folder Name" + } + + ToolButton { + anchors.right: parent.right + + iconName: "system-search" + } + } + } + + //main content + ListView { + id: listView + + anchors { + top: toolBar.bottom + right: parent.right + left: parent.left + bottom: parent.bottom + } + + clip: true + + model: MailListModel { } + + delegate: Item { + id: delegateRoot + + readonly property bool isCurrentItem: ListView.isCurrentItem + + height: unit.width * 25 + width: parent.width + + MouseArea { + id: mouseArea + + anchors.fill: parent + + onClicked: { + stack.push({"item": Qt.resolvedUrl("SingleMailView.qml"), properties: {stack: stack}}) + } + } + + Rectangle { + anchors.fill: parent + + color: colorPalette.background + + + //read + Rectangle { + anchors.fill: parent + + color: colorPalette.read + opacity: 0.1 + + visible: delegateRoot.isCurrentItem !== model.index && model.unread === false + } + + //clickColor + Rectangle { + id: clickColor + anchors.fill: parent + + color: colorPalette.selected + opacity: 0.4 + + visible: mouseArea.pressed + } + + //border + Rectangle { + anchors { + bottom: parent.bottom + } + + height: 1 + width: parent.width + + color: "#232629" //FIXME themeable? + opacity: 0.2 + } + } + + + Avatar { + id: avatar + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + leftMargin: unit.width * 4 + } + + width: unit.width * 15 + height: unit.width * 15 + + name: model.senderName + + } + + Label { + id: senderName + + anchors { + top: avatar.top + left: avatar.right + right: parent.right + leftMargin: unit.width * 2 + rightMargin: unit.width * 2 + } + + text: model.senderName + + font.pointSize: 12 //FIXME ? + } + + Label { + id: subject + + anchors { + top: senderName.bottom + left: senderName.left + right: parent.right + + topMargin: unit.width * 2 + rightMargin: unit.width * 2 + } + + text: model.subject + + font.weight: Font.DemiBold + } + + Label { + id: date + + anchors { + top: avatar.top + right: parent.right + rightMargin: unit.width * 2 + } + + text: model.date + + font.weight: Font.Light + font.italic: true + } + } + } +} diff --git a/applications/kube-mail-mobile/SingleMailView.qml b/applications/kube-mail-mobile/SingleMailView.qml new file mode 100644 index 00000000..ae184c4a --- /dev/null +++ b/applications/kube-mail-mobile/SingleMailView.qml @@ -0,0 +1,171 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 +import QtQuick.Controls 1.3 +import QtQuick.Layouts 1.1 + +Item { + id: root + + property StackView stack; + property string mailId; + + //toolbar + ToolBar { + id: toolBar + + RowLayout { + + width: parent.width + + spacing: unit.width * 8 + + ToolButton { + iconName: "go-previous" + + onClicked: stack.pop() + } + + //FIXME + Row { + anchors.horizontalCenter: parent.horizontalCenter + + spacing: unit.width * 8 + + ToolButton { + iconName: "mail-mark-unread-new" + } + ToolButton { + iconName: "mail-mark-important" + } + ToolButton { + iconName: "user-trash" + } + } + + ToolButton { + + anchors.right: parent.right + + iconName: "mail-reply-sender" + + onClicked: stack.push({"item": Qt.resolvedUrl("ComposerView.qml"), properties: {stack: stack}}) + } + } + } + + //main content + Item { + + anchors { + top: toolBar.bottom + right: parent.right + left: parent.left + bottom: parent.bottom + } + + Item { + id: model + property string subject: "We need more Food" + property string sender: "Alice Trump" + property string senderAddress: "alice@wonderland.net" + property string cc: "vdg@kde.org; ross@ccmail.com" + property string time: "2 days ago" + property string body: "Hi Bob, \n \n Ut nibh massa, volutpat quis diam quis, tincidunt consectetur massa. Nulla eu ultricies justo, eu aliquam lacus. Maecenas at interdum est, at luctus nibh. Quisque scelerisque consequat lectus vitae egestas. Maecenas molestie risus id enim consequat dapibus. Ut dapibus hendrerit est, ut aliquam ex fringilla commodo. Donec rutrum consectetur dapibus. Fusce hendrerit pulvinar lacinia. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent semper sit amet elit ut volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae. \n \n Cheers, \n \n Alice" + } + + Rectangle { + id: background + + anchors.fill: parent + + color: colorPalette.background + } + + Item { + anchors { + fill: parent + margins: unit.width * 10 + } + + Column { + id: content + + width: parent.width + + spacing: unit.width * 5 + + + Label { + text: model.subject + + font.pixelSize: 22 // Fixme + } + + //FIXME use propper avatar or avatar replacement + //Rectangle { + + Item { + height: avatar.height + width: parent.width + + Avatar { + id: avatar + + width: unit.width * 15 + height: unit.width * 15 + + name: model.sender + } + + Label { + + anchors { + left: avatar.right + top: avatar.top + leftMargin: unit.width * 3 + } + + text: model.senderAddress + } + + Label { + anchors { + left: avatar.right + bottom: avatar.bottom + leftMargin: unit.width * 3 + } + + text: "CC: " + model.cc + + } + } + + Label { + + width: parent.width + + wrapMode: Text.WordWrap + + text: model.body + + } + } + } + } +} diff --git a/applications/kube-mail-mobile/main.qml b/applications/kube-mail-mobile/main.qml new file mode 100644 index 00000000..751c080c --- /dev/null +++ b/applications/kube-mail-mobile/main.qml @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2015 Michael Bohlender + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +import QtQuick 2.4 +import QtQuick.Controls 1.3 +import QtQuick.Layouts 1.1 + +ApplicationWindow { + id: app + + //FIXME remove fixed pixel hight + //for now just convinience during testing + width: 1080 / 2.7 + height: (1920 - 40)/ 2.7 + + visible: true + + StackView { + id: stack + + anchors.fill: parent + + //TODO set akonadi folderId property + initialItem: {"item": Qt.resolvedUrl("FolderListView.qml"),properties: {stack: stack}} + } + + //FIXME use whatever the plasma standart is + Label { + id: unit + + text: " " + } + + ColorPalette { + id: colorPalette + } +} \ No newline at end of file -- cgit v1.2.3 From 3bb9bbf8792097058b6fbc1953850836e59b1514 Mon Sep 17 00:00:00 2001 From: Michael Bohlender Date: Sun, 10 Jan 2016 11:10:38 +0100 Subject: usecases from our ux session --- docs/usecases.md | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 docs/usecases.md diff --git a/docs/usecases.md b/docs/usecases.md new file mode 100644 index 00000000..4d08d9f7 --- /dev/null +++ b/docs/usecases.md @@ -0,0 +1,162 @@ + +U1 Finding mail +U 1.1 As a user I want to see my unread mail. # +U 1.2 As a user I want to see my important mail +U 1.3 As a user I want to see the latest mail from a specific folder # +U 1.4 As a user I want to see the latest mail from a specific account +U 1.5 As a user I want to see the latest mail from all accounts +U 1.6 As a user I want to search for a specific email # +U1.6.1 by search string matching the full mail # +U 1.7 As a user I want to get an overview over how many unread mails I have (in my inbox) # +U 1.8 As a user I want to be notified about incoming mail +U 1.8.1 As a user I want to be able to set filterrules for incoming mail notifications + +U 1.9 As a user I want to go though my mail by thread +U 1.10 As a user I want to find my emails by date range +U 1.11 As a user I want to find emails by sender + + +U 1.? As a user I want to regularly see mails that match a custom search query + + + +U2 Managing mail (B is for bulk) +U 2.1 As a user I want to delete an email (B) # +U 2.2 As a user I want to mark an email as read/unread (B) # +U 2.3 As a user I want to mark an enail as imporatnt/not important (B) # +U 2.4 As a user I want to organize my emails into folders # +U 2.4.1 As a user I want to create a folder # +U 2.4.2 As a user I want to remove a folder # +U 2.4.3 As a user I want to move a folder # +U 2.4.4 As a user I want to move an email to a folder (B) # +U 2.4.5 As a user I want to copy an email to a folder (B) ??? # +U 2.4.6 As a user I want to set remote filter rules to automatically sort my incoming emails into folders +U 2.4.7 As a user I want to set local filter rules to automatically sort my incoming emails into folders +U 2.4.8 As a user I want to hide folders +U 2.4.9 As a user I want to bookmark my favourite folder + + +U 2-? As a user I want to archive an email (B) ??? +U 2-? As a user I want to print an email ??? +U 2-? As a user I want to mark email as spam (B) ??? + +U3 Reading mail +U 3.I As a user I want to read an email # +U 3.2 As a user I want to add the sender to my addressbook +U 3.3 As a user I want to reply to an email # +U 3.3.1 As a user I want to reply to all # +U 3.3.2 As a user I want to reply to sender # +U 3.4 As a user I want to forward an email # +U 3.5 As a user I want to open an attachemnt # +U 3.6 As a user I want to save an attachment # +U 3.7 As a user I want view attachments inline +U 3.7.1 vcard +U 3.8 As a user I want to read html mails + + + +U4 Writing email +U 4.1 As a user I want to write an email from scratch # +U 4.2 As a user I want to write an email from draft # +U 4.3 As a user I want to write an email from template +U 4.5 As a user I want to specify the subject # +U 4.6 As a user I want to add recievers (to / cc / bcc) # +U 4.6.1 from addressbook +U 4.6.2 from previous receivers / senders +U 4.6.3 by hand # +U 4.6.4 from ldap # +U 4.7 As a user I want to handle attachments # +U 4.7.1 As a user I want to add an attachment # +U 4.7.1.2 … from the cloud # +U 4.7.2 As a user I want to remove an attachment # +U 4.7.3 As a user I want to rename an attachment +U 4.7.4 As a user I want to shrink an attachment ??? +U 4.7.5 As a user I want to be warned about not having an attachment +U 4.8 As a user I want to write html mails +U 4.9 As a user I want to encrypt my mails +U 4.9.1 by hand +U 4.9.2 by policy +U 4.10 As a user I want to sign my messages +U 4.10.1 by hand +U 4.10.2 by policy +U 4.11 As a user I want to attach a signature to my mails +U 4.12 As a user I want to have my emails spellchecked + +U 4.13 Send email from specific account +U 4.15 As a user I want to be able to send my email at a later time specified by me. + + +U 5 Account settup / configuration +U5.1 As a user I want to set up a Kolab Now account +U 5.2 As a user I want to set up a custom Kolab account #? +U 5.3 As a user I want to set up a maildir account # +U 5.4 As a user I want to set up a imap account (including smtp) #? +U 5.4.1 As a user I want to specify my Draft / Trash / Sent folder +U 5.5 As a user I want to delete an account +U 5.6 As a user I want to modify an account +U 5.6.1 As a user I want to add/modify/delete and additional identity +U 5.7 As a user I want to temporarily disable an account +U 5.8 As a user I want to see the online/offline state of my accounts + +U 6 Crypto +U 6.1 As a user I want to be able to + +U 7 Syncronize with server +U 7.1 As a user I want to specify which folder get synced +U 7.2 As a user I want to specfy how many email per folder get synced +U 7.3 As a user I want to specify the sync intervals +U 7.4 As a user I want to manually controll the sync +U 7.5 As a user I want to be able to folder sync priorities + + +U 10 Special features +U 10.1 As a user I want to set my out of office status +U 10.2 As a user I want to be only load a partial mail (mobile) + + + + + + + + + + + + + +Calendar + +U 1 viewing schedule + +U 1.1 As a user I want to know what is on the agenda for today +U 1.2 As a user I want to get an overview over what is coming next week / month +U 1.3 As a user I want to see when I have free timeslots +U 1.4 As a user I want to be reminded about upcoming events +U 1.5 As a user I want to see the schedule of my colleagues +U 1.6 As a user I want to search for an event +U 1.7 As a user I want to see the deadlines for my tasks in the calendar +U 1.8 As a user I want to see the start date for my tasks + +U 2 Creating and Importing and Exporting +U 2.1 As a user I want to create a new event from scratch +U 2.2 As a user I want to import a calandar (e.g. university schedule) +U 2.3 As a user I want to import an event +U 2.4 As a user I want to export an event +U 2.5 As a user I want to export a calendar +U 2.6 As a user I want to publish an event +U 2.6.1 by sending it by email + +U 3 Invitations +U 3.1 As a user I want to invite people to an event +U 3.2 As a user I want to schedule an event +U 3.2.1 with my colleagues +U 3.2.2 with external people (and my colleagues) +U 3.3 As a user I want to react to invitations +U 3.3.1 As a user I want to see if I have time for an event I was invited to +U 3.3.2 As a user I want to decline an invitation +U 3.3.3 As a user I want to accept an invitation and add it to my calendar +U 3.3.4 As a user I want to propose a different timeslot for an event +U 3.3.5 As a user I want to restart the scheduling process to find a different time slot +U 3.4 As a user I want to get an overview over pending invitations I sent +U 3.5 As a user I want to get an overview over new / incoming invitations \ No newline at end of file -- cgit v1.2.3 From 369bf247d2e9f869418dd883fae5d337f6b47b2e Mon Sep 17 00:00:00 2001 From: Michael Bohlender Date: Sun, 10 Jan 2016 11:56:05 +0100 Subject: add license information to framework/mail files --- framework/mail/folderlistcontroller.cpp | 20 ++++++++++++++++++++ framework/mail/folderlistcontroller.h | 20 ++++++++++++++++++++ framework/mail/folderlistmodel.cpp | 20 ++++++++++++++++++++ framework/mail/folderlistmodel.h | 20 ++++++++++++++++++++ framework/mail/maillistcontroller.cpp | 20 ++++++++++++++++++++ framework/mail/maillistcontroller.h | 20 ++++++++++++++++++++ framework/mail/maillistmodel.cpp | 20 ++++++++++++++++++++ framework/mail/maillistmodel.h | 20 ++++++++++++++++++++ framework/mail/mailplugin.cpp | 20 ++++++++++++++++++++ framework/mail/mailplugin.h | 20 ++++++++++++++++++++ framework/mail/singlemailcontroller.cpp | 20 ++++++++++++++++++++ framework/mail/singlemailcontroller.h | 20 ++++++++++++++++++++ 12 files changed, 240 insertions(+) diff --git a/framework/mail/folderlistcontroller.cpp b/framework/mail/folderlistcontroller.cpp index 9edc547c..3b1cf9f8 100644 --- a/framework/mail/folderlistcontroller.cpp +++ b/framework/mail/folderlistcontroller.cpp @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #include "folderlistcontroller.h" #include "folderlistmodel.h" diff --git a/framework/mail/folderlistcontroller.h b/framework/mail/folderlistcontroller.h index 84ce24be..11057f21 100644 --- a/framework/mail/folderlistcontroller.h +++ b/framework/mail/folderlistcontroller.h @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #pragma once #include "folderlistmodel.h" diff --git a/framework/mail/folderlistmodel.cpp b/framework/mail/folderlistmodel.cpp index 0f66c46f..204dfdbf 100644 --- a/framework/mail/folderlistmodel.cpp +++ b/framework/mail/folderlistmodel.cpp @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #include "folderlistmodel.h" #include #include diff --git a/framework/mail/folderlistmodel.h b/framework/mail/folderlistmodel.h index 9ce3ee79..d412c29c 100644 --- a/framework/mail/folderlistmodel.h +++ b/framework/mail/folderlistmodel.h @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #pragma once #include diff --git a/framework/mail/maillistcontroller.cpp b/framework/mail/maillistcontroller.cpp index 07baeb01..ed353b70 100644 --- a/framework/mail/maillistcontroller.cpp +++ b/framework/mail/maillistcontroller.cpp @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #include "maillistcontroller.h" #include diff --git a/framework/mail/maillistcontroller.h b/framework/mail/maillistcontroller.h index 3c969403..959c63a3 100644 --- a/framework/mail/maillistcontroller.h +++ b/framework/mail/maillistcontroller.h @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #pragma once #include "maillistmodel.h" diff --git a/framework/mail/maillistmodel.cpp b/framework/mail/maillistmodel.cpp index e6a9c218..3ed50ad6 100644 --- a/framework/mail/maillistmodel.cpp +++ b/framework/mail/maillistmodel.cpp @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #include "maillistmodel.h" #include diff --git a/framework/mail/maillistmodel.h b/framework/mail/maillistmodel.h index 7718477c..22146eac 100644 --- a/framework/mail/maillistmodel.h +++ b/framework/mail/maillistmodel.h @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #pragma once #include diff --git a/framework/mail/mailplugin.cpp b/framework/mail/mailplugin.cpp index bf92f4e7..8b35dfb7 100644 --- a/framework/mail/mailplugin.cpp +++ b/framework/mail/mailplugin.cpp @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #include "mailplugin.h" #include "maillistmodel.h" diff --git a/framework/mail/mailplugin.h b/framework/mail/mailplugin.h index e835c384..ebd091ee 100644 --- a/framework/mail/mailplugin.h +++ b/framework/mail/mailplugin.h @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #pragma once #include diff --git a/framework/mail/singlemailcontroller.cpp b/framework/mail/singlemailcontroller.cpp index fecf2fbc..5f7a6d93 100644 --- a/framework/mail/singlemailcontroller.cpp +++ b/framework/mail/singlemailcontroller.cpp @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #include "singlemailcontroller.h" SingleMailController::SingleMailController(QObject *parent) : QObject(parent), m_model(new MailListModel) diff --git a/framework/mail/singlemailcontroller.h b/framework/mail/singlemailcontroller.h index bdac971c..283b03c4 100644 --- a/framework/mail/singlemailcontroller.h +++ b/framework/mail/singlemailcontroller.h @@ -1,3 +1,23 @@ +/* + Copyright (c) 2016 Michael Bohlender + Copyright (c) 2016 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + #pragma once #include "maillistmodel.h" -- cgit v1.2.3