The transferbar is separated from the browser, albeit it is still
created and filled from within the browser so it is not completely
independent.
The new class now keeps a list of TransferInfo items to keep track
of transfers and queries the status from the download object.
Destroying a button belonging to a transfer is connected to
removing it from the list and cleaning up the info structure. Also
the Clear button is updated from the destroy handler.
The goal is to get rid of detailed table setups in favour of
automatic alignment with few hints as well as abstracting away
the exact layout to allow reimplementing it in a different form.
Split the code a bit more and use one GtkTreeStore for all
CookieManagerPage instances so we save some cycles when updating
the store when cookies have changed.
This brings back the problem of address and title of items
showing up in the history unfortunately.
Now the history items are appended rather than prepended,
we probably want to fix that in the future.
Finally the trash, which was the last item that
needed to be implemented as an action, is an
action, a KatzeArrayAction to be exact.
This simplifies more code and also makes Window
and RecentlyVisited generically implementable.
Incidentally this change also fixes a bug where
the browser tried to add a new tab when the last
one was closed, even while destroying itself.
Furthermore sokoke_image_menu_item_ellipsized
and sokoke_widget_popup were promoted to Katze.
We're still keeping the old functions for now.
Switch configuration logic from a custom structure to
fully rely on MidoriWebSettings. This includes revamping
the preferences dialog. The old logic is not yet
replaced completely, this will follow soon, thus several
settings will have no effect right now.
Based on the implementation of localization via Gettext
contributed by Enrico Tröger, a few adjustments were made
to allow Midori to be properly localized. Initially
German is fully supported.