Commit 9b4d7572 authored by Morgan McMillian's avatar Morgan McMillian

Initial project import

parent b52fa83c
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>RenamedTodo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.rim.tad.tools.qml.core.qmlFileBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.qnx.tools.bbt.xml.core.bbtXMLValidationBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>com.qnx.tools.ide.bbt.core.bbtnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.qt.core.qtNature</nature>
<nature>com.rim.tad.tools.qml.core.qmlNature</nature>
</natures>
</projectDescription>
QMAKE_TARGET = RenamedTodo
PROJECT_DIR := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
I18N_DIR := $(PROJECT_DIR)/translations
include mk/cs-base.mk
APP_NAME = RenamedTodo
CONFIG += qt warn_on cascades10
LIBS += -lbbsystem -lbb
include(config.pri)
1
48
AboutPage.qml
AppCover.qml
EditSheet.qml
FilterPage.qml
help.html
HelpPage.qml
humane.js
icons/123.png
icons/abc.png
icons/Add.png
icons/Capitalize.png
icons/Check.png
icons/Clock.png
icons/Clock_a.png
icons/Date.png
icons/Delete.png
icons/DownBox.png
icons/Funnel.png
icons/ic_bbm.png
icons/Info.png
icons/invoke.png
icons/Pencil.png
icons/PriceTag.png
icons/Recycle.png
icons/rtd_512_3-110.png
icons/rtd_512_3-144.png
icons/rtd_512_3-86.png
icons/rtd_512_3-90.png
icons/rtd_512_3-96.png
icons/rtd_splash_1440s.png
icons/rtd_splash_720s.png
icons/rtd_splash_768p.png
icons/Search.png
icons/Sort.png
icons/Undo.png
main.qml
SettingsPage.qml
TaskItem.qml
TaskPage.qml
VisualStyle.bright/Appointment.png
VisualStyle.bright/ArrowCircleAlt.png
VisualStyle.bright/PriceTag.png
VisualStyle.bright/Watch.png
VisualStyle.dark/Appointment.png
VisualStyle.dark/ArrowCircleAlt.png
VisualStyle.dark/PriceTag.png
VisualStyle.dark/Watch.png
Watch_a.png
/*
* Copyright 2012-2018 Morgan McMillian <gilag@monkeystew.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import bb.cascades 1.0
Page {
ScrollView {
Container {
layout: DockLayout {
}
horizontalAlignment: HorizontalAlignment.Fill
Container {
horizontalAlignment: HorizontalAlignment.Fill
Container {
horizontalAlignment: HorizontalAlignment.Center
preferredHeight: 35.0
}
Container {
horizontalAlignment: HorizontalAlignment.Center
Label {
text: "Renamed Todo"
textStyle.fontSize: FontSize.Large
}
}
Container {
horizontalAlignment: HorizontalAlignment.Center
Label {
text: "v" + appversion
textStyle.fontSize: FontSize.Small
}
}
Container {
horizontalAlignment: HorizontalAlignment.Center
Label {
text: "Copyright (c) Morgan McMillian 2012-2018"
textStyle.fontSize: FontSize.XSmall
}
}
Container {
horizontalAlignment: HorizontalAlignment.Center
Label {
text: "All rights reserved."
textStyle.fontSize: FontSize.XSmall
}
}
Container {
horizontalAlignment: HorizontalAlignment.Center
preferredHeight: 40.0
}
Container {
horizontalAlignment: HorizontalAlignment.Center
Label {
text: "https://monkeystew.org/renamed-todo/"
textStyle.fontSize: FontSize.XSmall
content.flags: TextContentFlag.ActiveText
}
}
Container {
horizontalAlignment: HorizontalAlignment.Center
preferredHeight: 30.0
}
Container {
horizontalAlignment: HorizontalAlignment.Center
preferredHeight: 30.0
}
Container {
horizontalAlignment: HorizontalAlignment.Center
preferredHeight: 30.0
}
Divider {
}
Container {
horizontalAlignment: HorizontalAlignment.Center
preferredHeight: 30.0
}
Container {
leftPadding: 10.0
rightPadding: 10.0
horizontalAlignment: HorizontalAlignment.Fill
Button {
text: "Email Support"
horizontalAlignment: HorizontalAlignment.Center
onClicked: {
_Taskslayer.getSupport(0)
}
}
}
}
}
}
}
/*
* Copyright 2012-2018 Morgan McMillian <gilag@monkeystew.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import bb.cascades 1.0
import "humane.js" as HumaneDate
SceneCover {
// SceneCover
property alias topList: topList
property bool empty
id: appCover
content: Container {
Container {
visible: empty ? false : true
ListView {
dataModel: ArrayDataModel {
id: topList
}
listItemComponents: [
ListItemComponent {
Container {
layout: StackLayout {
}
Container {
layout: DockLayout {
}
horizontalAlignment: HorizontalAlignment.Fill
leftPadding: 10.0
rightPadding: 10.0
topPadding: 10.0
Container {
layout: StackLayout {
orientation: LayoutOrientation.LeftToRight
}
Container {
minWidth: 50.0
Label {
text: ListItemData.priority
textStyle.fontSize: FontSize.Medium
textStyle.color: Color.Blue
}
}
}
Container {
layout: StackLayout {
}
leftPadding: 30.0
Container {
Label {
text: ListItemData.detail
multiline: true
textStyle.fontSize: FontSize.XSmall
textStyle.color: Color.Black
}
}
Container {
Label {
text: HumaneDate.humaneDate(ListItemData.dateCreated)
textStyle.fontSize: FontSize.XXSmall
textStyle.color: Color.Gray
}
}
}
}
Divider {
}
}
}
]
}
}
Container {
layout: DockLayout {
}
visible: empty
verticalAlignment: VerticalAlignment.Fill
horizontalAlignment: HorizontalAlignment.Fill
opacity: 1.0
Container {
verticalAlignment: VerticalAlignment.Center
horizontalAlignment: HorizontalAlignment.Center
topPadding: 100.0
Label {
text: "no tasks"
horizontalAlignment: HorizontalAlignment.Center
}
}
}
} // end content
}// end SceneCover
This diff is collapsed.
/*
* Copyright 2012-2018 Morgan McMillian <gilag@monkeystew.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import bb.cascades 1.0
Page {
id: filterPage
property alias filterModel: filterModel
property alias warningtext: warningtext
signal resetFilter()
titleBar: TitleBar {
id: titleBar
title: " Filter List"
}
Container {
Container {
id: warningtext
leftPadding: 30.0
topPadding: 30.0
rightPadding: 30.0
bottomPadding: 30.0
visible: false
Label {
text: "There are no project or context tags in your task list to " +
"filter on. You can define a project tag by prefixing some text " +
"with the + symbol or a context tag with the @ symbol in your tasks."
multiline: true
textStyle.fontStyle: FontStyle.Italic
}
}
ListView {
id: filterList
dataModel: GroupDataModel {
id: filterModel
sortingKeys: [ "type" ]
grouping: ItemGrouping.ByFullValue
signal changeFilter(string filter, bool enabled)
}
listItemComponents: [
ListItemComponent {
type: "listItem"
Container {
id: filterItem
layout: StackLayout {
}
Container {
layout: DockLayout {
}
horizontalAlignment: HorizontalAlignment.Fill
topPadding: 15.0
leftPadding: 20.0
rightPadding: 30.0
Label {
text: ListItemData.title
}
CheckBox {
id: filterCheck
horizontalAlignment: HorizontalAlignment.Right
// TODO: checked: <bool> need it out of the taskModel
checked: ListItemData.checked
onCheckedChanged: {
//console.log(filterCheck.checked)
filterItem.ListItem.view.dataModel.changeFilter(ListItemData.title, filterCheck.checked)
}
}
}
Divider {
}
}
}
]
function itemType(data, indexPath) {
if (indexPath.length == 1) {
return "header";
} else {
return "listItem";
}
}
}
}
actions: [
ActionItem {
title: "Reset"
imageSource: "icons/Delete.png"
ActionBar.placement: ActionBarPlacement.OnBar
onTriggered: {
resetFilter();
navi.pop();
}
}
]
}
/*
* Copyright 2012-2018 Morgan McMillian <gilag@monkeystew.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import bb.cascades 1.0
Page {
id: helpPage
titleBar: TitleBar {
title: " Help"
}
Container {
layout: DockLayout {
}
ScrollView {
WebView {
id: webView
url: "local:///assets/help.html"
settings.defaultFontSize: 30
}
}
}
}
/*
* Copyright 2012-2018 Morgan McMillian <gilag@monkeystew.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import bb.cascades 1.0
import bb.cascades.pickers 1.0
Page {
id: settingsPage
signal modifySetting(string setting, variant value)
property bool datenew
property bool windowsbreak
property bool autoarchive
property int sort
property string path
property string sync
property string dboxpath
titleBar: TitleBar {
title: " Settings"
}
ScrollView {
Container {
layout: StackLayout {}
Container {
topPadding: 15.0
}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
verticalAlignment: VerticalAlignment.Center
leftPadding: 30.0
Label {
text: "Date new tasks"
textStyle.fontWeight: FontWeight.Bold
}
}
Container {
rightPadding: 30.0
horizontalAlignment: HorizontalAlignment.Right
ToggleButton {
checked: datenew
onCheckedChanged: {
if (checked) {
modifySetting("datenew", true)
} else {
modifySetting("datenew", false)
}
}
}
}
}
Divider {}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
leftPadding: 30.0
verticalAlignment: VerticalAlignment.Center
Label {
text: "Windows line breaks"
textStyle.fontWeight: FontWeight.Bold
}
}
Container {
rightPadding: 30.0
horizontalAlignment: HorizontalAlignment.Right
ToggleButton {
checked: windowsbreak
onCheckedChanged: {
if (checked) {
modifySetting("windowsbreak", true)
} else {
modifySetting("windowsbreak", false)
}
}
}
}
}
Divider {}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
leftPadding: 30.0
verticalAlignment: VerticalAlignment.Center
Label {
text: "Auto archive"
textStyle.fontWeight: FontWeight.Bold
}
}
Container {
rightPadding: 30.0
horizontalAlignment: HorizontalAlignment.Right
ToggleButton {
checked: autoarchive
onCheckedChanged: {
if (checked) {
modifySetting("autoarchive", true)
} else {
modifySetting("autoarchive", false)
}
}
}
}
}
Divider {}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
Container {
leftPadding: 30.0
rightPadding: 30.0
DropDown {
title: "Sort by:"
preferredWidth: 1440.0
onSelectedIndexChanged: {
modifySetting("sort", selectedValue)
}
Option {
text: "Priority"
value: 0
selected: sort == 0
}
Option {
text: "Due date"
value: 3
selected: sort == 3
}
Option {
text: "Line number"
value: 1
selected: sort == 1
}
Option {
text: "Text A>Z"
value: 2
selected: sort == 2
}
}
}
}
Divider {}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
Container {
leftPadding: 30.0
rightPadding: 30.0
DropDown {
title: "File location:"
preferredWidth: 1440.0
onSelectedIndexChanged: {
modifySetting("path", selectedValue)
}
Option {
text: "Local sandbox"
value: "data/todo"
selected: path == "data/todo"
}
Option {
text: "Local shared"
value: "shared/misc/todo"
selected: path == "shared/misc/todo"
}
}
}
}
Divider {}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
Container {
leftPadding: 30.0
rightPadding: 30.0
DropDown {
title: "Storage:"
preferredWidth: 1440.0
onSelectedIndexChanged: {
if (sync != selectedValue) {
modifySetting("sync", selectedValue)
}
}
Option {
text: "Local only"
value: "local"
selected: sync == "local"
}
}
}
}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
Container {
leftPadding: 30.0
rightPadding: 30.0
topPadding: 10.0
TextField {
id: dboxPath
hintText: "Dropbox location"
text: dboxpath
visible: sync == "dropbox"
onTextChanged: {
if (dboxPath.text.length > 0) {
modifySetting("dbox_path", dboxPath.text)
}
}
}
}
}
Divider {}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
leftPadding: 30.0
rightPadding: 30.0
Button {
preferredWidth: 1440.0
text: "Export sandbox files"
onClicked: {
exportPicker.open()
}
}
}
Divider {}
Container {
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
leftPadding: 30.0
rightPadding: 30.0
Button {
preferredWidth: 1440.0
text: "Purge local sandbox"
onClicked: {
taskModel.promptPurgeSandbox()
}
}
}
Divider {}
}
}
attachedObjects: [
FilePicker {
id: exportPicker
title: "Export"