Commit Graph

518 Commits

Author SHA1 Message Date
Florian Bruhin
6340eee448 Handle invalid text layout when drawing tab 2016-11-29 09:33:27 +01:00
Florian Bruhin
59d16efbef Don't set title from URL twice
browsertab already does that before emitting url_changed.
2016-11-26 13:35:49 +01:00
Florian Bruhin
c83c9d96ae Small cleanup 2016-11-26 13:33:38 +01:00
Florian Bruhin
c17bbd47b8 Fix QTBUG-54419 workaround for invalid URLs 2016-11-26 13:32:37 +01:00
thuck
8d4b55bb80 Fix comments and change self.pinned to self.pinned_count 2016-11-23 22:18:55 +01:00
thuck
b920de764f Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-23 08:10:11 +01:00
Florian Bruhin
8d7fcf41da Set a maximum width for prompts
Fixes #2124
2016-11-16 22:26:16 +01:00
Florian Bruhin
35d9514456 Whoops...
Dang, spacemacs!
2016-11-16 07:50:47 +01:00
Florian Bruhin
e9a8201aa1 cxfreeze requirements: Blacklist >= 5.0.0
See #1004
2016-11-16 07:48:37 +01:00
Florian Bruhin
8e0565b79a Add {backend} window/tab title field 2016-11-15 23:23:20 +01:00
thuck
abe3c19646 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-14 19:01:49 +01:00
Florian Bruhin
30827c1239 Fix rapid hinting with QtWebEngine
There were actually two issues here:

- The override_target was reset too early - now
  acceptNavigationRequest/createWindow is responsible for resetting it.
- The QTBUG-54419 workaround opened any tabs in the background instead
  of preserving their position/focus.

Fixes #2086.
2016-11-14 07:14:44 +01:00
thuck
6053078637 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-13 14:16:05 +01:00
Florian Bruhin
02257694c4 Fix indent 2016-11-13 12:43:20 +01:00
thuck
e1012501ec Issue only happens when using webengine
Check if using webengine, before trying to use thw workaround
2016-11-13 12:10:03 +01:00
thuck
785c03c15c Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-13 08:56:19 +01:00
Florian Bruhin
645a9aa6e1 Add a better workaround for QTBUG-54419
Whenever we open a new tab in createWindow, we now set an attribute
marking it - as soon as its URL changes the first time, we then close
and re-open it in a new tab in TabbedBrowser.
2016-11-13 01:38:02 +01:00
thuck
9eb0a85bae Some fixes for pyflake, pylint and remove useless function 2016-11-11 17:10:46 +01:00
thuck
25b69fe76a Configuration for the size of a pinned tab 2016-11-11 13:57:01 +01:00
thuck
00f2b4df96 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-11 11:07:30 +01:00
Florian Bruhin
94e2a4dccc Make sure the tab indicator color is always available 2016-11-11 07:04:01 +01:00
thuck
23628cdfbf Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-10 20:20:52 +01:00
Florian Bruhin
bbd842bd82 Get rid of modeman.maybe_leave 2016-11-10 07:19:45 +01:00
thuck
9f70fa3ec8 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-10 00:28:31 +01:00
thuck
d7f5f61f03 Implemented counter for total number of tabs
With this counter we can better control the space on the tabbar.
2016-11-09 23:50:41 +01:00
Florian Bruhin
ac2df2f253 Merge branch 'webengine-downloads-3' 2016-11-09 19:09:58 +01:00
Florian Bruhin
d80022f3cd Merge branch 'issue1619' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1619 2016-11-09 12:32:52 +01:00
Daniel Karbach
4afd75a24d typo in comment 2016-11-09 09:30:37 +01:00
Florian Bruhin
cf32aac111 Move usertypes.DownloadTarget to downloads module 2016-11-09 08:15:58 +01:00
thuck
6f8aaccc2b Attach pin information to tabwidget
Simple access to pin information on tab widget.
Some change for the fmt_pin to not use fields as cheap trick
2016-11-08 21:12:20 +01:00
thuck
d8b5ca295e Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-08 19:53:46 +01:00
Florian Bruhin
f271081012 Handle None-tab in on_current_changed 2016-11-08 12:17:44 +01:00
thuck
931b008f89 Update title when title-format-pinned is modified 2016-11-08 08:12:40 +01:00
thuck
4f0034911a title-format-pinned initial work
Created configuration configdata.
Load and use template defined on configdata.

