summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-09-26 20:04:07 +0300
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-09-26 20:04:07 +0300
commit1b67f05a148e7d9480e5b97b70d4af72ce551485 (patch)
treedf561ae49810f5c571c81031c5d660b35667e40a
parentff459a750f2c810142636bf292cdd36cb6a911aa (diff)
Bookmarks: New items added to end of lists
Use max order for new bookmarks and folders.
-rw-r--r--src/bookmarks.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/bookmarks.c b/src/bookmarks.c
index fe2ca47a..67c6a25f 100644
--- a/src/bookmarks.c
+++ b/src/bookmarks.c
@@ -327,6 +327,15 @@ void save_Bookmarks(const iBookmarks *d, const char *dirPath) {
327 unlock_Mutex(d->mtx); 327 unlock_Mutex(d->mtx);
328} 328}
329 329
330static int maxOrder_Bookmarks_(const iBookmarks *d) {
331 int ord = 0;
332 iConstForEach(Hash, i, &d->bookmarks) {
333 const iBookmark *bm = (const iBookmark *) i.value;
334 ord = iMax(ord, bm->order);
335 }
336 return ord;
337}
338
330uint32_t add_Bookmarks(iBookmarks *d, const iString *url, const iString *title, const iString *tags, 339uint32_t add_Bookmarks(iBookmarks *d, const iString *url, const iString *title, const iString *tags,
331 iChar icon) { 340 iChar icon) {
332 lock_Mutex(d->mtx); 341 lock_Mutex(d->mtx);
@@ -340,6 +349,7 @@ uint32_t add_Bookmarks(iBookmarks *d, const iString *url, const iString *title,
340 } 349 }
341 bm->icon = icon; 350 bm->icon = icon;
342 initCurrent_Time(&bm->when); 351 initCurrent_Time(&bm->when);
352 bm->order = maxOrder_Bookmarks_(d) + 1; /* Last in lists. */
343 insert_Bookmarks_(d, bm); 353 insert_Bookmarks_(d, bm);
344 unlock_Mutex(d->mtx); 354 unlock_Mutex(d->mtx);
345 return id_Bookmark(bm); 355 return id_Bookmark(bm);