Commit Graph

894 Commits

Author SHA1 Message Date
Florian Bruhin
1220f0c5fd Move webelem from utils to browser. 2014-09-08 10:30:05 +02:00
Florian Bruhin
6f22319158 webview: Fix insert mode check. 2014-09-08 10:23:18 +02:00
Florian Bruhin
57d51ad9bb Lots of fixes for new command system.
Squashed commit:

- Fix getting current URL
- Get rid of *args for hints.
- Make enums work.
- Fix moving commands to utilcmds.
- Fix enums in argparse
- Fix arg splitting for hints.
- Fix default enum args.
- Fix argument splitting for hints if None is given.
- Fix set_cmd_text with flags and fix {url}.
- Fix unittests
- Fix tuple types for arguments.
- Fix scroll-page.
- Fix lint
- Fix open_target.
- Others
2014-09-08 07:36:17 +02:00
Florian Bruhin
a811f8cb07 Start initial newcmd stuff. 2014-09-08 07:36:17 +02:00
Florian Bruhin
b856bf3a47 Improve webelement API 2014-09-04 20:30:59 +02:00
Florian Bruhin
15b8c553c8 Fix rl-unix-line-discard by reimplementing QLineEdit::home. 2014-09-03 21:30:30 +02:00
Florian Bruhin
71796e9528 Fix statusbar text when entering insert mode via hints.
Before, hints cleaned the statusbar text delayed, clearing the "==== INSERT
MODE ====" in the statusbar.

