Widget was only connecting the Core to itself during initialization, but the Core instance could change during a restartCore call. This commit will make Widget link the Core to itself when it changes rather than only on initialization.
Fixes#5710
Functional changes
* Offline messages are still sent when the chat log is cleared
* Spinner now does not wait for history to be complete, just a receipt
from our friend
* Export chat and load chat history are now available in group chats
* Merged save chat log and export chat log
* Note that we lost the info messages in the process
NonFunctional Changes
* FileTransferWidget slots only called for correct file
* Settings::getEnableGroupChatsColor now embedded in
GenericChatForm::colorizeNames
* Settings::setEnableGroupChatscolor now emits signal connected to
GenericChatForm::setColorizedNames to keep state in sync
* Chatlog history not reloaded on setPassword()
* I am pretty sure this had no purpose
* Removed a lot of responsibility from ChatForm
* History moved to ChatHistory implementation of IChatLog
* OfflineMsgEngine moved to FriendMessageDispatcher
* Export chat and load chat history moved to GenericChatLog
* Backed by IChatLog so can be used generically
* Message processing moved to FriendMessageDispatcher
* The action of sending files to coreFile is still handled by
ChatForm, but displaying of the sent messages is done through IChatLog
-> GenericChatForm
* Search moved to ChatHistory/SessionChatLog
* All insertion of chat log elements should be handled by
GenericChatForm now
* Removed overlapping responsibilities from GroupChatForm
* Search and message sending goes through ichatlog/messagedispatcher
too
* Lots of search functionality pushed down into IChatLog
* Some of the file logic was moved into Widget. This is mostly to avoid
scope increase of this PR even further.
* History APIs removed that were no longer used
* From the archeology I managed, MAX_GROUP_MESSAGE_LEN was a workaround
for an old toxcore bug. Testing removal of this parameter and replacing it
with tox_max_message_length() seems to work fine.