Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .fvmrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"flutter": "3.29.2"
}
"flutter": "3.29.0"
}
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
"source.fixAll": "explicit"
},
"java.configuration.updateBuildConfiguration": "interactive",
"dart.flutterSdkPath": ".fvm/versions/3.29.2"
"dart.flutterSdkPath": ".fvm/versions/3.29.0"
}
63 changes: 47 additions & 16 deletions lib/app/v3/db/task_database.dart
Original file line number Diff line number Diff line change
Expand Up @@ -240,18 +240,19 @@ class TaskDatabase {
}

Future<void> saveEditedTaskInDB(
String uuid,
String newDescription,
String newProject,
String newStatus,
String newPriority,
String newDue,
List<String> newTags,
) async {
await ensureDatabaseIsOpen();

debugPrint('task in saveEditedTaskInDB: $uuid with due $newDue');
await _database!.update(
String uuid,
String newDescription,
String newProject,
String newStatus,
String newPriority,
String newDue,
List<String> newTags,
) async {
await ensureDatabaseIsOpen();

await _database!.transaction((txn) async {
// 1. Update task
await txn.update(
'Tasks',
{
'description': newDescription,
Expand All @@ -264,12 +265,42 @@ class TaskDatabase {
where: 'uuid = ?',
whereArgs: [uuid],
);
debugPrint('task${uuid}edited');

// 2. Get task ID inside transaction
final taskMaps = await txn.query(
'Tasks',
columns: ['id'],
where: 'uuid = ?',
whereArgs: [uuid],
);

if (taskMaps.isEmpty) return;

final taskId = taskMaps.first['id'] as int;

// 3. Update tags inside SAME transaction
if (newTags.isNotEmpty) {
TaskForC? task = await getTaskByUuid(uuid);
await setTagsForTask(uuid, task?.id ?? 0, newTags.toList());
await txn.delete(
'Tags',
where: 'task_uuid = ? AND task_id = ?',
whereArgs: [uuid, taskId],
);

for (String tag in newTags) {
if (tag.trim().isNotEmpty) {
await txn.insert(
'Tags',
{
'name': tag,
'task_uuid': uuid,
'task_id': taskId,
},
);
}
}
}
}
});
}

Future<List<TaskForC>> findTasksWithoutUUIDs() async {
await ensureDatabaseIsOpen();
Expand Down
4 changes: 4 additions & 0 deletions linux/flutter/generated_plugin_registrant.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

#include <file_selector_linux/file_selector_plugin.h>
#include <flutter_timezone/flutter_timezone_plugin.h>
#include <gtk/gtk_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>

void fl_register_plugins(FlPluginRegistry* registry) {
Expand All @@ -17,6 +18,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) flutter_timezone_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterTimezonePlugin");
flutter_timezone_plugin_register_with_registrar(flutter_timezone_registrar);
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
Expand Down
1 change: 1 addition & 0 deletions linux/flutter/generated_plugins.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
file_selector_linux
flutter_timezone
gtk
url_launcher_linux
)

Expand Down
2 changes: 2 additions & 0 deletions macos/Flutter/GeneratedPluginRegistrant.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import FlutterMacOS
import Foundation

import app_links
import connectivity_plus
import file_picker
import file_picker_writable
Expand All @@ -18,6 +19,7 @@ import sqflite_darwin
import url_launcher_macos

func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin"))
FilePickerWritablePlugin.register(with: registry.registrar(forPlugin: "FilePickerWritablePlugin"))
Expand Down
Loading