TODO: ability to conserve information between restart
TODO: ability to update title on configuration change
2016-11-08 07:56:13 +01:00
thuck
ec50d39578 Some fixes for the pylint 2016-11-07 21:25:05 +01:00
thuck
4ed046d5e7 Everything is pinned instead of pin, and one if corrected 2016-11-07 21:12:34 +01:00
thuck
20eae4d671 Modifed exception structure 2016-11-07 08:11:47 +01:00
thuck
f8dffb4e5c Some modifications from initial feedback
Moved pin information from BrowserTab to TabData.
Changed attribute from pin to pinned.
Changed "ifs" to implicit check boolen value.
Removed blancked line on before else statement.
2016-11-07 08:02:25 +01:00
thuck
29d1c0d68b Small fix for situations where we cannot find the tab for the index
Need to investigate better why and when this is excatly happening
2016-11-06 23:27:06 +01:00
thuck
6d7a6db130 Proper title and size for pinned tab
As I'm using self.count() without taking in consideration the number of
pinned tabs the end result is a lot of empty space.
2016-11-06 19:04:32 +01:00
Florian Bruhin
a5afdf6fb6 Handle QtWebEngine downloads in DownloadModel 2016-11-04 18:49:25 +01:00
Florian Bruhin
6eef79e180 Adjust imports/objreg 2016-11-04 18:49:24 +01:00
Florian Bruhin
a16d41333b Fix prompts while in command mode 2016-11-04 06:48:32 +01:00
Florian Bruhin
dd0ce8fe3b Add some more prompt logging 2016-11-04 06:47:10 +01:00
Florian Bruhin
3a79faac16 Also hide existing prompts when showing a new one
Otherwise when a prompt is interrupted, we'd still see the older one.
2016-11-03 23:03:42 +01:00
Florian Bruhin
59b4ccc620 Rename max_height_padding 2016-11-03 09:29:27 +01:00
Florian Bruhin
a006ecffec Add MainWindow._update_overlay_geometries() 2016-11-03 09:29:27 +01:00
Florian Bruhin
2b46228e3d Customize prompt selection colors
Seems like if we make the foreground color configurable, the selection
isn't colored at all?!
2016-11-03 09:29:27 +01:00
Florian Bruhin
ebcae3a69c Fix tabbing over .. in some directories on Windows 2016-11-03 08:40:42 +01:00
Florian Bruhin
0f03960525 Log if getting directory information failed 2016-11-03 08:40:42 +01:00
Florian Bruhin
732e7c260b Handle empty path for file completion
This also allows us to select drives on Windows hopefully...
2016-11-03 08:40:42 +01:00
Florian Bruhin
cbf1a44b75 Fix handling of / as path 2016-11-03 08:40:42 +01:00
Florian Bruhin
16b3b7a262 Fix prompt positioning with top statusbar 2016-11-03 08:40:42 +01:00
Florian Bruhin
25bb720f09 Bound maximum size for prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
9cf5d645f0 Hide prompts correctly
We now make sure to hide prompts everywhere when the prompt mode was
left. We also make sure to hide the prompt widget before deleting, as it
might be deleted later.
2016-11-03 08:40:42 +01:00
Florian Bruhin
293a388ac6 Use HTML list for quit confirmation message 2016-11-03 08:40:42 +01:00
Florian Bruhin
fa1846ab0e Adjust prompt path when backspacing a path 2016-11-03 08:40:42 +01:00
Florian Bruhin
60c6b7f0ab Simplify FilenamePrompt._insert_text 2016-11-03 08:40:42 +01:00
Florian Bruhin
5b33978259 Improve comment 2016-11-03 08:40:42 +01:00
Florian Bruhin
4e793180c1 Fix completion in file prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
63c6381e18 Add blank line 2016-11-03 08:40:42 +01:00
Florian Bruhin
fdc4b2e2f6 Move setting FilenamePrompt lineedit text up 2016-11-03 08:40:42 +01:00
Florian Bruhin
7d1b1d354d Remove duplicated docstrings 2016-11-03 08:40:42 +01:00
Florian Bruhin
28a32e680d Add comment about HTML escaping 2016-11-03 08:40:42 +01:00
Florian Bruhin
64eeb95c30 Rename _init_title 2016-11-03 08:40:42 +01:00
Florian Bruhin
27f96943a2 Add missing html.escape 2016-11-03 08:40:42 +01:00
Florian Bruhin
efdcbd860e Increase font size for prompt titles 2016-11-03 08:40:42 +01:00
Florian Bruhin
4552e06797 Only connect interrupted signal for questions once 2016-11-03 08:40:42 +01:00
Florian Bruhin
a87e46101c Fix lint 2016-11-03 08:40:42 +01:00
Florian Bruhin
1b3e9613ea Fix mode handling with multi-window questions
When the prompt mode is left in any window, we need to take care of:

