summaryrefslogtreecommitdiff
path: root/core/database.vala
Commit message (Collapse)AuthorAgeFilesLines
* Implement built-in session extension (#65)Christian Dywan2018-10-311-5/+6
| | | | | | | | | | | | | | | | | - The database schema is compatible with the original tabby. - Every browser is a "session". - Each tab is part of a session and can be closed. - The last closed session (window) is restored as a fallback. - `Midori.Database.insert/ update/ delete` become virtual. - `Midori.Browser.tabs` is made public. - `Midori.Browser.add` ensures there's at least one visible tab. - The new `ClearPrivateDataActivatable` allows adding buttons and clearing data used by an extension, in this case previously open tabs. Follow-ups: - See #70 for closed storing tabs in the session - See #71 for historing tab history - See #142 for re-rodering of tabs Closes: #41
* Make web process aware of core settings (#132)Christian Dywan2018-10-261-9/+0
| | | | | | | | | | - Expose `Settings` API natively to web process - Use `Config.PROJECT_NAME` to find config folder - Automatically reload external changes to Settings - Changed values on `get_boolean/string` access - Unify plugin loading in `Plugins` Fixes: #116 Fixes: #118
* Privacy: first party cookie flag and history limit (#100)Christian Dywan2018-10-161-1/+37
| | | | | | | | | - First party cookie checkbox - Select maximum time to keep history for - Provide same selection in Clear Private Data - Move clear up into Midori.Database - Add internal feature to periodically cap data ![screenshot from 2018-10-15 23-00-42](https://user-images.githubusercontent.com/1204189/46978396-23122700-d0cf-11e8-8c13-974e0d650185.png)
* Implement built-in bookmark extension (#80)Christian Dywan2018-10-091-2/+2
| | | | | | | | | | | | | | | | | * Implement built-in bookmark extension - Bookmarks can be added or edited via a toolbar button. - Existing bookmarks will be suggested as completion items. - `Midori.Database.update/ insert` become virtual. - `Midori.Browser.uri` exposes URI without keeping track of tabs. - Plugins in browser are called only after app is set. Follow-ups: - See #79 for bookmarks management in a panel Closes: #40 * Implement "Remove" button
* Decouple database readonly behavior from App.incognito (#58)Christian Dywan2018-09-151-1/+6
| | | | | | | | Databases other than History may need to be writable even in a private browsing context, and more importantly there can be browsers in different modes at the same time. This also makes it possible to hide delete buttons and not rely on errors when trying to modify the database.
* Introduce DatabaseItem.id to expose row_id (#51)Christian Dywan2018-09-131-11/+38
| | | | | | - The `rowid` is more specific than the URI of an item. - A dedicated `lookup` method can get refer to itself via the `id`. - `contains` only ever needs to return a single row. - No need to use a `WHERE` clause for queries with no filter.
* More fine-grained Activatable interfaces (#42)Christian Dywan2018-09-071-15/+26
| | | | | | | | | | | | * `Plugins.plug` now takes a type and property, consumer connects signals. * Generation of a GIR file. * Preparation for built-in extensions in `extensions` folder. * Tweaks to `Database` to avoid exposing `Sqlite` namespace in public API. Note: Avoiding `owned get; construct;` with `Activatable` interfaces as used in the definition of `Peas.Activatable` because it triggers a lot of internal compiler assertions at build time. Fixes: #35
* Make completion more reliable and add placeholder (#9)Christian Dywan2018-08-091-5/+18
| | | | | | Use cancellable to make populating more reliable. Also fix focussing and add a placeholder text for the empty urlbar. ![screenshot from 2018-07-31 23-36-23](https://user-images.githubusercontent.com/1204189/43488804-26b046a2-951b-11e8-9bee-fc53a3b4f6a3.png)
* Delayed loading of tabs (#1)Christian Dywan2018-07-181-2/+2
| | | Tabs should only take the URI to be loaded as "display-uri" and not actually load it until getting focus. To make this look smooth, the title is looked up in the history (the URI will be taken from the favicon database automatically as usual).
* Rewrite browser core completely in ValaChristian Dywan2018-07-091-0/+519