Now we only reset the text if it wasn't changed.
2014-09-03 11:51:24 +02:00
Florian Bruhin
ccfc0b3c19 Get rid of most @property's.
They were problematic because they're executing hidden code, and also PyQt
hides exceptions happening inside them.
2014-09-02 23:37:47 +02:00
Florian Bruhin
4caec2becb Document and mark workarounds. 2014-09-02 20:44:58 +02:00
Florian Bruhin
892c02268a Shut down NetworkManager before deleting WebPage.
Now that the QWebPage actually is a parent of the QNetworkAccessManager, first
setting the page to None and then deleting the QNetworkAccessManager will get
us a RuntimeError because the underlying C++ object is already gone.
2014-09-02 07:02:21 +02:00
Florian Bruhin
e163478782 Handle Shift-Return keypresses correctly. 2014-08-30 14:38:34 +02:00
Florian Bruhin
dd3489b936 Add spaces in templates. 2014-08-28 20:14:40 +02:00
Florian Bruhin
0b15790f3d Use jinja for stylesheets. 2014-08-28 20:14:40 +02:00
Florian Bruhin
a4c87b4c54 Remove STYLESHEET class attribute from docstrings. 2014-08-28 20:14:40 +02:00
Florian Bruhin
3a73f9f532 Improve performance with statusbar error property 2014-08-27 21:03:43 +02:00
Florian Bruhin
ce4a5affa4 Rename commands.utils to commands.cmdutils. 2014-08-26 20:48:39 +02:00
Florian Bruhin
c72bfff306 Rename commands.exceptions to commands.cmdexc. 2014-08-26 20:38:10 +02:00
Florian Bruhin
8bd64382bd Rename utils.qt to utils.qtutils. 2014-08-26 20:25:11 +02:00
Florian Bruhin
d9a8cbe7ad Rename utils.misc to utils.utils 2014-08-26 20:20:17 +02:00
Florian Bruhin
b4298c2922 Remove 'as logger' imports. 2014-08-26 20:15:41 +02:00
Florian Bruhin
e04b31eb90 Remove qt_ prefix from qtutils functions. 2014-08-26 19:23:06 +02:00
Florian Bruhin
d625cde28c Clean up imports 2014-08-26 19:10:14 +02:00
Florian Bruhin
f13607ced2 Fix lint 2014-08-14 13:28:48 +02:00
Florian Bruhin
1a91972a5c console: Ignore empty texts 2014-08-13 09:08:31 +02:00
Florian Bruhin
4cab864ea0 console: Add 'self' to locals. 2014-08-13 09:07:18 +02:00
Florian Bruhin
0ec6234030 widgets.misc: Prevent moving cursor to prompt in CommandLineEdit. 2014-08-13 09:02:53 +02:00
Florian Bruhin
3ea0f0d8a6 Make CommandPrompt aware of its prompt. 2014-08-13 07:45:57 +02:00
Florian Bruhin
4318a01774 console: Add qApp to locals. 2014-08-13 07:14:21 +02:00
Florian Bruhin
2586f5ca9a console: Never give focus to output view. 2014-08-13 07:10:36 +02:00
Florian Bruhin
47e405dda5 Stop history browsing at the correct places. 2014-08-13 07:10:24 +02:00
Florian Bruhin
9c69ea3c45 Use a validator function for ConsoleLineEdit.
The prompts provided (e.g. sys.ps1/sys.ps2) could change during the lifetime of
the validator.
2014-08-13 07:10:05 +02:00
Florian Bruhin
73214836da console: Set nicer font 2014-08-13 06:56:46 +02:00
Florian Bruhin
35d0fe2b52 console: Print prompts. 2014-08-13 06:54:08 +02:00
Florian Bruhin
5b61487130 Refactor different LineEdit classes. 2014-08-13 06:53:36 +02:00
Florian Bruhin
2e760a92cf debug-console: Handle I/O and exceptions. 2014-08-13 06:09:18 +02:00
Florian Bruhin
103a81a976 console: Set focus on line edit. 2014-08-13 05:15:58 +02:00
Florian Bruhin
07fda5818c Add broken debugging console. 2014-08-13 00:13:32 +02:00
Florian Bruhin
dd2ed78f40 Handle wrong image/jpg mimetype in unsupportedContent slot. 2014-08-12 21:08:13 +02:00
Florian Bruhin
298f672084 Whitespace fix 2014-08-12 18:30:15 +02:00
Florian Bruhin
3c9aad8e26 Add some messages to searching 2014-08-12 17:32:50 +02:00
Florian Bruhin
1c2a44eebc mainwindow: Don't ensure the completion rect is valid.
This did lead to problems if there was an exception shortly after initializing the mainwindow.
2014-08-07 14:42:22 +02:00
Florian Bruhin
7063f2445c cmdhistory: Make History more modular. 2014-08-07 14:39:42 +02:00
Florian Bruhin
5a88028738 Rename qutebrowser.commands.managers module to .runners. 2014-08-06 15:58:08 +02:00
Florian Bruhin
aebce80b2b Rename {Command,Search}Manager to ...Runner 2014-08-06 15:38:25 +02:00
Florian Bruhin
eae81fa560 Cleanup 2014-08-06 14:44:00 +02:00
Florian Bruhin
13b6fe24eb Reorder tab stuff in config. 2014-08-06 08:10:32 +02:00
Florian Bruhin
1217ed26ad Handle tab position of explicitely opened tab differently.
The default behaviour now should be the same as Chromium.
2014-08-06 07:58:07 +02:00
Florian Bruhin
49ebdff65c Make position of new tabs configurable and more natural. 2014-08-06 07:47:59 +02:00
Florian Bruhin
f397b6301b Accept prompt_accept in KeyMode.yesno 2014-08-05 17:08:40 +02:00
Florian Bruhin
036178147b Draw tabbar background correctly again. 2014-08-04 19:30:09 +02:00
Florian Bruhin
95df8a045c Don't use stylesheets anymore for QTabWidget.
When using stylesheets there, all children (i.e. the QWebView) use
QStyleSheetStyle as well, which means the bug at [1] will annoy us.

We had to write our own font parsing as we can't use stylesheets, but at least
the bug is gone...