- Cancelling the question if needed (exactly once)
- Leaving the prompt mode in all other windows too
2016-11-03 08:40:42 +01:00
Florian Bruhin
4a360ba185 Simplify _set_fileview_root 2016-11-03 08:40:42 +01:00
Florian Bruhin
b0a04bff8e Use OS-independent path separators 2016-11-03 08:40:42 +01:00
Florian Bruhin
54a694e35e Hide prompts correctly after :prompt-download-open 2016-11-03 08:40:42 +01:00
Florian Bruhin
5eb66f2693 Restore self._question when restoring prompt 2016-11-03 08:40:42 +01:00
Florian Bruhin
6f83590553 Add some more logging for prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
dba29e518a First working prototype of global prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
fdd1147620 Revert "Global prompt container"
This reverts commit c23beee6502776dd19c0955b311e8dfb9f1c77ae.
2016-11-03 08:40:42 +01:00
Florian Bruhin
1d6166b474 Global prompt container 2016-11-03 08:40:42 +01:00
Florian Bruhin
9ce1180b31 First attempt at showing prompts in all windows 2016-11-03 08:40:42 +01:00
Florian Bruhin
d5a1f6d6b5 Only support calling _init_key_label once 2016-11-03 08:40:42 +01:00
Florian Bruhin
fefc8c4eb2 Add more tests for prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
20716c137c Support tab completion for auth prompts again 2016-11-03 08:40:41 +01:00
Florian Bruhin
3ffcb011a7 Simplify key label for auth prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
9bdbb257ba Add initial filename completion 2016-11-03 08:40:41 +01:00
Florian Bruhin
6ab51e0b7b Handle clicking on file items in prompt 2016-11-03 08:40:41 +01:00
Florian Bruhin
acbd5107d6 Only show directories in download filename prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
46b24fc64a Improve how file list is shown in download prompt 2016-11-03 08:40:41 +01:00
Florian Bruhin
6da6758263 Improve FilenamePrompt widget sizing 2016-11-03 08:40:41 +01:00
Florian Bruhin
741ecac9ef More improvements for yesno prompt key hints 2016-11-03 08:40:41 +01:00
Florian Bruhin
7d63795613 Improve bindings output for yesno questions 2016-11-03 08:40:41 +01:00
Florian Bruhin
7d57d884d6 Add configuration options for prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
a33333eb41 Make the radius for prompt edges configurable 2016-11-03 08:40:41 +01:00
Florian Bruhin
bc4e340323 Save key mode to leave
Doing self._prompt.question.done() already sets self._prompt to the next
prompt or to None.
2016-11-03 08:40:41 +01:00
Florian Bruhin
80caed4642 Add missing docstring 2016-11-03 08:40:41 +01:00
Florian Bruhin
e110f3b590 Get rid of StatusBar._set_prompt_active 2016-11-03 08:40:41 +01:00
Florian Bruhin
fe59e0618f Rename download_open function 2016-11-03 08:40:41 +01:00
Florian Bruhin
fe230219a9 Fix lint 2016-11-03 08:40:41 +01:00
Florian Bruhin
f4be35c981 Add a LineEdit subclass for prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
433afe8658 Handle invalid values with :prompt-accept 2016-11-03 08:40:41 +01:00
Florian Bruhin
051b31d101 Fix reinitializing of key label 2016-11-03 08:40:41 +01:00
Florian Bruhin
75bb2265be Take text as pos. argument for _build_question 2016-11-03 08:40:41 +01:00
Florian Bruhin
6d7748f05f Add FilenamePrompt 2016-11-03 08:40:41 +01:00
Florian Bruhin
47208eb022 Fix :prompt-open-download 2016-11-03 08:40:41 +01:00
Florian Bruhin
d74b0109c7 Add key hints 2016-11-03 08:40:41 +01:00
Florian Bruhin
f0ed43ec20 Use message module as API for most questions 2016-11-03 08:40:41 +01:00
Florian Bruhin
756564ebff Get rid of message_bridge.set_cmd_text 2016-11-03 08:40:41 +01:00
Florian Bruhin
523369882a Add title/text to questions 2016-11-03 08:40:41 +01:00
Florian Bruhin
e3581a50ca Remove generated stylesheets again
We can just use jinja logic instead...
2016-11-03 08:40:41 +01:00
Florian Bruhin
1f011bdd5f Fix prompt focus handling 2016-11-03 08:40:41 +01:00
Florian Bruhin
33088588d9 half-working auth prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
903e31efa4 First prototype of new prompts 2016-11-03 08:40:41 +01:00
Jan Verbeek
2cc958fbb6 Stop progress bar from growing status bar height 2016-10-26 13:46:52 +02:00
Daniel Karbach
ef3968c165 setting values tabs->new-tab-position[-explicit]
left -> prev
right -> next
2016-10-18 17:17:17 +02:00
Florian Bruhin
5e6d8e3944 Merge branch 'master' of https://github.com/sebastian-frysztak/qutebrowser into sebastian-frysztak-master 2016-10-05 21:19:17 +02:00
Florian Bruhin
c36ae5ab8f Fix quit confirmation text for downloads 2016-10-05 10:13:01 +02:00
Sebastian Frysztak
f0cc168609 Style changes 2016-10-04 16:45:31 +02:00
Sebastian Frysztak
df83862088 Reserve space for empty favicon in _get_icon_rect. 2016-10-03 13:14:49 +02:00
Sebastian Frysztak
4f443c9f27 Reserve space for favicon with vertical tabs 2016-10-01 12:55:55 +02:00
Florian Bruhin
5ce1f0b912 Don't update scroll position with 0 tabs 2016-09-29 08:48:04 +02:00
Florian Bruhin
d4376c5196 Fix overlays with a top statusbar 2016-09-22 17:34:30 +02:00
Florian Bruhin
e6f62f8118 Remove now-unneeded _get_overlay_position 2016-09-22 17:34:17 +02:00
Florian Bruhin
750dfd98af Generalize statusbar-attached website overlays
We already had some duplicated logic for completion/keyhint/messageview,
and plan to add prompt overlays too now - so here we refactor related
code to have a list of overlays instead, which are all
resized/positioned by the mainwindow when needed.

