David Rosca
86d3ebebc7
Add new Falkon icon
2018-02-23 12:58:04 +01:00
David Rosca
5e88ea7949
Add Falkon UserBase Wiki links
2018-02-16 15:24:49 +01:00
David Rosca
0706cd1997
QzCommon: Move bookmarksVersion to Bookmarks
2018-02-16 14:32:06 +01:00
David Rosca
cf7d077e3a
QzCommon: Add BUGSADDRESS
...
Also remove WIKIADDRESS and change urls to KDE/Falkon
2018-02-16 14:30:44 +01:00
David Rosca
c83f7e3c01
Remove any remaining Oxygen style workarounds
2018-02-16 12:04:46 +01:00
David Rosca
e4c2194177
ComboTabBar: Force close button on right side
...
This mainly applies to macOS where close buttons are normally on left side,
but native macOS tabbar doesn't use icons and it looks wrong with icons.
2018-02-16 12:04:29 +01:00
David Rosca
4a1d807fec
Remove QzRegExp
...
Port directly to QRegularExpression everywhere
2018-02-11 10:54:59 +01:00
David Rosca
c90e0fefd7
Make it possible to override FALKON_PLUGIN_PATH from cache
2018-02-11 09:03:46 +01:00
David Rosca
f5390ed619
CookieManager: Change to QDialog
2018-02-09 18:14:00 +01:00
David Rosca
d8174fb079
More overrides
2018-02-07 12:04:02 +01:00
David Rosca
fd759ded62
PluginProxy: Set MainApplication as parent
2018-02-07 11:24:29 +01:00
David Rosca
6c94d40187
BrowserWindow: Make Ctrl+PgUp/Down shortcuts use tab bar order
2018-02-06 17:39:47 +01:00
David Rosca
0f2728e49e
BrowserWindow: Always create tab models in initialization
2018-02-06 17:39:33 +01:00
David Rosca
0bf881c168
Plugins: Hook key events in TabWidget
2018-02-04 17:21:42 +01:00
David Rosca
6985a8567a
RestoreManager: Validate all elements in session file
...
Session file can be corrupted or have data from unsupported version
inside the file.
2018-02-04 17:20:10 +01:00
David Rosca
ae4d971d1a
BrowserWindow: Add aboutToClose signal
2018-02-04 17:18:35 +01:00
David Rosca
16c7af63b6
BrowserWindow: Add accessor for TabModel
2018-02-04 16:58:43 +01:00
David Rosca
1c7288204c
ProfileManager: Never allow to use session from newer profile version
...
Always make a backup instead of possibly corrupting it.
2018-01-31 21:04:54 +01:00
David Rosca
f8531ac632
MainMenu: Fix null session manager warnings in test mode
2018-01-31 20:45:32 +01:00
David Rosca
056d5ec3aa
Autotests: Clean test profile directory before each test
2018-01-29 00:24:09 +01:00
David Rosca
069c10c1f1
BrowserWindow: Don't show window in test mode
2018-01-29 00:21:49 +01:00
David Rosca
fa8fe079cb
SqlDatabase: Correctly create new connections for threads
...
In Qt 5.11 QSqlDatabase can be accessed only from thread where
it was created, so it is no longer possible to clone it from other
threads.
2018-01-28 12:56:32 +01:00
David Rosca
723aee6a33
MainApplication: Load private.css style from theme in private browsing
...
Closes #2575
2018-01-28 12:52:21 +01:00
David Rosca
0af95e3b1f
MainApplication: Add support for starting in test mode
2018-01-27 10:56:02 +01:00
David Rosca
7265c30aa8
Add Downloads, AdBlock and GreaseMonkey buttons to statusbar
2018-01-24 20:37:10 +01:00
David Rosca
444884bee9
Rename StatusBarMessage -> StatusBar
2018-01-24 20:36:34 +01:00
David Rosca
19bb93a4c5
MainApplication: Load UserAgentManager settings before NetworkManager
...
NetworkManager depends on UserAgentManager being loaded.
Fixes user agent settings not being applied on startup.
2018-01-24 20:34:34 +01:00
David Rosca
7b0aa61975
ProfileManager: Avoid losing session when loading profile from newer app version
...
Backup session in session manager named "backup-$version".
See #2520
2018-01-24 15:13:43 +01:00
David Rosca
6f20d5e511
Move build config options to config.h
...
Also remove NO_SYSTEM_DATAPATH and DISABLE_UPDATES_CHECK
2018-01-24 14:26:13 +01:00
David Rosca
d1502ba68e
Use lowercase f in reverse domain name
2018-01-24 11:56:25 +01:00
David Rosca
4f0c30c5c7
Add support for window.print()
...
Closes #2509
2018-01-13 16:42:03 +01:00
David Rosca
692d55fff7
AdBlock: Move remaining code to adblock subdir
2018-01-11 20:03:14 +01:00
David Rosca
3608b48f6e
BrowserWindow: Simplify fullscreen handling
2018-01-11 19:58:13 +01:00
David Rosca
3833447767
BrowserWindow: Fix restoring maximized state after leaving fullscreen
2018-01-11 19:57:17 +01:00
David Rosca
e0e62c6e81
SearchEngines: Add back support for window.external.AddSearchProvider
2018-01-11 19:57:10 +01:00
David Rosca
059889ecfe
BrowserWindow: Don't show "Empty Page" in window title
2018-01-11 19:55:44 +01:00
David Rosca
4bf85ee3cb
WebPage: Register QWebChannel on isolated ApplicationWorld
...
This way scripts on pages don't have access to it.
Exception is qupzilla: scheme as internal pages requires the bridge.
GreaseMonkey userscripts now runs on ApplicationWorld too. This fixes
userscript that depend on script world being isolated from main page world.
Tested with 4ChanX + OneeChan.
2018-01-11 19:55:01 +01:00
David Rosca
f16580dc05
AdBlockPlugin: Change into real internal plugin
2018-01-11 19:51:47 +01:00
David Rosca
bfc3b0bf4a
Load userChrome.css Qt style sheet from profile directory
...
Allows to fine-tune interface without directly modifying themes.
2018-01-11 19:49:07 +01:00
David Rosca
1f9599aac7
Add DownloadsButton to navigation toolbar
...
It is visible only when there are items in download manager and shows
number of active downloads in badge text.
2018-01-11 19:48:43 +01:00
David Rosca
e33174100e
NavigationBar: Bring back exit fullscreen button
...
This time it is configurable and hidden by default.
2018-01-11 19:46:44 +01:00
David Rosca
50d1bb6d96
ComboTabBar: Add possibility to change base color from stylesheets
2018-01-11 19:46:33 +01:00
David Rosca
670e06cbc6
Change back "Sidebars" -> "Sidebar"
2018-01-11 19:44:59 +01:00
David Rosca
6806fa5405
AbstractButtonInterface: Use WebView property instead of WebPage
...
WebView of a tab will not change while WebPage may.
This also fixes crash when WebPage of WebView is changed. It can happen
eg. when opening new tab from page with target=_blank.
Closes #2537
2018-01-11 19:42:38 +01:00
David Rosca
ad3780e8df
MainApplication: Sync settings after writing isRunning value
...
Fixes correctly detecting crashes during session restore.
2018-01-11 19:40:38 +01:00
David Rosca
e41b0edf0a
Make qupzilla:restore working also with disabled JavaScript
...
Instead of temporarily enabling JavaScript, make the page functional
without it.
2018-01-11 19:40:31 +01:00
David Rosca
ff1171abf0
AdBlock: Make it as self-contained as possible
...
It could be easy now to turn it into real loadable plugin.
2018-01-11 19:36:32 +01:00
David Rosca
401e600821
AdBlock: Remove action from Tools menu
2018-01-11 19:34:52 +01:00
David Rosca
2d698edd21
BrowserWindow: Fix crash when restoring geometry of fullscreen window
2018-01-11 19:32:59 +01:00
David Rosca
4a4d5b72ad
Add NavigationBarConfigDialog
...
Allows to change layout of navigation bar and hide/show search bar.
2018-01-11 19:32:54 +01:00
David Rosca
0cbbd197ca
AdBlockIcon: Move from statusbar to navigationbar as tool button
2018-01-11 19:29:09 +01:00
David Rosca
6824ea17f2
NavigationBar: Add support for adding additional tool buttons
2018-01-11 19:28:32 +01:00
David Rosca
c0ac5ce0a2
BrowserWindow: Use QActionGroup for encoding menu
2018-01-11 19:26:06 +01:00
David Rosca
0b8a693bca
NavigationBar: Add Tools button
...
It now contains toolbars and sidebars menus and configure
action that doesn't work yet.
2018-01-11 19:25:54 +01:00
David Rosca
d380d54ef8
NavigationBar: Add support for loading layout from config
...
There is no ui to configure it for now.
2018-01-11 19:25:41 +01:00
David Rosca
2e7a77a6b4
NavigationBar: Remove exit fullscreen button
2018-01-11 19:24:58 +01:00
David Rosca
fa4fba5f49
BrowserWindow: Add tabCount() method
2018-01-11 19:23:43 +01:00
David Rosca
5cc41d219e
Always open new window when restoring session after crash
...
Also remove special handling for qupzilla:restore tabs.
2018-01-11 19:23:36 +01:00
David Rosca
3f60c554ee
ClosedWindowsManager: Save closed windows into session file
2018-01-11 19:21:59 +01:00
David Rosca
0b6c555c62
Only show restore page when crashing during session restore
...
If app crashes during one minute after restoring crashed session,
show the restore page with options to the user next time instead
of showing restore page after every crash.
2018-01-11 19:21:54 +01:00
David Rosca
c85d33e92a
MainApplication: Completely remove isRestoring state
...
Restoring session should not be any different from simply opening
regular session.
2018-01-11 19:21:47 +01:00
David Rosca
f2002892aa
Save previous crashed session that were not restored to session file
...
Closes #2331
2018-01-11 19:21:17 +01:00
David Rosca
482f446712
RestoreManager: Make RestoreData into a struct with stream operators
...
This makes it possible to extend it while keeping backwards compatibility.
2018-01-11 19:09:44 +01:00
Luís Pereira
0096801556
Don't call non-const member functions on temporaries
...
They can detach if the container is shared. Even if they are not shared,
using const method when possible is good practice.
Differential Revision: https://phabricator.kde.org/D9730
2018-01-11 19:05:56 +01:00
David Rosca
ee62ad0215
Use correct web settings in private browsing mode
...
Closes #2427
2018-01-02 22:59:17 +01:00
David Rosca
72c6a73e29
MainApplication: Fix opening session with SelectSession after launch action
2018-01-02 22:56:49 +01:00
David Rosca
1aa4b41151
BrowserWindow: Save sidebar for each window
...
Allows to have different sidebar on each window.
2018-01-02 22:56:41 +01:00
David Rosca
1de32182c1
BrowserWindow: Don't restore first app window from postLaunch slot
...
Instead restore it immediately after creation from MainApplication
as all other window types.
2018-01-02 22:55:58 +01:00
David Rosca
6b08e17dcd
BrowserWindow: Save ui state separately for each window
2018-01-02 22:55:50 +01:00
David Rosca
423e06c7d6
BrowserWindow: Always save/restore window geometry
2018-01-02 22:55:19 +01:00
David Rosca
ed39aefdad
Change structure of session file + also save window geometry
...
Bump session file version to 4.
Added support for old version to RestoreManager to prevent losing
old saved sessions.
2018-01-02 22:55:09 +01:00
David Rosca
25b1583770
Fix merge issues
2018-01-02 15:22:35 +01:00
David Rosca
a578314e8e
MainMenu: Remove all aboutToHide menu handling
...
Instead create conflicting shortcuts with Qt::WidgetShortcut context.
2018-01-02 15:15:20 +01:00
David Rosca
ef06ed567a
Add ClosedWindowsManager allowing to restore closed windows
...
Closes #2306
2018-01-02 15:03:11 +01:00
David Rosca
b3bd08c5e4
BrowserWindow: Add SavedWindow struct and use it for saving/restoring
2018-01-02 15:01:16 +01:00
David Rosca
4b33364516
Update copyright year to 2018
2018-01-01 16:59:46 +01:00
David Rosca
f5ad4424aa
TabWidget: Add insertView method for WebTab
2018-01-01 16:58:02 +01:00
David Rosca
0e25eb2e92
SuperMenu: Remove session manager actions in private mode
2018-01-01 16:57:09 +01:00
David Rosca
3aa629ceac
BrowserWindow: Make sure window is shown before restoring session
...
Same reasoning as 639ecf3626dc5fa667acb17fa35bc398bdaf4712
2017-12-30 18:06:14 +01:00
David Rosca
5ecf3d8b98
Remove leftover references to no longer used pinnedtabs.dat file
2017-12-30 18:06:06 +01:00
David Rosca
397e2f714e
Set default button for all CheckBoxDialogs
...
Default button is now focused instead of checkbox.
2017-12-30 18:05:47 +01:00
David Rosca
53f6ef91ac
Temporarily enable JavaScript when loading qupzilla:restore page
2017-12-30 18:04:43 +01:00
David Rosca
736e3121bc
BrowserWindow: Show window before creating web views
...
Otherwise QWebEngineView first creates its underlying view with very
small size which then gets resized to correct size on first show event.
Also remove all calls to setUpdatesEnabled on window during session restore,
it doesn't seem to have any effect anymore.
2017-12-30 18:04:11 +01:00
David Rosca
c1c168aae9
Create every QSqlQuery with correct database for current thread
...
Queries are now always executed on correct database instance.
Databases are also stored in thread local storage instead of in hash
table with mutex.
Closes #2498
2017-12-18 13:06:42 +01:00
David Rosca
fba7b3d9fc
Fix saving window state when closing app with Ctrl+Q shortcut
...
Closes #2444
2017-12-05 13:51:29 +01:00
David Rosca
ee5a11ae72
Fix initial focus when opening new browser window
...
Web page is now correctly focused when opening browser window
or opening/restoring sessions.
This is still not absolutely reliable solution as it uses delay
to change focus to webview, because QWebEngineView doesn't accept
focus until after it is initialized.
2017-12-03 19:10:34 +01:00
David Rosca
b03c5f3cb0
MainApplication: Don't call processEvents when restoring session
...
It seems to help with QtWebEngine crashes during session restore
2017-12-03 19:10:18 +01:00
David Rosca
687f797f27
Fix switching focus when loading url with BrowserWindow::loadAddress
...
Also accept key events when handled
Closes #2504
2017-12-03 19:10:10 +01:00
David Rosca
0049c2b7ac
ProfileManager: Create database structure from SQL
...
Instead of copying pre-made binary database, create tables from SQL.
2017-11-13 13:25:30 +01:00
David Rosca
b6288358ef
Don't create temporary dir in $HOME
...
BUG: 386235
2017-10-27 14:22:39 +02:00
David Rosca
9c3f38fa11
Fix installing and loading plugins
2017-10-27 14:14:40 +02:00
David Rosca
d3f4b59d66
Remove no longer working USE_LIBPATH build option
2017-10-27 13:33:45 +02:00
Razi Alavizadeh
ebd8dd051e
Windows: Fix compile issues after build system changed to cmake.
...
Differential Revision: https://phabricator.kde.org/D8079
2017-10-03 11:03:35 +03:30
Luigi Toscano
3c67be06b9
Fix UI strings with plural forms
...
Otherwise those strings can not be extracted.
2017-09-26 01:37:46 +02:00
Harald Sitter
b60b2e36e9
port DataPaths to QStandardPaths backing
...
Summary:
This streamlines the code across all platforms and outsources the path
building to QSP which implements the multi-platform logic.
This keeps AppData lookup paths where they were (with additional lookup
paths from QSP).
Config location changes on Windows (from local to roaming) and OS X
(from `Application Support` to `Preferences`).
Cache also changes location on Windows and OS X.
Temporary directory management is entirely outsourced to QTemporaryDir
which is kept in a scoped pointer so it gets cleaned up on exit.
Reviewers: drosca
Reviewed By: drosca
Differential Revision: https://phabricator.kde.org/D7767
2017-09-18 12:57:23 +02:00
Harald Sitter
2b3b95ae36
change qapp applicationName to lower case
...
Summary:
NB: this changes the standard config name of default constructed QSettings
(a quick grep seems to suggest there is no default constructed QSettings
though, so this should be fine).
Aligning the applicationName with the spelling in the installation paths
on case sensitive systems allows us to use QStandardPaths' built-in
handling for application-specific paths instead of having to manually
append /falkon to various paths.
Test Plan: still seems to be working on linux
Reviewers: drosca
Reviewed By: drosca
Differential Revision: https://phabricator.kde.org/D7721
2017-09-11 14:13:47 +02:00
David Faure
d69e5458f9
First steps towards a cmake buildsystem, currently only builds src/lib.
...
USE_DATADIR no longer exists, QStandardPaths::standardLocations is used
unless NO_SYSTEM_DATAPATH is set.
2017-09-09 20:27:44 +02:00
Harald Sitter
58e4b9a3a7
extend data paths with standard paths from QStandardPaths
...
Summary:
this is, for now, backwards compatible. in the long run a full move
to QSP instead of manually doing path lookup would be good though.
as that ideally means aligning capitalization between appname and on-disk
paths we'll avoid that for now.
fixes data lookup from XDG paths making the binary partially relocatable
and properly configurable via XDG paths (e.g. corporate branding or what
have you)
Test Plan: - theme path resolution now walks all XDG paths
Reviewers: drosca
Reviewed By: drosca
Differential Revision: https://phabricator.kde.org/D7600
2017-08-29 14:38:46 +02:00
David Rosca
efff69b7b2
Continue with Falkon renaming
2017-08-25 17:55:52 +02:00
David Rosca
d00e769749
Initial rename to Falkon
2017-08-25 17:32:32 +02:00