https://bugreports.qt-project.org/browse/QTBUG-40263
2014-08-04 17:00:01 +02:00
Florian Bruhin
3dc7a1b735 Lock mode while prompting. 2014-08-04 03:14:14 +02:00
Florian Bruhin
9e73cba333 Improve command documentation. 2014-08-03 00:33:39 +02:00
Florian Bruhin
e5c86a5337 Remove window-open-behaviour setting. 2014-08-02 21:30:20 +02:00
Florian Bruhin
3307c5f518 Shut down correctly while being asked a question. 2014-08-02 19:38:02 +02:00
Florian Bruhin
9a6bff315b Revert "widgets.statusbar.prompter: Use None for self.question instead of _busy."
This reverts commit 5d5f3c7f87.
2014-08-02 18:19:33 +02:00
Florian Bruhin
5d5f3c7f87 widgets.statusbar.prompter: Use None for self.question instead of _busy. 2014-08-02 17:58:33 +02:00
Florian Bruhin
ee1bdacf25 Show errors during prompt/command mode. 2014-08-02 17:45:51 +02:00
Florian Bruhin
2f4cd56033 bar: Make prompt color more important than insert color. 2014-08-02 17:05:28 +02:00
Florian Bruhin
1a449ef7de Log changing of statusbar color attributes. 2014-08-02 17:05:11 +02:00
Florian Bruhin
2b123bdeb9 Make it clearer we schedule an insertmode check if hittest is null. 2014-08-02 16:55:11 +02:00
Florian Bruhin
157975b0d4 widgets.webview: Add a cur_url property so the initial URL is available immediately. 2014-08-02 02:35:38 +02:00
Florian Bruhin
f19a1db120 Clean up tab shutdown. 2014-08-01 23:23:31 +02:00
Florian Bruhin
6015bed786 widgets.tabbedbrowser: Fix closing tab with mouse. 2014-08-01 14:27:57 +02:00
Florian Bruhin
9ccce461c9 Stop tab loading before removing. 2014-07-31 23:05:29 +02:00
Florian Bruhin
c39bce79f6 Disable javascript/plugins when shutting down tab. 2014-07-31 20:45:18 +02:00
Florian Bruhin
682a395936 Shut down tabs while quitting 2014-07-31 20:40:21 +02:00
Florian Bruhin
55755262e1 Remove tab widgets properly when a tab is closed.
We forgot to do that which means we had a memory leak, and sound of tabs
continued to play when a tab was closed.
2014-07-31 19:34:30 +02:00
Florian Bruhin
d65fbb0b8c Fix mixed tabs/spaces. 2014-07-31 19:32:00 +02:00
Florian Bruhin
cda0f561aa Move removing of a tab out of close_tab. 2014-07-31 19:31:24 +02:00
Florian Bruhin
371c40f815 Explicitely setPage to None in WebView's __del__. 2014-07-31 00:51:11 +02:00
Florian Bruhin
11ea911940 Clean up after removing shutdown code 2014-07-30 17:12:20 +02:00
Florian Bruhin
cb8af1de31 Merge branch 'shutdown'
Conflicts:
	qutebrowser/widgets/webview.py
2014-07-30 16:39:01 +02:00
Florian Bruhin
0091b4729a Make tabbedbrowser.now_focused private 2014-07-29 22:44:14 +02:00
Florian Bruhin
cf8a8ad3b4 Fix crash when closing tab then doing tab-focus-last. 2014-07-29 22:42:59 +02:00
Florian Bruhin
425a7fd7c4 Simplify userscript running. 2014-07-29 02:05:15 +02:00
Florian Bruhin
b83dd59469 Add userscript/spawn targets to hints. 2014-07-29 01:45:42 +02:00
Florian Bruhin
54246bacbe Add some type checking for enums 2014-07-29 00:23:20 +02:00
Florian Bruhin
7c8f9bec0f Use enum for keyboard modes. 2014-07-29 00:19:35 +02:00
Florian Bruhin
8d80ce2628 Switch to python 3.4 enums.
Our home-brewn enum wasn't really liked by pylint (many no-member errors), so
instead of adding some workaround, we just use the python 3.4 enum instead.

