1
mirror of https://invent.kde.org/network/falkon.git synced 2024-11-15 03:22:11 +01:00
Commit Graph

150 Commits

Author SHA1 Message Date
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
ee62ad0215 Use correct web settings in private browsing mode
Closes #2427
2018-01-02 22:59:17 +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
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
f5ad4424aa TabWidget: Add insertView method for WebTab 2018-01-01 16:58:02 +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
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
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
Luigi Toscano
3c67be06b9 Fix UI strings with plural forms
Otherwise those strings can not be extracted.
2017-09-26 01:37:46 +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
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
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
345d03105f macOS: Fix global menu with multiple windows.
- Closes #2261
2017-03-20 11:37:33 +03:30
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
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
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
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
c25e6a99a6 BrowserWindow: Don't focus locationbar when starting with webpage 2016-12-26 14:35:08 +01:00
David Rosca
cf3fa88942 Require Qt 5.7 2016-10-24 20:11:50 +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
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
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
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
a1cf84572d Use platformName() to check for X11 platform 2016-06-14 11:58:38 +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
a66e179b40 Misc fixes
Correctly initialize QJsonParserError
2016-03-30 11:53:41 +02:00