This also changes the size management, which gets moved into the
sizeHint of the respective overlay widgets.
2016-09-22 17:04:39 +02:00
Florian Bruhin
7e30792bfe Fix lint 2016-09-15 14:51:22 +02:00
Florian Bruhin
f16b96aa28 Initial implementation of new messages 2016-09-15 14:51:21 +02:00
Florian Bruhin
4686e0349b Fix lint 2016-09-11 16:06:16 +02:00
Florian Bruhin
162e6d6483 Fix closing with no last-visible-main-window
Fixes #1918
2016-09-11 16:03:15 +02:00
Florian Bruhin
b949e4d73a Start splitting DownloadModel from DownloadManager
This mostly works, apart from remove_item/remove_items not being
available on the model.
2016-09-11 14:58:07 +02:00
Florian Bruhin
d0cf452ec8 Remove :prompt-yes and :prompt-no
Those are replaced by :prompt-accept yes and :prompt-accept no
2016-09-09 15:59:00 +02:00
Florian Bruhin
d579697245 Add a value argument to :prompt-accept 2016-09-09 15:48:42 +02:00
Florian Bruhin
3b16e171cb Avoid calling str() on bytes in mainwindow.py 2016-09-06 12:35:52 +02:00
Jakub Klinkovský
9669aca7d9 remove random description of variables in commands' docstrings
Full description is given at the top of qute://help/commands.html,
duplicating this for some commands where it might be useful is
unmaintainable.
2016-09-02 19:52:45 +02:00
Rok Mandeljc
469590d4e8 TabWidget: a possible fix for #1693 - grey area under custom tabbar
Attempt to fix the issue #1693 by:
- setting the TabBarStyle to TabWidget in addition to TabBar
- chain up SE_TabWidgetTabBar requests in TabBarStyle.subElementRect
  to the super() rather than self._style, in order to avoid getting
  adwaita-specific rect sizes instead of default ones that are also
  used in rendering.