This however also means we need to depend on Python 3.4 and not 3.3. Maybe we
should use enum34 on Python < 3.3.
2014-07-28 20:41:42 +02:00
Florian Bruhin
d60ff5ed27 Add a set-cmd-text command. 2014-07-28 02:16:37 +02:00
Florian Bruhin
76ff8aa30a Add missing imports from current_url move. 2014-07-28 02:16:22 +02:00
Florian Bruhin
e0bd89b762 Add an {url} variable for commands.
Note this also means we don't support :spawn running in a shell anymore, as
{url} is evaluated earlier. However this should be fine, as there's no really
important use case for that anyways, and shell escaping on Windows is rather
unmaintainable.
2014-07-28 01:40:36 +02:00
Florian Bruhin
f86458a3b9 Remove shutdown code 2014-07-27 20:56:42 +02:00
Florian Bruhin
056e1bea76 Fix settabtext fuckup 2014-07-25 13:47:48 +02:00
Florian Bruhin
71a27d42d8 Don't escape & in tab titles anymore.
Now that we do the rendering ourselves, & doesn't have any special meaning
anymore, so we don't have to escape it (as &&) anymore.
2014-07-24 22:50:22 +02:00
Florian Bruhin
abf5fbc063 Clean up config color handling 2014-07-17 16:06:14 +02:00
Florian Bruhin
34d1449cd2 Make it easier to disable tab indicator 2014-07-17 14:50:16 +02:00
Florian Bruhin
f7304298ab Separate docstrings into command/documentation parts. 2014-07-16 20:09:41 +02:00
Florian Bruhin
86b7ea4dfc Merge branch 'tabbar' 2014-07-16 17:57:15 +02:00
Florian Bruhin
dd2027bb53 Focus webview when tabs change 2014-07-16 16:34:58 +02:00
Florian Bruhin
e3d9c252ab Remove unneeded updateGeometry 2014-07-16 14:45:02 +02:00
Florian Bruhin
3b2acf32b5 Remove logging on resize 2014-07-16 14:17:10 +02:00
Florian Bruhin
5e06d420f9 Fix disconnecting tab signals 2014-07-16 14:11:28 +02:00
Florian Bruhin
1a1473a18e Handle dirty tabbar layout correctly 2014-07-16 14:10:46 +02:00
Florian Bruhin
52c52e0675 Add a tab progress indicator 2014-07-16 13:51:16 +02:00
Florian Bruhin
bcbdf9090f Make tab close mouse button configurable 2014-07-16 13:04:08 +02:00
Florian Bruhin
2d3575f6d1 Remove tab close buttons 2014-07-16 13:04:08 +02:00
Florian Bruhin
6289ef7981 Adjust vertical tabbar width 2014-07-16 13:04:08 +02:00
Florian Bruhin
7bcd8192a7 Add FIXME 2014-07-16 13:04:08 +02:00
Florian Bruhin
854d6dffcc Various tab rendering fixes. 2014-07-16 13:04:08 +02:00
Florian Bruhin
81f3abd402 Remove unneeded tabInserted. 2014-07-16 13:04:08 +02:00
Florian Bruhin
93f2e4b24d Cleanup. 2014-07-16 13:04:08 +02:00
Florian Bruhin
7c8471e64c Nicer drawing of close cross. 2014-07-16 13:04:08 +02:00
Florian Bruhin
b042b5cbc4 Try drawing our own tab button 2014-07-16 13:04:08 +02:00
Florian Bruhin
9a430b22a3 Calculate close button position correctly 2014-07-16 13:04:08 +02:00
Florian Bruhin
367ecb0e44 Override subElementRect properly. 2014-07-16 13:04:08 +02:00
Florian Bruhin
cd19697a77 Construct a copy of text_rect in tab_layout. 2014-07-16 13:04:08 +02:00
Florian Bruhin
7ad0dc6416 Remove magic constant. 2014-07-16 13:04:08 +02:00
Florian Bruhin
27d3c8d20f Rename option to opt. 2014-07-16 13:04:08 +02:00
Florian Bruhin
1d31f1eb48 Don't pass useless widget to tab_layout. 2014-07-16 13:04:07 +02:00
Florian Bruhin
465ff7406c Use self instead of super() 2014-07-16 13:04:07 +02:00
Florian Bruhin
1f9597153e Cleanup 2014-07-16 13:04:07 +02:00
Florian Bruhin
87e80451c7 Remove wrong validity check 2014-07-16 13:04:07 +02:00
Florian Bruhin
e608ccbe36 Draw tabbar ourselves #2 2014-07-16 13:04:07 +02:00
Florian Bruhin
92d28a66d5 Paint odd/even tabs in different colors 2014-07-16 13:04:07 +02:00
Florian Bruhin
256d7e90b9 Apply tabbar style to bar only 2014-07-16 13:04:07 +02:00
Florian Bruhin
c3428db029 Use self._style for overridden drawItemText 2014-07-16 13:04:07 +02:00
Florian Bruhin
9b21f37659 Try changing tabbar color 2014-07-16 13:04:07 +02:00
Florian Bruhin
b4aba0d0ee Don't display tab separator if unneeded 2014-07-16 13:04:07 +02:00
Florian Bruhin
ef237bc081 Remove obsolete tabbar options 2014-07-16 13:03:46 +02:00
Florian Bruhin
90adc100a2 Move style to widgets.tabwidget 2014-07-16 13:03:46 +02:00
Florian Bruhin
98edd45fee Stop using self.sender() in signalfilter, connect signals to mainframe 2014-07-16 11:07:05 +02:00
Florian Bruhin
8757f016cb Fix lint 2014-07-16 10:40:11 +02:00
Florian Bruhin
f8151bc8ed Fix insert modes where we can't get an element 2014-07-16 09:09:28 +02:00
Florian Bruhin
c369bde6ad Don't force minimum tab size. 2014-07-11 16:54:54 +02:00
Florian Bruhin
86edda69c1 Fix close-on-right-click for tabs. 2014-07-11 07:01:08 +02:00
Florian Bruhin
fad22c63d9 Go back to using one NetworkManager per tab 2014-07-10 06:42:52 +02:00
Florian Bruhin
6d44cf1b6e Fix weird crash in on_tab_changed 2014-07-06 21:33:50 +02:00
Florian Bruhin
cea3cb4712 Only leave insert/hint mode if loading started in current tab 2014-07-04 17:32:17 +02:00
Florian Bruhin
01485a2f9e Always display statusbar red on errors, even in insert mode 2014-07-02 23:08:29 +02:00
Florian Bruhin
b22ebb7778 Escape & in tab titles properly 2014-07-02 23:05:42 +02:00
Florian Bruhin
c18027f3ae Override QWebPage::acceptNavigationRequest.
We now do this instead of using linkDelegationPolicy and the linkClicked signal
of QWebView, as we are unable to get the target frame with linkClicked, causing
frames to open full-page instead of where they should.

