Feature #512
closedPersistent pinned status
Description
Since I've implemented stubs for global Session Manager in LeechCraft, it's now possible to save the state of pinned tabs.
Tabs that support saving state now implement the IRecoverableTab
interface (defined in interfaces/ihaverecoverabletabs.h
). Data that identifies the tab could be obtained via the IRecoverableTab::GetTabRecoverData()
method. One could hook to the IRecoverableTab::tabRecoverDataChanged()
signal to keep in sync the association between recover data and the corresponding widget in the UI.
Later, when tabs are restored on next startup, the IHaveRecoverableTabs::tabRecovered(const QByteArray&, QWidget*)
signal is emitted, so one could use it to restore any additional state of the tab.
I also suggest moving Pinned feature out of the Core to a plugin, since it becomes too big for that.