2016-08-29 14:11:34 +02:00
Florian Bruhin
a40dd7edf6 Allow empty string for tabs -> title-format 2016-08-19 08:31:36 +02:00
Florian Bruhin
781e7554e4 Set open target for force_tab to tab-silent
Fixes #1328
2016-08-17 12:04:46 +02:00
Niklas Haas
c2cc28a72b
Add new-instance-open-target.window = first-opened
Fixes #1060.

In the process of adding this, I also decided to rewrite
mainwindow.get_window() for clarity (and also because flake8 was warning
about complexity).

Also adds some tests to the new-instance-target mechanism, in particular
a specific test for the issue in question.
2016-08-16 12:24:38 +02:00
Florian Bruhin
ccce55443f Fix TabWidget.init_config with PyQt 5.2
See #1847, #1775
2016-08-16 10:44:53 +02:00
Michael Hoang
ed137c01aa Make add_undo for tab close a keyword arg 2016-08-11 15:18:07 +10:00
Michael Hoang
af97f9efae Add add_undo parameter for closing tabs
By default, closed tabs should be undoable, but when a tab is detached
:undo should not reopen that tab in the old window.
2016-08-11 07:44:11 +10:00
Florian Bruhin
08d9243c3e Merge branch 'haasn-lastvisible' 2016-08-10 19:58:41 +02:00
Florian Bruhin
3b34032b4b Merge branch 'feature/undo-to-old-pos' of https://github.com/airodactyl/qutebrowser into airodactyl-feature/undo-to-old-pos 2016-08-10 17:47:25 +02:00
Niklas Haas
6293fad2eb
Add general->new-instance-open-target.window=last-visible
I usually use my browser with a one-window-per-workspace flow. If I
click on a URL anywhere, I personally would prefer it to go to the
browser instance that's on the same workspace.

To this end, the easiest way to accomplish this is to simply track when
windows are made visible and register them as the last visible object.

(To get finer control for when you have multiple windows on the same
workspace, focus changes also update the last visible object - the
implication being here that focusing something also means you're looking
at it)

Not all users may like this behavior, so I consider it strictly optional.
2016-08-10 17:01:12 +02:00
Florian Bruhin
77531d09df Move history triggering out of WebView 2016-08-10 13:14:38 +02:00
Michael Hoang
cc5667f268 Add code to save and restore the old tab position 2016-08-10 19:28:34 +10:00
Niklas Haas
6d181e5c6f
Add new-instance-open-target.window setting
This adds the ability to open new tabs in the last-focused window
instead, which fixes #1801.

Right now the only other option is probably not that useful for human
users but it's required to make tests behave deterministically and
consistently. (But with #881 on the roadmap, I would implement this as
another choice)

To this end, also make the test framework set this option to preserve
the invariant against which existing tests are written: that spawning a
new window would effectively also focus it.
2016-08-10 00:06:12 +02:00
Niklas Haas
2223a285ef Remove ui -> hide-mouse-cursor setting
This was currently almost completely broken, yet nobody complained. The
new behavior (in the previous commit) makes this always hide the mouse
cursor, even when an input field has focus.

Since the only two easy options to implement are "never hide" and
"always hide", combined with the fact that both are sort of useless to
an end-user, just remove the option until somebody wants it back.
2016-08-09 23:32:17 +02:00
Florian Bruhin
b6fbd3ce3a Merge branch 'better-variables' of https://github.com/blyxxyz/qutebrowser into blyxxyz-better-variables 2016-08-07 11:33:01 +02:00
Florian Bruhin
ab0d9ca499 Remove another unneeded FIXME
Closes #112.
[ci skip]
2016-08-05 09:35:06 +02:00
Jan Verbeek
7999c493ac Remove unnecessary import, split long line 2016-08-04 15:16:35 +02:00
Jan Verbeek
827de1743d Document no_replace_variables, misc fixes
Add no_replace_variables to the asciidoc, improve its description in
the decorator, remove now unnecessary argument parsing in set-cmd-text
2016-08-04 13:21:19 +02:00
Daniel Schadt
d21b42662d Minor Text Fixes
default (program) -> default application
surround {} with backticks
mention that the filename will be appended in the docstrings
2016-08-04 12:07:51 +02:00