See https://bugs.webkit.org/show_bug.cgi?id=37847
2014-07-02 22:17:36 +02:00
Florian Bruhin
4aab32cc5d Move asking of questions away from Prompt widget 2014-07-02 07:07:03 +02:00
Florian Bruhin
a466b672b3 Prompt comment cleanup 2014-07-02 06:52:30 +02:00
Florian Bruhin
5c84616ff4 Rename visible to _busy and make it private. 2014-07-02 06:42:23 +02:00
Florian Bruhin
3f85f63546 Remove unneeded hide_prompt. 2014-07-02 06:42:11 +02:00
Florian Bruhin
708d0a2885 Fix lint 2014-07-02 06:35:00 +02:00
Florian Bruhin
6d2dfc5758 Clear message properly in on_mode_left. 2014-07-02 06:34:59 +02:00
Florian Bruhin
8945befcb6 Prompt queue bugfixes. 2014-07-02 06:34:59 +02:00
Florian Bruhin
e5e4790e30 Add question prompt 2014-07-02 06:34:59 +02:00
Florian Bruhin
1b9bcbf56f Save old question correctly 2014-07-02 06:34:59 +02:00
Florian Bruhin
4cdf4fc45f Start fixing foo 2014-07-02 06:34:59 +02:00
Florian Bruhin
b79cdbc416 Clean up Question objects correctly 2014-06-27 07:56:16 +02:00
Florian Bruhin
cb6550debb Set WA_DeleteOnClose in report dialogs 2014-06-27 07:39:01 +02:00
Florian Bruhin
e95ef9ab4a Don't log scrolling 2014-06-26 14:10:53 +02:00
Florian Bruhin
92ff957543 Clean up message API 2014-06-26 07:58:00 +02:00
Florian Bruhin
15ca1b7f59 Add __repr__ to CrashDialog 2014-06-25 23:03:33 +02:00
Florian Bruhin
a083fe69db Add a :report command 2014-06-25 22:22:30 +02:00
Florian Bruhin
b8556bab00 Fix closing </b> 2014-06-25 22:07:22 +02:00