@@ -213,11 +213,11 @@ public class Mail.ConversationList : Gtk.Box {
213213 return ;
214214 }
215215
216- if (! (flag in (int )node. message . flags)) {
217- node. message . set_flags (flag, ~0 );
216+ if (! (flag in (int )(( Camel . MessageInfo ? ) node. get_item ()) . flags)) {
217+ (( Camel . MessageInfo ? ) node. get_item ()) . set_flags (flag, ~0 );
218218 }
219219
220- for (unowned Camel . FolderThreadNode ? child = node. child ; child != null ; child = child. next ) {
220+ for (unowned Camel . FolderThreadNode ? child = node. get_child () ; child != null ; child = child. get_next () ) {
221221 set_thread_flag (child, flag);
222222 }
223223 }
@@ -269,17 +269,17 @@ public class Mail.ConversationList : Gtk.Box {
269269
270270 var search_result_uids = get_search_result_uids (current_account. service. uid);
271271 if (search_result_uids != null ) {
272- var thread = new Camel .FolderThread (folder, search_result_uids, false );
272+ var thread = new Camel .FolderThread (folder, ( GLib . GenericArray<string> ? ) search_result_uids, Camel . FolderThreadFlags . NONE );
273273 threads[current_account. service. uid] = thread;
274274
275- weak Camel . FolderThreadNode ? child = thread. tree ;
275+ weak Camel . FolderThreadNode ? child = thread. get_tree () ;
276276 while (child != null ) {
277277 if (cancellable. is_cancelled ()) {
278278 break ;
279279 }
280280
281281 add_conversation_item (folder_info_flags[current_account. service. uid], child, thread, current_account. service. uid);
282- child = child. next ;
282+ child = child. get_next () ;
283283 }
284284 }
285285 } catch (Error e) {
@@ -326,7 +326,7 @@ public class Mail.ConversationList : Gtk.Box {
326326 return ;
327327 }
328328
329- threads[service_uid] = new Camel .FolderThread (folders[service_uid], search_result_uids, false );
329+ threads[service_uid] = new Camel .FolderThread (folders[service_uid], ( GLib . GenericArray<string> ? ) search_result_uids, Camel . FolderThreadFlags . NONE );
330330
331331 var removed = 0 ;
332332 change_info. get_removed_uids (). foreach ((uid) = > {
@@ -338,33 +338,33 @@ public class Mail.ConversationList : Gtk.Box {
338338 }
339339 });
340340
341- unowned Camel . FolderThreadNode ? child = threads[service_uid]. tree ;
341+ unowned Camel . FolderThreadNode ? child = threads[service_uid]. get_tree () ;
342342 while (child != null ) {
343343 if (cancellable. is_cancelled ()) {
344344 return ;
345345 }
346346
347- var item = conversations[child. message . uid];
347+ var item = conversations[(( Camel . MessageInfo ? ) child. get_item ()) . uid];
348348 if (item == null ) {
349349 add_conversation_item (folder_info_flags[service_uid], child, threads[service_uid], service_uid);
350350 } else {
351351 if (item. is_older_than (child)) {
352- conversations. unset (child. message . uid);
352+ conversations. unset ((( Camel . MessageInfo ? ) child. get_item ()) . uid);
353353 list_store. remove (item);
354354 removed++ ;
355355 add_conversation_item (folder_info_flags[service_uid], child, threads[service_uid], service_uid);
356356 };
357357 }
358358
359- child = child. next ;
359+ child = child. get_next () ;
360360 }
361361
362362 list_store. items_changed (0 , removed, list_store. get_n_items ());
363363 }
364364 }
365365 }
366366
367- private GenericArray<string> ? get_search_result_uids (string service_uid ) {
367+ private GenericArray<weak string> ? get_search_result_uids (string service_uid ) {
368368 var style_context = filter_button. get_style_context ();
369369 if (hide_read_switch. active || hide_unstarred_switch. active) {
370370 if (! style_context. has_class (Granite . STYLE_CLASS_ACCENT )) {
@@ -381,7 +381,7 @@ public class Mail.ConversationList : Gtk.Box {
381381
382382 var has_current_search_query = search_entry. text. strip () != " " ;
383383 if (! has_current_search_query && ! hide_read_switch. active && ! hide_unstarred_switch. active) {
384- return folders[service_uid]. get_uids ();
384+ return folders[service_uid]. dup_uids ();
385385 }
386386
387387 string [] current_search_expressions = {};
@@ -406,20 +406,22 @@ public class Mail.ConversationList : Gtk.Box {
406406 string search_query = " (match-all (and " + string . joinv (" " , current_search_expressions) + " ))" ;
407407
408408 try {
409- return folders[service_uid]. search_by_expression (search_query, cancellable);
409+ GenericArray<weak string> ? uids = null ;
410+ folders[service_uid]. search_sync (search_query, out uids, cancellable);
411+ return uids;
410412 } catch (Error e) {
411413 if (! (e is GLib . IOError . CANCELLED )) {
412414 warning (" Error while searching: %s " , e. message);
413415 }
414416
415- return folders[service_uid]. get_uids ();
417+ return folders[service_uid]. dup_uids ();
416418 }
417419 }
418420 }
419421
420422 private void add_conversation_item (Camel .FolderInfoFlags folder_info_flags , Camel .FolderThreadNode child , Camel .FolderThread thread , string service_uid ) {
421423 var item = new ConversationItemModel (folder_info_flags, child, thread, service_uid);
422- conversations[child. message . uid] = item;
424+ conversations[(( Camel . MessageInfo ? ) child. get_item ()) . uid] = item;
423425 list_store. add (item);
424426 }
425427
@@ -439,28 +441,28 @@ public class Mail.ConversationList : Gtk.Box {
439441 public void mark_read_selected_messages () {
440442 var selected_rows = list_box. get_selected_rows ();
441443 foreach (var row in selected_rows) {
442- ((( ConversationItemModel )row). node). message . set_flags (Camel . MessageFlags . SEEN , ~0 );
444+ ((Camel . MessageInfo ? ) ((( ConversationItemModel )row). node). get_item ()) . set_flags (Camel . MessageFlags . SEEN , ~0 );
443445 }
444446 }
445447
446448 public void mark_star_selected_messages () {
447449 var selected_rows = list_box. get_selected_rows ();
448450 foreach (var row in selected_rows) {
449- ((( ConversationItemModel )row). node). message . set_flags (Camel . MessageFlags . FLAGGED , ~0 );
451+ ((Camel . MessageInfo ? ) ((( ConversationItemModel )row). node). get_item ()) . set_flags (Camel . MessageFlags . FLAGGED , ~0 );
450452 }
451453 }
452454
453455 public void mark_unread_selected_messages () {
454456 var selected_rows = list_box. get_selected_rows ();
455457 foreach (var row in selected_rows) {
456- ((( ConversationItemModel )row). node). message . set_flags (Camel . MessageFlags . SEEN , 0 );
458+ ((Camel . MessageInfo ? ) ((( ConversationItemModel )row). node). get_item ()) . set_flags (Camel . MessageFlags . SEEN , 0 );
457459 }
458460 }
459461
460462 public void mark_unstar_selected_messages () {
461463 var selected_rows = list_box. get_selected_rows ();
462464 foreach (var row in selected_rows) {
463- ((( ConversationItemModel )row). node). message . set_flags (Camel . MessageFlags . FLAGGED , 0 );
465+ ((Camel . MessageInfo ? ) ((( ConversationItemModel )row). node). get_item ()) . set_flags (Camel . MessageFlags . FLAGGED , 0 );
464466 }
465467 }
466468
0 commit comments