1
mirror of https://invent.kde.org/network/falkon.git synced 2024-11-14 11:02:19 +01:00
Commit Graph

667 Commits

Author SHA1 Message Date
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
srazi
a78b595569 Hide sidebar when a web element goes to full screen.
- Closes #2423
2017-08-23 14:02:26 +04:30
srazi
2aa25fe0b1 Windows: At first try to show native default app settings UI (>=Vista). 2017-08-22 14:19:22 +02:00
srazi
21b2685375 Windows: Remove support to set QupZilla as default FTP handler.
- Closes #2417
2017-08-21 21:45:32 +04:30
David Rosca
08274f5bbe Fix build warning 2017-08-19 19:11:45 +02:00
David Rosca
5812721e48 BrowserWindow: Fix failing to enter fullscreen sometimes 2017-08-19 18:52:26 +02:00
David Rosca
aefc3eba38 Disable QWebEngineSettings::FocusOnNavigationEnabled
Keeping this enabled will focus views loaded in background tabs.

Closes #2352
2017-07-19 13:06:25 +02:00
David Rosca
93d4d66054 SessionManager: Add Session Manager dialog instead of menu structure
See #2331
2017-06-08 14:13:15 +02:00
David Rosca
f62665b9d9 SuperMenu: Move help actions to Help submenu
Also move Preferences action above About action
2017-06-08 11:13:22 +02:00
David Rosca
0d2b8b6b81 Change linux desktop file name to org.qupzilla.QupZilla
Closes #2308
2017-06-06 17:56:49 +02:00
David Rosca
49eb9a862e Workaround Ctrl+F keypress being eaten by QtWebEngine 5.9 2017-05-29 17:21:56 +02:00
srazi
755ec16598 Session manager (#2293) 2017-04-07 10:02:27 +02:00
srazi
2654081912 Fix 2178 (#2292)
* CheckBoxDialog: Rewritten to inherit from QMessageBox

-  QMessageBox supports showing checkbox for Qt >= 5.2

* Add option to disable warning message when closing tabs from tabbar context menu.

- Closes #2178
2017-04-05 10:27:03 +02:00
David Rosca
f961958989 Add another key shortcut for reload action
Closes #2290
2017-04-03 15:34:44 +02:00
srazi
ade7b9c690 Refactor some codes related to sessions. (#2280) 2017-03-26 11:27:04 +02:00
srazi
345d03105f macOS: Fix global menu with multiple windows.
- Closes #2261
2017-03-20 11:37:33 +03:30
srazi
9af542aa03 macOS: Disable auto window tabbing (#2261) 2017-03-20 04:28:55 +03:30
David Rosca
076deb7cdd Set PulseAudio property overrides to QupZilla app name and icon
Closes #2262
2017-03-18 17:19:57 +01:00
David Rosca
bfef9e2c03 Merge branch 'v2.1' 2017-03-15 10:53:44 +01:00
David Rosca
d18be6f8e4 ProfileManager: Fix warning when creating new profile 2017-03-15 10:48:00 +01:00
David Rosca
e150e44cc6 Replace Q_OS_MAC with Q_OS_MACOS 2017-02-10 19:00:58 +01:00
David Rosca
8fa9db9f65 Show print preview dialog when printing page
Print directly to QPrinter instead of using intermediate pdf file.
2017-02-06 20:40:40 +01:00
David Rosca
1b365f1e86 Bring back Print Element Background option 2017-02-06 19:52:39 +01:00
David Rosca
13cba7a069 Bump minimum Qt to 5.8 2017-02-06 18:39:59 +01:00
David Rosca
4062473e98 Version 2.1.0 2017-02-04 10:47:24 +01:00
David Rosca
c6a7935a67 Fix MainApplication::styleName() 2017-01-31 21:37:12 +01:00
David Rosca
8e55c3ad3c Fix setting spellcheck languages 2017-01-27 22:46:30 +01:00
David Rosca
e18d2d90bd Register also as url handler for https scheme 2017-01-27 20:59:10 +01:00
Voldracarno Draconor
4729b24c64 Added: Remove cache on close (#2185) 2017-01-27 13:37:56 +01:00
David Rosca
f7005f8d95 NetworkManager: Remove NetworkUrlInterceptor in shutdown
Fixes potential crash on close
2017-01-26 12:35:21 +01:00
Voldracarno Draconor
7738deb721 Added option to delete all cookies on exiting (#2173) 2017-01-22 20:43:41 +01:00
David Rosca
8b992364c4 Fix setting cache maximum size 2017-01-22 09:22:22 +01:00
David Rosca
a049f44757 Each tab now has its own SearchToolBar
Also disable show/hide animations.

SearchToolBar is now above Web Inspector (if visible).
2017-01-21 17:43:41 +01:00
David Rosca
67452c1bf4 Reimplement Windows jumplist with Qt Windows Extras 2017-01-20 11:14:50 +01:00
David Rosca
3a612c07bd Fix Windows build 2017-01-20 11:14:41 +01:00
David Rosca
29bccf9984 Use Qt Windows Extras instead of custom QtWin 2017-01-20 09:58:13 +01:00
David Rosca
f15643b454 BrowserWindow: Restore window states last when leaving fullscreen 2017-01-20 09:37:00 +01:00
David Rosca
271d5f6555 Use Breeze icons as fallback icon set 2016-12-31 14:32:48 +01:00
David Rosca
3e18d17964 Remove icon from About Qt action 2016-12-28 21:35:27 +01:00
David Rosca
2b9e032ccb Always save session on closing browser 2016-12-27 18:55:58 +01:00
David Rosca
e9b226d477 Drop support for pinned tabs without saving session
Pinned tabs are saved alongside normal tabs in a session file.
If user don't have session restore enabled, pinned tabs are saved
and restored from a special pinnedtabs.dat file which uses different
codepath.
It has also another problem that it only saves pinned tabs for last
browser window, which sometimes may be confusing and lead to losing
the pinned tabs.
2016-12-27 18:40:20 +01:00
David Rosca
e9d1771114 ProfileManager: Only warn when using profile from QupZilla 1.x 2016-12-27 18:05:45 +01:00
David Rosca
8cfe4c4c5e Enable QWebEngineSettings::LocalContentCanAccessRemoteUrls 2016-12-27 14:25:08 +01:00
David Rosca
4d51b4c00c Use WebPage::SaveJsWorld for executing scripts
QWebChannel must still be registered on MainWorld
2016-12-26 16:45:47 +01:00
David Rosca
c25e6a99a6 BrowserWindow: Don't focus locationbar when starting with webpage 2016-12-26 14:35:08 +01:00
David Rosca
7c329b1281 ProxyStyle: Don't disable context menu on scrollbars 2016-12-26 13:01:41 +01:00
David Rosca
b5b2bf6a0b Automatically clear old icons and VACUUM database every 20 runs 2016-12-24 11:32:48 +01:00
David Rosca
f0c52c4a85 Fix build with latest QtWebEngine 2016-12-01 21:54:49 +01:00
David Rosca
4d9137a1d9 Add Spell Check config to Preferences
Spell checking now works with QtWebEngine >= 5.8
2016-10-25 23:36:53 +02:00
David Rosca
cf3fa88942 Require Qt 5.7 2016-10-24 20:11:50 +02:00
David Rosca
ce9d3983a0 Bring back Save Page action
Only with Qt >= 5.7

Closes #2083
2016-09-18 12:09:38 +02:00
Kevin Kofler
b9bd2338e4 Add initial printing support with QtWebEngine >= 5.7.0 (#2068)
* Add initial printing support with QtWebEngine >= 5.7.0

This works by printing to PDF first, then sending the PDF to a printer
if printing to a physical printer was requested.

On *nix (including Mac OS X), we use the lpr command, which is typically
provided by CUPS nowadays. Currently, no options beyond the printer name
are passed, there is room for improvement there. (Okular has a
FilePrinter class that handles this in a more sophisticated way.)

On Windows, we use ShellExecuteW with the "printto" verb. In that case,
the printer name is unfortunately the only thing that can be passed. The
user experience may also be suboptimal depending on the PDF viewer
installed on the system. (E.g., Adobe Reader is reported to ignore
SW_HIDE.) And if there is no PDF viewer installed at all, it will of
course not work at all. But it is the best we can do without bundling
something like GhostScript (or requiring the user to install it).

* Printing: Let lpr autoremove the temporary file instead of QTemporaryFile

Only lpr knows for sure when it is safe to delete the temporary file.

* Printing: Use the callback version of printToPdf instead of the file one

The file version is also asynchronous and does not report when it is
done.

* Printing: Use async QProcess API instead of QProcess::execute to run lpr

This also required making tempFile a QTemporaryFile * instead of a
QTemporaryFile on the stack, because QTemporaryFile is a QObject and
cannot be copied.

* Printing: Adapt the FilePrinter from Okular to pass correct lpr args

The license of those files is GPLv2+, which is compatible with
QupZilla's GPLv3+ licensing.
2016-09-14 14:07:07 +02:00
David Rosca
35657e6005 Mac: Fix opening urls from FileOpen event 2016-09-04 15:42:51 +02:00
blaze
bc47a9aba5 Show Bookmark Toolbar when Location Bar gets focus
Optional behaviour providing quick access to bookmarks without
wasting the vertical space
2016-08-23 08:57:11 +02:00
David Rosca
1a183e590b Merge branch 'v2.0' 2016-08-15 14:25:26 +02:00
David Rosca
cce94944f7 Don't hide supermenu button in fullscreen
Also make the supermenu button as last button in toolbar
2016-08-15 14:24:53 +02:00
Vlad
9ae6c12a3c Show navigation in new tab in fullscreen mode (#2055) 2016-08-15 14:24:35 +02:00
spaeps
757c6525f5 Add short command line for all options (#2036) 2016-08-15 14:24:11 +02:00
Vlad
8e12480dc9 Show navigation in new tab in fullscreen mode (#2055) 2016-08-15 13:54:54 +02:00
spaeps
cf5702260c Add short command line for all options (#2036) 2016-07-25 10:24:49 +02:00
David Rosca
7ac832c689 Merge branch 'v2.0' 2016-07-10 17:26:42 +02:00
David Rosca
c12e473ab4 Use setWindowState to toggle fullscreen mode
Use setWindowState instead of showNormal() / showFullScreen()
as that may cause issues in some cases.
2016-07-10 17:26:07 +02:00
David Rosca
ec64be807b Merge branch 'v2.0' 2016-06-14 12:15:48 +02:00
David Rosca
a1cf84572d Use platformName() to check for X11 platform 2016-06-14 11:58:38 +02:00
David Rosca
521d058d71 Merge branch 'v2.0' 2016-06-08 16:25:36 +02:00
David Rosca
4832028600 Version 2.0.1 2016-06-08 16:24:44 +02:00
David Rosca
d1f266cc49 AdBlock: Apply all css rules in WebPage::cleanBlockedObjects 2016-05-27 15:58:21 +02:00
David Rosca
00df74bd64 Don't add user stylesheet script when usercss is empty 2016-05-27 15:57:40 +02:00
David Rosca
509c913cbe AdBlock: Apply all css rules in WebPage::cleanBlockedObjects 2016-05-27 15:55:30 +02:00
David Rosca
a515d92211 Don't add user stylesheet script when usercss is empty 2016-05-27 11:03:40 +02:00
David Rosca
c004d52db1 Run js code in ApplicationWorld with QtWebEngine 5.7 2016-05-10 10:47:35 +02:00
Vlad
be72477855 Remove redundant mkdir instruction (#1963) 2016-05-03 16:49:09 +02:00
David Rosca
9497013197 CommandLineOptions: Don't exit on unknown option
Makes it possible to pass options to Chromium
2016-04-23 09:46:49 +02:00
David Rosca
9a415bf40a Enable updates check only on Windows 2016-04-05 10:20:20 +02:00
David Rosca
055210ca0a Hide "Inspect Element" when web inspector is not enabled
Closes #1905
2016-04-05 09:30:43 +02:00
ravas
effda91f7c ensured the window geometry is remembered on OS X
* ensured the window geometry is remembered on OS X

It was always starting based on:
int windowWidth = desktop->availableGeometry().width() / 1.3;
int windowHeight = desktop->availableGeometry().height() / 1.3;

because quitApp isn’t called on OS X.

* ensured the window geometry is remembered on OS X (v2)

* tweaked coding style
2016-04-05 09:07:40 +02:00
David Rosca
5f84f29c4b Also backup settings.ini when incompatible profile is detected 2016-03-30 14:10:57 +02:00
David Rosca
a66e179b40 Misc fixes
Correctly initialize QJsonParserError
2016-03-30 11:53:41 +02:00
David Rosca
71b6d922be WebView: Handle create WebBrowserWindow
Instead of custom handling of shift + mouse click, use
QWebEngineView::createWindow. It should fix the issue with
JavaScript catching the mouse click performing some action
and QupZilla trying to open new window.

Closes #1898
2016-03-30 09:10:57 +02:00
David Rosca
91e6c2eb71 Mac: Fix crash on startup when showing incompatible profile dialog
QEvent::ApplicationActivate is sent when incompatible profile
warning QMessageBox is shown. We should not create new BrowserWindow
at this point as the initialization is not yet completed.

New window should really be only created when there is no
application window at all.

Closes #1890
2016-03-21 11:09:44 +01:00
trnkava1
89d565da6a Mac: Fixed opening Main Menu from button 2016-03-19 14:04:25 +01:00
David Rosca
f46364bc55 Fix typo changeOcurred -> changeOccurred 2016-02-26 10:43:34 +01:00
David Rosca
96bc812c50 Update copyright year to 2016 2016-02-25 18:50:49 +01:00
David Rosca
be110d2d8f Don't focus locationbar of non-empty tab when restoring session 2016-02-25 18:47:46 +01:00
David Rosca
54f3e78396 Fix grammar "Are you sure to..." -> "Are you sure you want to..." 2016-02-15 09:58:14 +01:00
David Rosca
06b2414d80 Focus locationbar on startup if url of current tab is empty 2016-01-27 13:23:28 +01:00
David Rosca
6c30379077 Enable Qt 5.6 HighDpiScaling 2016-01-27 13:05:25 +01:00