Commit 802e8268 authored by ransome1's avatar ransome1
Browse files

Merge branch 'develop'

parent 2835883a
......@@ -20,6 +20,6 @@ assets/icons/bak
squashfs-root/
test/
src/__tests__
eslintrc.json
.eslintrc.json
build/
test/
......@@ -8,7 +8,7 @@
+ [Get it from Arch User Repository](#get-sleek-from-arch-user-repository)
+ [Download it](#download-sleek)
+ [Build sleek from source code](#build-sleek-from-source-code)
+ [sleeks Roadmap 2021](#sleeks-roadmap-2021)
+ [sleeks state of development](#sleeks-state-of-development)
+ [Features](#features)
+ [Used libraries](#used-libraries)
......@@ -21,7 +21,6 @@ sleek manages and watches multiple todo.txt files continuously for changes, whic
Todos with due date or repeating todos will trigger notifications and completed todos can be hidden or archived into separate done.txt files. If users have tons of todos, a compact view can come in handy.
### Screenshots
![Alt text](assets/screenshots/linux/todo_list.png?raw=true "Screenshot of sleek's main view on Linux")
![Alt text](assets/screenshots/linux/multiline_autocomplete_dark.png?raw=true "Screenshot of sleek's auto complete function and multi line todo feature on Linux")
......@@ -64,8 +63,8 @@ You can download sleek for Windows, MacOS and Linux from
3. Install dependencies `yarn install --production`
4. Build sleek `yarn build:windows` or `yarn build:linux` or `yarn build:macos`
### sleeks Roadmap 2021
A prioritized backlog for new features and known issues can be found on <a href="https://github.com/ransome1/sleek/projects/2">sleeks' roadmap for 2021</a>.
### sleeks state of development
A prioritized backlog of new features and known issues can be found <a href="https://github.com/ransome1/sleek/projects/2">here</a>.
### Features
* An existing todo.txt file can be used or a new one can be created
......@@ -112,18 +111,10 @@ A prioritized backlog for new features and known issues can be found on <a href=
- Italian
- Spanish
- French
* sleek can be minimized to tray
* Tabindex available
* Existing todos can be used as templates for new ones
* Basic keyboard shortcuts are available:
- New todo: CMD/CTRL + n
- Find todo: CMD/CTRL + f
- Show or hide completed todos: CMD/CTRL + h
- Toggle dark mode: CMD/CTRL + d
- Open file: CMD/CTRL + o
- Open settings: CMD/CTRL + ,
- Toggle side bar: CMD/CTRL + b
- Set priorities (available when add/edit window is open): CTRL+SHIFT+[A-Z]
- Submit todo (available when add/edit window is open): CTRL + Enter
* <a href="https://github.com/ransome1/sleek/wiki/Keyboard-shortcuts">Keyboard shortcuts</a> following todotxt.net
### Used libraries
- Electron: https://github.com/electron/electron
......
{
"name": "sleek",
"productName": "sleek",
"version": "1.0.3-1",
"version": "1.0.4",
"description": "Todo app based on todo.txt for Linux, Windows and MacOS, free and open-source",
"synopsis": "Todo app based on todo.txt for Linux, Windows and MacOS, free and open-source",
"category": "ProjectManagement",
......
name: sleek
base: core18
version: '1.0.3'
version: '1.0.4'
summary: Todo app based on the todo.txt format for Linux, free and open-source
description: |
sleek is an open-source todo app that makes use of the todo.txt format. sleeks GUI is modern and simple but still offers a decent set of functions which help users getting things done. sleek is available as a client for Windows, MacOS and Linux.
......
......@@ -999,12 +999,7 @@ nav ul:nth-child(2) {
position: absolute !important;
}
.modal.content .modal-card {
width: 900px !important;
height: auto;
z-index: 60;
background: #ebebeb;
padding: 1em 2em;
border-radius: 0.25rem;
}
.modal.content .modal-background {
z-index: 55;
......@@ -1012,6 +1007,7 @@ nav ul:nth-child(2) {
.modal.content .modal-card-body {
background: none;
display: none;
padding: 0 2em 2em 2em;
}
.modal.content .modal-card-body ul li a {
text-decoration: underline;
......@@ -1032,10 +1028,10 @@ nav ul:nth-child(2) {
left: -0.8em;
}
.modal.content .modal-card-body table.settings tr td:first-child {
width: 80%;
padding-right: 3em;
}
.modal.content .modal-card-body table.settings tr td:last-child {
min-width: 10em;
text-align: center;
}
.modal.content .modal-card-body table.shortcuts td .tag {
......@@ -1056,10 +1052,8 @@ nav ul:nth-child(2) {
margin: 0 auto;
}
.modal.content .tabs {
display: block;
height: 4em;
margin-bottom: 0;
overflow-x: shown;
display: flex;
flex-shrink: 0;
}
.modal.content .tabs li a {
border-width: 2px;
......@@ -5556,7 +5550,7 @@ button.dropdown-item.is-active {
.modal-card {
margin: 0 auto;
max-height: calc(100vh - 40px);
width: 800px;
width: 900px;
}
}
......
This diff is collapsed.
/*# sourceMappingURL=variables.css.map */
{"version":3,"sourceRoot":"","sources":[],"names":[],"mappings":"","file":"variables.css"}
\ No newline at end of file
......@@ -389,8 +389,6 @@
</td>
</tr>
</table>
<table class="settings">
<tr>
<th colspan="100%" id="settingsTabSettingsTray"></th>
......@@ -512,23 +510,48 @@
</tr>
<tr>
<td id="helpTabKeyboardTR1TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">N</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">N</span></td>
<td><span class="tag is-info is-large">N</span></td>
<td><span class="tag is-info is-large">N</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR2TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">F</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">F</span></td>
<td><span class="tag is-info is-large">F</span></td>
<td><span class="tag is-info is-large">F</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR3TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">H</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">H</span></td>
<td><span class="tag is-info is-large">H</span></td>
<td><span class="tag is-info is-large">H</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR8TD1"></td>
<td><span class="tag is-info is-large">B</span></td>
<td><span class="tag is-info is-large">B</span></td>
</tr>
<tr>
<td>Archive completed todos to done.txt file</td>
<td><span class="tag is-info is-large">A</span></td>
<td><span class="tag is-info is-large">A</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR4TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">D</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">D</span></td>
<td><span class="tag is-info is-large">D</span></td>
<td><span class="tag is-info is-large">D</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR6TD1"></td>
<td><span class="tag is-info is-large">,</span></td>
<td><span class="tag is-info is-large">,</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR9TD1"></td>
<td><span class="tag is-info is-large">0</span></td>
<td><span class="tag is-info is-large">0</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR12TD1"></td>
<td><span class="tag is-info is-large">.</span></td>
<td><span class="tag is-info is-large">.</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR5TD1"></td>
......@@ -536,31 +559,44 @@
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">O</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR8TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">B</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">B</span></td>
<td id="helpTabKeyboardTR11TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">C</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">C</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR9TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">L</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">L</span></td>
<th colspan="3"><h5 class="title is-5" style="margin-top: .75em;">While adding/editing todos</h5></th>
</tr>
<tr>
<td id="helpTabKeyboardTR6TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">,</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">,</span></td>
<td id="helpTabKeyboardTR7TD1"></td>
<td><span class="tag is-dark is-large">Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">A-Z</span></td>
<td><span class="tag is-dark is-large">Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">A-Z</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR7TD1"></td>
<td><span class="tag is-dark is-large">Ctrl + Shift</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">A-Z</span></td>
<td><span class="tag is-dark is-large">Ctrl + Shift</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">A-Z</span></td>
<td>Increase/decrease priority</td>
<td><span class="tag is-dark is-large">Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Up/Down</span></td>
<td><span class="tag is-dark is-large">Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Up/Down</span></td>
</tr>
<tr>
<td>Clear priority</td>
<td><span class="tag is-dark is-large">Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Right/Left</span></td>
<td><span class="tag is-dark is-large">Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Right/Left</span></td>
</tr>
<tr>
<td>Increase/decrease due date</td>
<td><span class="tag is-dark is-large">Ctrl + Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Up/Down</span></td>
<td><span class="tag is-dark is-large">cmd + Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Up/Down</span></td>
</tr>
<tr>
<td>Clear due date</td>
<td><span class="tag is-dark is-large">Ctrl + Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Right/Left</span></td>
<td><span class="tag is-dark is-large">cmd + Alt</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Right/Left</span></td>
</tr>
<tr>
<td id="helpTabKeyboardTR10TD1"></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Enter</span></td>
<td><span class="tag is-dark is-large">Ctrl</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Enter</span></td>
<td><span class="tag is-dark is-large">cmd</span> <i class="fas fa-plus"></i> <span class="tag is-info is-large">Enter</span></td>
</tr>
</table>
</table>
</section>
<section id="helpTab2" class="modal-card-body" data-track-content data-content-name="Help" data-content-piece="Adding a priority">
<h3 class="title is-3" id="helpTabPrioritiesTitle"></h3>
......
......@@ -21,7 +21,6 @@ const helpTabDatesRecurrencesBody2 = document.getElementById("helpTabDatesRecurr
const helpTabDatesRecurrencesTitle1 = document.getElementById("helpTabDatesRecurrencesTitle1");
const helpTabDatesRecurrencesTitle2 = document.getElementById("helpTabDatesRecurrencesTitle2");
const helpTabKeyboardTitle = document.getElementById("helpTabKeyboardTitle");
const helpTabKeyboardTR10TD1 = document.getElementById("helpTabKeyboardTR10TD1");
const helpTabKeyboardTR1TD1 = document.getElementById("helpTabKeyboardTR1TD1");
const helpTabKeyboardTR1TH1 = document.getElementById("helpTabKeyboardTR1TH1");
const helpTabKeyboardTR2TD1 = document.getElementById("helpTabKeyboardTR2TD1");
......@@ -32,6 +31,9 @@ const helpTabKeyboardTR6TD1 = document.getElementById("helpTabKeyboardTR6TD1");
const helpTabKeyboardTR7TD1 = document.getElementById("helpTabKeyboardTR7TD1");
const helpTabKeyboardTR8TD1 = document.getElementById("helpTabKeyboardTR8TD1");
const helpTabKeyboardTR9TD1 = document.getElementById("helpTabKeyboardTR9TD1");
const helpTabKeyboardTR10TD1 = document.getElementById("helpTabKeyboardTR10TD1");
const helpTabKeyboardTR11TD1 = document.getElementById("helpTabKeyboardTR11TD1");
const helpTabKeyboardTR12TD1 = document.getElementById("helpTabKeyboardTR12TD1");
const helpTabPrioritiesBody = document.getElementById("helpTabPrioritiesBody");
const helpTabPrioritiesTitle = document.getElementById("helpTabPrioritiesTitle");
const settingsLanguage = document.getElementById("settingsLanguage");
......@@ -81,6 +83,8 @@ helpTabKeyboardTR6TD1.innerHTML = translations.settings;
helpTabKeyboardTR7TD1.innerHTML = translations.helpTabKeyboardTR7TD1;
helpTabKeyboardTR8TD1.innerHTML = translations.toggleFilter;
helpTabKeyboardTR9TD1.innerHTML = translations.resetFilters;
helpTabKeyboardTR11TD1.innerHTML = translations.createFile;
helpTabKeyboardTR12TD1.innerHTML = translations.reload;
helpTabPrioritiesBody.innerHTML = translations.helpTabPrioritiesBody;
helpTabPrioritiesTitle.innerHTML = translations.helpTabPrioritiesTitle;
settingsTabAbout.innerHTML = translations.about;
......
......@@ -22,7 +22,24 @@ document.querySelectorAll(".drawerClose").forEach(function(drawerClose) {
}
})
getHandleElement.addEventListener("mousedown", startDragging);
document.getElementById("filterDrawer").addEventListener ("keydown", function () {
if(event.key === "Escape") {
showDrawer(false, navBtnFilter.id, this.id).then(function(result) {
console.log(result);
}).catch(function(error) {
handleError(error);
});
}
});
document.getElementById("viewDrawer").addEventListener ("keydown", function () {
if(event.key === "Escape") {
showDrawer(false, document.getElementById("navBtnView").id, this.id).then(function(result) {
console.log(result);
}).catch(function(error) {
handleError(error);
});
}
});
navBtnFilter.onclick = function() {
// close filter drawer first
viewDrawer.classList.remove("is-active")
......@@ -63,24 +80,6 @@ if(userData.filterDrawer) {
});
}
document.getElementById("filterDrawer").addEventListener ("keydown", function () {
if(event.key === "Escape") {
showDrawer(false, navBtnFilter.id, this.id).then(function(result) {
console.log(result);
}).catch(function(error) {
handleError(error);
});
}
});
document.getElementById("viewDrawer").addEventListener ("keydown", function () {
if(event.key === "Escape") {
showDrawer(false, document.getElementById("navBtnView").id, this.id).then(function(result) {
console.log(result);
}).catch(function(error) {
handleError(error);
});
}
});
function showDrawer(variable, buttonId, drawerId) {
try {
const viewToggleSortCompletedLast = document.getElementById("viewToggleSortCompletedLast");
......
This diff is collapsed.
......@@ -50,7 +50,7 @@
"onboardingContainerSubtitle": "Öffne entweder eine <strong>vorhandene</strong> todo.txt Datei oder erstelle eine <strong>neue</strong>.",
"createFile": "todo.txt erstellen",
"onboardingContainerBtnOpen": "Vorhandene todo.txt öffnen",
"windowTitleCreateFile": "Ordner für todo.txt wählen",
"windowTitleCreateFile": "todo.txt erstellen",
"windowButtonCreateFile": "todo.txt Datei hier erstellen",
"selectFile": "todo.txt auswählen",
"select": "Auswählen",
......@@ -121,9 +121,9 @@
"helpTabDatesRecurrencesBody1": "sleek will add the start date automatically equal to the todos' creation date. If you want to change it, you need to look for the first date in your todo right after the priority tag. Todos with due dates will be bumped up your list. The closer the due date comes the higher it will be sorted. Is the due date set to today or to a date in the past, it will be marked red and will stay on top of your list. To add a due date append \"due:\" and add the due date formatted as <strong>YYYY-MM-DD (e.g. due:2021-03-07)</strong>. Alternatively use the date picker, it will do the formatting for you.",
"helpTabDatesRecurrencesTitle2": "Adding a recurrence",
"helpTabDatesRecurrencesBody2": "Once a due date has been set, you can define a recurrence. If for instance a todo is due today and you set up a weekly recurrence, sleek will duplicate the todo and adjust start and due date of the duplicated todo according to your recurrence setting. To set a recurrence use the recurrence picker or type <strong>rec:</strong> and add <strong>d</strong> (daily), <strong>w</strong> (weekly), <strong>m</strong> (monthly) or <strong>y</strong> (annually).",
"helpTabKeyboardTR7TD1": "Set priority<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR7TD1": "Set priority",
"helpTabKeyboardTR8TD1": "Toggle filter drawer",
"helpTabKeyboardTR10TD1": "Submit todo<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR10TD1": "Submit todo",
"submitIssuesOnGithub": "Fehler auf Github melden",
"reviewSourceforge": "Bewertung auf SourceForge",
"reviewWindowsStore": "Bewertung im Windows Store",
......
......@@ -49,8 +49,8 @@
"onboardingContainerSubtitle": "Start either by choosing your <strong>existing</strong> todo.txt file or creating a <strong>new</strong> one.",
"createFile": "Create todo.txt",
"onboardingContainerBtnOpen": "Choose existing todo.txt",
"windowTitleCreateFile": "Choose a folder to save your todo.txt file",
"windowButtonCreateFile": "Create todo.txt file here",
"windowTitleCreateFile": "Create todo.txt",
"windowButtonCreateFile": "Create todo.txt here",
"selectFile": "Select todo.txt file",
"select": "Select",
"selected": "Selected",
......@@ -120,9 +120,9 @@
"helpTabDatesRecurrencesBody1": "sleek will add the start date automatically equal to the todos' creation date. If you want to change it, you need to look for the first date in your todo right after the priority tag. Todos with due dates will be bumped up your list. The closer the due date comes the higher it will be sorted. Is the due date set to today or to a date in the past, it will be marked red and will stay on top of your list. To add a due date append \"due:\" and add the due date formatted as <strong>YYYY-MM-DD (e.g. due:2021-03-07)</strong>. Alternatively use the date picker, it will do the formatting for you.",
"helpTabDatesRecurrencesTitle2": "Adding a recurrence",
"helpTabDatesRecurrencesBody2": "Once a due date has been set, you can define a recurrence. If for instance a todo is due today and you set up a weekly recurrence, sleek will duplicate the todo and adjust start and due date of the duplicated todo according to your recurrence setting. To set a recurrence use the recurrence picker or type <strong>rec:</strong> and add <strong>d</strong> (daily), <strong>w</strong> (weekly), <strong>m</strong> (monthly) or <strong>y</strong> (annually).",
"helpTabKeyboardTR7TD1": "Set priority<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR7TD1": "Set priority",
"helpTabKeyboardTR8TD1": "Toggle filter drawer",
"helpTabKeyboardTR10TD1": "Submit todo<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR10TD1": "Submit todo",
"submitIssuesOnGithub": "Submit issues on Github",
"reviewSourceforge": "Review sleek on SourceForge",
"reviewWindowsStore": "Review sleek on Windows Store",
......
......@@ -48,7 +48,7 @@
"onboardingContainerSubtitle": "Comienza eligiendo un archivo <strong>existente</strong> todo.txt o creando un nuevo archivo <strong>nuevo</strong>",
"createFile": "Crear todo.txt",
"onboardingContainerBtnOpen": "Elija un todo.txt existente",
"windowTitleCreateFile": "Elija una carpeta donde guardar su file todo.txt",
"windowTitleCreateFile": "Crea todo.txt",
"windowButtonCreateFile": "Crear el file todo.txt aquí",
"selectFile": "Seleccione file todo.txt",
"select": "Seleccionar",
......@@ -119,9 +119,9 @@
"helpTabDatesRecurrencesBody1": "sleek will add the start date automatically equal to the todos' creation date. If you want to change it, you need to look for the first date in your todo right after the priority tag. Todos with due dates will be bumped up your list. The closer the due date comes the higher it will be sorted. Is the due date set to today or to a date in the past, it will be marked red and will stay on top of your list. To add a due date append \"due:\" and add the due date formatted as <strong>YYYY-MM-DD (e.g. due:2021-03-07)</strong>. Alternatively use the date picker, it will do the formatting for you.",
"helpTabDatesRecurrencesTitle2": "Adding a recurrence",
"helpTabDatesRecurrencesBody2": "Once a due date has been set, you can define a recurrence. If for instance a todo is due today and you set up a weekly recurrence, sleek will duplicate the todo and adjust start and due date of the duplicated todo according to your recurrence setting. To set a recurrence use the recurrence picker or type <strong>rec:</strong> and add <strong>d</strong> (daily), <strong>w</strong> (weekly), <strong>m</strong> (monthly) or <strong>y</strong> (annually).",
"helpTabKeyboardTR7TD1": "Set priority<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR7TD1": "Set priority",
"helpTabKeyboardTR8TD1": "Toggle filter drawer",
"helpTabKeyboardTR10TD1": "Submit todo<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR10TD1": "Submit todo",
"submitIssuesOnGithub": "Submit issues on Github",
"reviewSourceforge": "Review sleek on SourceForge",
"reviewWindowsStore": "Review sleek on Windows Store",
......
......@@ -49,7 +49,7 @@
"onboardingContainerSubtitle": "Commencez par choisir un fichier todo.txt <strong>existant</strong>, ou créez-en un <strong>nouveau</strong>.",
"createFile": "Créer un fichier",
"onboardingContainerBtnOpen": "Choisir un fichier todo.txt existant",
"windowTitleCreateFile": "Choisir un dossier pour enregistrer votre fichier todo.txt",
"windowTitleCreateFile": "Cer todo.txt",
"windowButtonCreateFile": "Créer un fichier todo.txt ici",
"selectFile": "Sélectionner un fichier todo.txt",
"select": "Selectionner",
......@@ -120,9 +120,9 @@
"helpTabDatesRecurrencesBody1": "sleek will add the start date automatically equal to the todos' creation date. If you want to change it, you need to look for the first date in your todo right after the priority tag. Todos with due dates will be bumped up your list. The closer the due date comes the higher it will be sorted. Is the due date set to today or to a date in the past, it will be marked red and will stay on top of your list. To add a due date append \"due:\" and add the due date formatted as <strong>YYYY-MM-DD (e.g. due:2021-03-07)</strong>. Alternatively use the date picker, it will do the formatting for you.",
"helpTabDatesRecurrencesTitle2": "Adding a recurrence",
"helpTabDatesRecurrencesBody2": "Once a due date has been set, you can define a recurrence. If for instance a todo is due today and you set up a weekly recurrence, sleek will duplicate the todo and adjust start and due date of the duplicated todo according to your recurrence setting. To set a recurrence use the recurrence picker or type <strong>rec:</strong> and add <strong>d</strong> (daily), <strong>w</strong> (weekly), <strong>m</strong> (monthly) or <strong>y</strong> (annually).",
"helpTabKeyboardTR7TD1": "Set priority<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR7TD1": "Set priority",
"helpTabKeyboardTR8TD1": "Toggle filter drawer",
"helpTabKeyboardTR10TD1": "Submit todo<br><small>(Add/Edit todo window needs to be open)</small>",
"helpTabKeyboardTR10TD1": "Submit todo",
"submitIssuesOnGithub": "Submit issues on Github",
"reviewSourceforge": "Review sleek on SourceForge",
"reviewWindowsStore": "Review sleek on Windows Store",
......
......@@ -47,7 +47,7 @@
"onboardingContainerSubtitle": "Inizia scegliendo un file <strong>esistente</strong> todo.txt o creandone uno <strong>nuovo</strong>.",
"createFile": "Crea todo.txt",
"onboardingContainerBtnOpen": "Scegli un todo.txt esistente",
"windowTitleCreateFile": "Scegli una cartella dove salvare il tuo file todo.txt",
"windowTitleCreateFile": "Crea todo.txt",
"windowButtonCreateFile": "Crea file todo.txt qui",
"selectFile": "Seleziona il file todo.txt",
"select": "Scegliere",
......
......@@ -230,7 +230,7 @@ const createWindow = async function() {
if(typeof userData.data.sortCompletedLast != "boolean") userData.set("sortCompletedLast", false);
if(typeof userData.data.sortBy != "string") userData.set("sortBy", "priority");
if(typeof userData.data.zoom != "string") userData.set("zoom", "100");
if(typeof userData.data.tray != "boolean") userData.set("tray", false);
if(typeof appData.tray != "boolean") appData.tray = false;
if(!Array.isArray(userData.data.dismissedNotifications)) userData.set("dismissedNotifications", []);
if(!Array.isArray(userData.data.dismissedMessages)) userData.set("dismissedMessages", []);
if(!Array.isArray(userData.data.hideFilterCategories)) userData.set("hideFilterCategories", []);
......@@ -271,7 +271,6 @@ const createWindow = async function() {
simpleFullscreen: true,
autoHideMenuBar: true,
useContentSize: true,
titleBarStyle: "hiddenInset",
webPreferences: {
worldSafeExecuteJavaScript:true,
nodeIntegration: false,
......@@ -285,38 +284,67 @@ const createWindow = async function() {
// ########################################################################################################################
// MAIN MENU
// ########################################################################################################################
let subMenu;
if(appData.os==="mac") {
subMenu = [
{
label: translations.openFile,
click: function () {
openDialog("open");
}
},
{
label: translations.createFile,
click: function () {
openDialog("create");
}
},
{ type: "separator" },
{
role: "close",
accelerator: "Command+W",
label: translations.close
},
{
role: "quit",
accelerator: "Command+Q",
click: function() {
app.quit();
}
}
];
} else {
subMenu = [
{
label: translations.openFile,
click: function () {
openDialog("open");
}
},
{
label: translations.createFile,
click: function () {
openDialog("create");
}
},
{ type: "separator" },
{
role: "close",
label: translations.close
}
];
}
const menuTemplate = [
{
label: translations.file,
submenu: [
{
label: translations.openFile,
accelerator: "CmdOrCtrl+o",
click: function () {
openDialog("open");
}
},
{
label: translations.createFile,
click: function () {
openDialog("create");
}
},
appData.os==="mac" ? {
role: "quit",
label: translations.close
} : {
role: "close",
label: translations.close
}
]
submenu: subMenu
},
{
label: translations.edit,
submenu: [
{
label: translations.settings,
accelerator: "CmdOrCtrl+,",
click: function () {
mainWindow.webContents.send("triggerFunction", "showContent", ["modalSettings"]);
}
......@@ -327,89 +355,83 @@ const createWindow = async function() {
{ label: translations.paste, accelerator: "CmdOrCtrl+V", selector: "paste:" },
{ role: "selectAll", accelerator: "CmdOrCtrl+A" }
]},
{
label: translations.todos,
submenu: [
{
label: translations.addTodo,
accelerator: "CmdOrCtrl+n",
click: function() {
mainWindow.webContents.send("triggerFunction", "showForm")
}
},
{
label: translations.find,
accelerator: "CmdOrCtrl+f",
click: function() {
mainWindow.webContents.executeJavaScript("todoTableSearch.focus()");
}
},
{
label: translations.archive,
click: function() {
mainWindow.webContents.send("triggerFunction", "archiveTodos")
}
{
label: translations.todos,
submenu: [
{
label: translations.addTodo,
click: function() {
mainWindow.webContents.send("triggerFunction", "showForm")
}
]
},
{
label: translations.view,
submenu: [
{
label: translations.toggleFilter,
accelerator: "CmdOrCtrl+b",
click: function() {
mainWindow.webContents.send("triggerFunction", "showDrawer", ["toggle", "navBtnFilter", "filterDrawer"])
}
},
{
label: translations.resetFilters,
accelerator: "CmdOrCtrl+l",
click: function() {
mainWindow.webContents.send("triggerFunction", "resetFilters")
}
},
{