Skip to content

Commit 283bb58

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 1a414f1 + 711b020 commit 283bb58

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+3632
-3952
lines changed

core/Objects/Item.vala

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,18 +1369,42 @@ public class Objects.Item : Objects.BaseObject {
13691369
}
13701370
});
13711371
} else if (project.source_type == SourceType.CALDAV) {
1372-
loading = true;
1373-
var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source);
1374-
caldav_client.delete_item.begin (this, (obj, res) => {
1375-
HttpResponse response = caldav_client.delete_item.end (res);
1376-
loading = false;
1372+
delete_caldav.begin ();
1373+
}
1374+
}
13771375

1378-
if (response.status) {
1379-
Services.Store.instance ().delete_item (this);
1380-
} else {
1381-
Services.EventBus.get_default ().send_error_toast (response.error_code, response.error);
1382-
}
1383-
});
1376+
private async void delete_caldav () {
1377+
loading = true;
1378+
var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source);
1379+
1380+
try {
1381+
yield delete_subitems_caldav (this, caldav_client);
1382+
1383+
var response = yield caldav_client.delete_item (this);
1384+
1385+
if (!response.status) {
1386+
throw new IOError.FAILED (response.error);
1387+
}
1388+
1389+
Services.Store.instance ().delete_item (this);
1390+
} catch (Error e) {
1391+
Services.EventBus.get_default ().send_error_toast (0, e.message);
1392+
}
1393+
1394+
loading = false;
1395+
}
1396+
1397+
private async void delete_subitems_caldav (Objects.Item item, Services.CalDAV.CalDAVClient caldav_client) throws Error {
1398+
foreach (Objects.Item subitem in Services.Store.instance ().get_subitems (item)) {
1399+
yield delete_subitems_caldav (subitem, caldav_client);
1400+
1401+
var response = yield caldav_client.delete_item (subitem);
1402+
1403+
if (!response.status) {
1404+
throw new IOError.FAILED (response.error);
1405+
}
1406+
1407+
Services.Store.instance ().delete_item (subitem);
13841408
}
13851409
}
13861410

core/Widgets/ContextMenu/MenuSwitch.vala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,11 @@ public class Widgets.ContextMenu.MenuSwitch : Gtk.Button {
7979

8080
menu_icon_revealer.child = menu_icon;
8181

82-
menu_title = new Gtk.Label (null);
83-
menu_title.use_markup = true;
82+
menu_title = new Gtk.Label (null) {
83+
ellipsize = END,
84+
max_width_chars = 16,
85+
use_markup = true
86+
};
8487

8588
switch_widget = new Gtk.Switch () {
8689
valign = CENTER,

data/io.github.alainm23.planify.appdata.xml.in.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,25 @@
6060
<url type="donation">https://www.patreon.com/alainm23</url>
6161
<launchable type="desktop-id">@[email protected]</launchable>
6262
<releases>
63+
<release version="4.15.2" date="2025-11-07">
64+
<description translate="no">
65+
<p>✨ Planify 4.15.2 brings improved keyboard flows, smarter Quick Add, spell-check options, and a smoother backup experience.</p>
66+
<ul>
67+
<li>Enhanced keyboard shortcut flow for project selection in both Quick Add and the Project Picker when moving tasks between projects.</li>
68+
<li>Fixed project completion percentage for archived projects — now correctly includes all items instead of showing 0% when all tasks are archived.</li>
69+
<li>Added spell-check support for task titles, improving writing accuracy and user experience.</li>
70+
<li>Introduced new selection widgets for the Task Completion Mode and Automatic Reminders preferences, replacing the old Adw.ComboRow for better clarity and usability.</li>
71+
<li>Improved backup handling — Planify now shows the location of your generated backup files and automatically restarts itself after a restore, eliminating the need for manual restarts.</li>
72+
<li>Quick Add: Keeps task attributes (due date, pinned state, and labels) when using "Keep adding" mode, streamlining consecutive task creation.</li>
73+
<li>Improved focus restoration — Planify now restores the focus to the previously active input (title or description) after closing popups or clicking buttons in Quick Add.</li>
74+
<li>Added in-line label selection in Quick Add using the @ symbol.</li>
75+
<li>Added optional spell-check setting for task descriptions and notes — now configurable in Preferences.</li>
76+
<li>Fixed auto-scroll issue in Quick Add’s description field, ensuring the cursor remains visible when typing long text.</li>
77+
<li>General design and usability improvements, plus several bug fixes reported by users.</li>
78+
</ul>
79+
</description>
80+
</release>
81+
6382
<release version="4.15.1" date="2025-10-11">
6483
<description translate="no">
6584
<p>✨ Planify 4.15.1 is here! Enjoy a new Markdown editor, smoother animations, Focus Mode, and smarter ways to organize your tasks.</p>

0 commit comments

Comments
 (0)