Commit Graph

753 Commits

Author SHA1 Message Date
Florian Bruhin
b1a95a3930 Add automatic backend selection in earlyinit 2017-02-05 17:09:04 +01:00
Florian Bruhin
de50f30b9b Replace all GitHub links 2017-02-05 00:13:11 +01:00
Florian Bruhin
f99bf661cc Fix lint 2017-02-04 21:59:39 +01:00
Florian Bruhin
fd29528e4f Add proxy support for QtWebEngine with Qt >= 5.8
See #666
Fixes #2082
2017-02-04 21:39:22 +01:00
Cosmin Popescu
80372eb3f2 stop using the commands handler 2017-01-13 18:57:55 +01:00
Florian Bruhin
5b70df15fa Revert "Enable HighDPI scaling"
This reverts commit 62bcd24c9a.
Looks like this causes issues for various people...
2016-12-08 21:23:56 +01:00
Florian Bruhin
62bcd24c9a Enable HighDPI scaling
This should scale up things automatically, without needing to set e.g.
default-zoom (at least with QtWebEngine).

See #1993, #1585
2016-12-08 09:45:46 +01:00
Florian Bruhin
d99a7bd7ad Pass arguments to websettings init functions 2016-11-23 07:57:35 +01:00
Florian Bruhin
671ce67be5 Remove --datadir/--confdir/--cachedir
Closes #2115.
2016-11-15 07:09:46 +01:00
Florian Bruhin
5d30105a53 Merge branch 'macros' of https://github.com/blyxxyz/qutebrowser into blyxxyz-macros 2016-11-10 06:50:21 +01:00
Cosmin Popescu
89e6ff6599 fix wrong spaces and priority for session restore 2016-11-09 19:27:48 +01:00
Florian Bruhin
ac2df2f253 Merge branch 'webengine-downloads-3' 2016-11-09 19:09:58 +01:00
Jan Verbeek
e5dec949b0 Merge https://github.com/The-Compiler/qutebrowser into macros 2016-11-09 12:17:04 +01:00
Florian Bruhin
3ba7f28069 Re-add download cleanup on shutdown 2016-11-08 20:36:49 +01:00
Florian Bruhin
19d31ac201 Deduplicate "Focus object changed" logging 2016-11-08 12:17:44 +01:00
Cosmin Popescu
c590a37043 changed to using an internal _autosave session 2016-11-07 20:45:46 +01:00
Florian Bruhin
c876c3d244 Fix lint 2016-11-04 18:49:24 +01:00
Florian Bruhin
6eef79e180 Adjust imports/objreg 2016-11-04 18:49:24 +01:00
Florian Bruhin
e985730cbf Simplify TempDownloadManager initialization 2016-11-04 18:49:24 +01:00
Florian Bruhin
4ad741d26d Simplify shutdown in app.py 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
33088588d9 half-working auth prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
f6aefabf40 Initialize QtWebKit-specific stuff with QtWebKit only
Maybe this fixes issues we had with QtWebEngine segfaults in proxy.py on
Travis?

Note we can't move cookies/cache/network stuff yet as we still need that
for e.g. adblock downloads with QtWebEngine.
2016-10-30 23:07:19 +01:00
Daniel Karbach
da2ba86aa5 use https for links in docs and elsewhere
refs #2039
2016-10-20 14:48:35 +02:00
Jan Verbeek
f2b05a0395 Move keyboard macro system to MacroRecorder object 2016-10-20 02:50:00 +02:00
Florian Bruhin
2f0db878e6 Break long lines 2016-10-05 09:07:35 +02:00
Florian Bruhin
f34d896ff4 Log total initialization time 2016-10-04 10:26:44 +02:00
Daniel Karbach
50fb4a78c7 early init of qapp and standarddir
this fixes the error that appeared when invoked with --version
2016-09-28 10:25:40 +02:00
Florian Bruhin
e32bbfa8f7 Init message.global_bridge at import time 2016-09-15 14:51:22 +02:00
Florian Bruhin
ed4f476ab4 Get rid of queued messages and unused code 2016-09-15 14:51:21 +02:00
Florian Bruhin
f16b96aa28 Initial implementation of new messages 2016-09-15 14:51:21 +02:00
Florian Bruhin
aa71c9ae58 Initial qute:* support for QtWebEngine 2016-09-14 10:18:25 +02:00
Florian Bruhin
02bd42cbed Implement adblocking for QtWebEngine 2016-09-07 17:27:21 +02:00
Florian Bruhin
6fec236757 Add some blank lines to app._init_modules 2016-09-07 16:45:46 +02:00
Florian Bruhin
af40abd3b2 Add websettings.shutdown() 2016-09-05 17:58:56 +02:00
Florian Bruhin
1dbedbc474 Fix :restart deleting the given --basedir 2016-08-16 21:27:23 +02:00
Florian Bruhin
7213850238 Merge branch 'lastvisible' of https://github.com/haasn/qutebrowser into haasn-lastvisible 2016-08-10 17:39:33 +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
ad5008152c Move browser.webkit.history to browser.history 2016-08-10 14:45:52 +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
Niklas Haas
16c2268d09 Fix last-focused-main-window's behavior
Right now, get('last-focused-main-window') essentially returns the same
as qApp.activeWindow(), since it's None when no window is focused. This
seems somewhat contrary to its original intent, so I've changed it to
only ever update the object.

This actually fixes another bug as well: on_focus_changed's new is not
always a MainWindow - in fact it's a WebView on my end. To fix this,
directly use the QApplication.activeWindow() to find the current focus.

That second bit in particular actually some related bugs that probably
nobody ever noticed or bothered reporting:

* _maybe_hide_mouse_cursor currently pretty much never gets called
* :adblock-update doesn't actually show any downloads
* ... probably more
2016-08-09 22:41:40 +02:00
Florian Bruhin
cd905841e0 Don't log on_focus_changed warning if new is None 2016-07-26 23:27:20 +02:00
Florian Bruhin
f4f6a3dac1 Merge branch 'open-download' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download 2016-07-26 10:32:34 +02:00
Florian Bruhin
76eab7617b Remove @pyqtSlot for functions and non-QObjects
Fixes #1669
2016-07-23 11:42:50 +02:00
Florian Bruhin
63e466f019 Remove @pyqtSlot for some non-QObject classes
Not sure if I got all, but at least I got the ones which fail
immediately on start.

See #1669.
2016-07-21 14:56:12 +02:00
Jan Verbeek
bbc46d28ff Use lists instead of tuples for comparing
Per one of the diff comments on #1597:
> I used to use a tuple for constant things, but nowadays I'd actually
> prefer a list as a tuple is something more heterogeneous (i.e. it
> makes sense to have a `(x, y)` point as a tuple, but a list of points
> would be a list).
> At some point I should probably change it to a list everywhere 😉
2016-07-12 22:05:32 +02:00
Daniel Schadt
81b2688c70 downloads: use global TempDownloadManager
This way, all temporary downloads will end up in the same directory and
everything is cleaned up at program exit, not when the corresponding
window is closed.
2016-07-12 16:52:01 +02:00
Florian Bruhin
ebf9bc4e0a Improve version output 2016-07-06 23:47:59 +02:00
Florian Bruhin
70117265d6 Fix some a/an misspellings
Thanks to https://github.com/jwilk/anorack
2016-07-05 08:34:03 +02:00
Florian Bruhin
4fccc89d7d Split browser into browser/browser.webkit 2016-06-13 11:18:21 +02:00
Florian Bruhin
483a5f8103 Fix sharing of cookie jars with private browsing
Fixes #1219
2016-06-08 16:35:43 +02:00
Florian Bruhin
9beb68bb5c Ignore symlinks when recompiling for :restart
Otherwise broken symlinks (*cough* emacs *cough*) cause this to fail
with FileNotFoundError.
2016-06-08 12:56:37 +02:00
Florian Bruhin
ea1d8902d5 Add logging for #1484 2016-05-24 21:35:48 +02:00
Florian Bruhin
0fb6e508e6 Merge branch 'master' of https://github.com/Yatekii/qutebrowser into Yatekii-master 2016-05-24 21:32:24 +02:00
Noah Huesser
299c66b82c Possibly fixed issue: #1484 2016-05-23 11:32:27 +02:00
Florian Bruhin
c33f0c3512 Use @cmdutils.argument for completions 2016-05-18 06:55:17 +02:00
Florian Bruhin
4807746e8f Add @pyqtSlot for qApp.focusChanged slot 2016-04-29 22:25:27 +02:00
Florian Bruhin
3c8598f691 Work around PyQt 5.6 segfault when using IPC
PyQt 5.6 seems to segfault when emitting None with a signal which is
declared as emitting a string:

https://www.riverbankcomputing.com/pipermail/pyqt/2016-April/037375.html

We now avoid this by using an empty string explicitly instead of None.
2016-04-26 22:30:27 +02:00
Xitian9
c76d4479ee Open command line urls explicitly. 2016-04-15 18:50:42 +10:00
Jimmy
1c10a1aecf Adds new buffer command with completion.
`buffer` takes either a tab index or a string and focuses the specified
tab. The index can be of the form [0-9]+ which will switch to the
relevant tab in the current window or [0-9]+/[0-9]+ (that is
win_id/index) which will focus the specified window before switching
tabs. If a string is passed the list of open tabs across all windows is
sorted based on title and url (just like in the completion widget) and
the top result is selected.
2016-03-31 14:00:36 +13:00
Florian Bruhin
79f83a033d Add a fake clipboard for tests
There are a lot of problems and flakiness with using a real clipboard.

Instead we now have a :debug-set-fake-clipboard command to set a text, and use
logging when getting the contents.

Fixes #1285.
2016-02-03 20:27:11 +01:00
Sorokin Alexei
04afcef239 Use system icon for windows if available 2016-02-02 00:48:07 +03:00
Florian Bruhin
041aa61508 Make :restart work with --temp-basedir.
Fixes #1244.
2016-01-19 06:51:36 +01:00
Florian Bruhin
a5f2ac5f03 Adjust copyright years. 2016-01-04 07:12:39 +01:00
Florian Bruhin
150a83d8f4 pylint: Remove unneeded supressions. 2015-12-01 22:03:58 +01:00
Florian Bruhin
e405492667 Ignore errors when removing temp basedir. 2015-11-24 17:50:39 +01:00
Florian Bruhin
3905884a84 Disable all QWebSettings storage when quitting.
This hopefully helps with issues on the Windows buildbot:

    Error in atexit._run_exitfuncs:
    Traceback (most recent call last):
      File "C:\Users\florian\buildbot\slave\win8\build\.tox\py34\lib\shutil.py", line 371, in _rmtree_unsafe
	os.unlink(fullname)
    PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\florian\\AppData\\Local\\Temp\\qutebrowser-basedir-ixuexfeu\\data\\local-storage\\qrc__0.localstorage'
2015-11-24 17:24:14 +01:00
Florian Bruhin
75178b0cdc Log when the focus object changed.
This is mainly needed for tests to synchronize things properly.
2015-11-24 15:24:45 +01:00
Florian Bruhin
1da7996c3b Style fixes. 2015-11-13 22:27:41 +01:00
Florian Bruhin
0d67cff5cb Merge branch 'bdd'
Conflicts:
      tests/test_conftest.py
      tox.ini
2015-11-02 06:36:30 +01:00
Florian Bruhin
e88e9a66da Fix deleting of --temp-basedir on Windows.
Before it couldn't get deleted because Qt still kept the icon database open in
some way.

By clearing it when shutting down, this works correctly.

Fixes #1017.
2015-11-01 22:47:58 +01:00
Florian Bruhin
764914a8b2 Clean up cache.DiskCache. 2015-10-20 22:40:43 +02:00
Jonas Schürmann
1e8170d98b Fixed lines which were too long 2015-10-06 23:18:04 +02:00
Jonas Schürmann
afc166a13e Coding style fixes #1002 2015-10-06 22:59:49 +02:00
Jonas Schürmann
45c9768c16 Added --target command line argument #922
This argument is used to override the new-instance-open-target config
option.
2015-10-05 21:15:52 +02:00
Florian Bruhin
54557fee20 Fix lint. 2015-10-05 06:53:56 +02:00
Florian Bruhin
17778f1457 Prevent :restart when there's a SyntaxError.
Closes #910.
2015-10-04 23:24:35 +02:00
Florian Bruhin
d229e90724 Fix some splelling mistakes. 2015-10-04 15:41:42 +02:00
Florian Bruhin
f972d043c5 Fix StopIteration handling in _init_late_modules.
This caused a PendingDeprecationWarning with Python 3.5:

Traceback (most recent call last):
  File "/home/florian/proj/qutebrowser/git/qutebrowser/utils/debug.py", line 237, in log_time
    yield
  File "/home/florian/proj/qutebrowser/git/qutebrowser/app.py", line 433, in _init_late_modules
    next(reader)
StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/florian/proj/qutebrowser/git/qutebrowser/app.py", line 433, in _init_late_modules
    next(reader)
  File "/usr/lib64/python3.5/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
PendingDeprecationWarning: generator 'log_time' raised StopIteration
2015-09-30 07:32:36 +02:00
Florian Bruhin
9561b7b02c Reset QT_WAYLAND_DISABLE_WINDOWDECORATION. 2015-09-16 10:23:21 +02:00
Florian Bruhin
f83f4a6a1a Add setting. 2015-09-16 08:52:51 +02:00
Florian Bruhin
08e1d9a304 hardcoded 2015-09-16 08:42:59 +02:00
Florian Bruhin
74d7997a67 Set application info earlier. 2015-09-09 19:31:52 +02:00
Florian Bruhin
8913c1883e ipc: Fix missing import. 2015-08-30 22:57:45 +02:00
Florian Bruhin
a7bf0744e0 Move some IPC code from app.py to ipc.py. 2015-08-27 23:04:27 +02:00
Florian Bruhin
fe3eb30892 Reorganize exceptions in urlutils.
- Instead of ValueError, a new InvalidUrlError is raised with invalid URLs.
- FuzzyUrlError got removed as it's basically the same as InvalidUrlError.
2015-08-09 18:48:32 +02:00
Alexander Cogneau
73c28c12f3 Show launch time in crash logs. 2015-08-07 20:36:38 +02:00
Florian Bruhin
2f11b41ae6 Merge bookmarks and quickmarks into urlmarks. 2015-07-26 16:37:10 +02:00
Florian Bruhin
b52a41ac6f Merge branch 'master' of https://github.com/antoyo/qutebrowser into antoyo-master
Conflicts:
      .gitignore
2015-07-26 15:08:58 +02:00
Florian Bruhin
63ff39ad65 Don't use 0 as window ID for early messages.
The issue here was that only message calls with 'current' as window get cached
if the window is unavailable. We used 0 instead.

Fixes #815.
See #812.
2015-07-14 18:36:12 +02:00
Antoni Boucher
fe829699be Merge remote-tracking branch 'upstream/master' 2015-07-11 17:40:43 -04:00
Florian Bruhin
e9b5c355d2 Add a short=True argument to version.version().
Fixes #787.
2015-06-26 22:33:29 +02:00
Florian Bruhin
a545b919f7 Do history loading after qutebrowser has started. 2015-06-16 07:06:56 +02:00
Antoni Boucher
cf4b89efe3 Merge remote-tracking branch 'upstream/master' 2015-06-07 14:38:17 -04:00
Florian Bruhin
36803cba06 Switch from flake8 to pytest-{mccabe,flakes,pep8}. 2015-06-02 20:51:06 +02:00
Antoni Boucher
1698c60124 Merge remote-tracking branch 'upstream/master' 2015-05-31 15:59:46 -04:00
Martin Tournoij
c1dadeff6f Fix silly mistake... 2015-05-29 20:48:43 +02:00
Martin Tournoij
d20872d576 Fix feedback from #690 2015-05-29 14:50:15 +02:00
Antoni Boucher
2c0c2e220e Fixed style issue. 2015-05-21 19:38:30 -04:00
Antoni Boucher
28caf45707 First version of bookmarks. 2015-05-21 18:17:22 -04:00
Florian Bruhin
8ab2772dd9 Use atexit to remove temp basedir.
This hopefully fixes a PermissionError on Windows.
2015-05-17 01:29:47 +02:00
Florian Bruhin
b94fcf2c3c Clean up sys.exit call. 2015-05-17 00:52:37 +02:00
Florian Bruhin
3f98bf372e Merge branch 'smoke'
Conflicts:
      doc/qutebrowser.1.asciidoc
      qutebrowser/app.py
      qutebrowser/config/config.py
      qutebrowser/qutebrowser.py
      tox.ini
2015-05-17 00:28:56 +02:00
Florian Bruhin
9be5992a9a Smoke test WIP 2015-05-16 23:43:34 +02:00
Florian Bruhin
a1f7eed5a7 Add --temp-basedir option. 2015-05-16 23:26:15 +02:00
Florian Bruhin
54131e9d3e Add --basedir arg with multiple instance support.
Closes #510.
2015-05-16 23:10:20 +02:00
Florian Bruhin
3b5b49daac Move quitter/signal/crash_handler out of qApp. 2015-05-07 09:23:34 +02:00
Florian Bruhin
2777e4113e Fix shutdown 2015-05-06 07:35:11 +02:00
Florian Bruhin
f499fd85d0 Fix IPC. 2015-05-01 14:46:17 +02:00
Florian Bruhin
d3a7b2e4ca Big refactoring of app.py. 2015-04-30 07:37:25 +02:00
Florian Bruhin
43df32949d Refactor IPC exceptions handling.
Also fixes an IPC error when qutebrowser was started twice without delay
between the invocations.
2015-04-17 19:24:27 +02:00
Florian Bruhin
f85ba8645f Handle a missing session folder at some places. 2015-04-13 08:38:12 +02:00
Florian Bruhin
83dbe48469 Refactor EventFilter. 2015-04-09 20:22:00 +02:00
Florian Bruhin
f77ba5744b Add a ui -> hide-mouse-cursor option. 2015-04-09 19:59:16 +02:00
Florian Bruhin
20f0ef7ccc Ignore ;; for splitting with some commands.
Fixes #405.
2015-04-06 17:00:52 +02:00
Florian Bruhin
2876ba5cfa Pass a parent to global QObjects. 2015-04-06 00:10:37 +02:00
Florian Bruhin
d83da987ae Move SessionManager init to sessions.py. 2015-04-05 23:44:25 +02:00
Florian Bruhin
9b8f5e3ff0 Make the default session name configurable.
See #523.
2015-04-05 23:30:43 +02:00
Florian Bruhin
476ccd8fe1 Add tab-bg{,-silent} to new-instance-open-target. 2015-04-05 21:34:41 +02:00
Florian Bruhin
953119ef75 Revert "Minor QWebSettings fix."
Happy April's fools!

This reverts commit a98060e020.

Conflicts:
	qutebrowser/app.py
	qutebrowser/misc/utilcmds.py
2015-04-02 14:56:42 +02:00
Florian Bruhin
840652f396 Use sessions for :restart.
This saves a lot more state compared to just passing a list of pages.
2015-04-01 22:18:28 +02:00
Florian Bruhin
2ba28a59fe Prevent session from being loaded with :restart. 2015-04-01 21:42:02 +02:00
Florian Bruhin
371ec564e1 Split restart() into :restart and _do_restart(). 2015-04-01 21:38:18 +02:00
Florian Bruhin
11bd4a13f6 Serialize arguments via json on restart.
We want to ignore some positional arguments without ignoring flags/values - and
since there's no easy way to "unparse" an argparse namespace, we instead pass
it as json.

Also note we can't pass it as a file easily, as args have to be available very
early. Passing it as an argument shouldn't be an issue though.
2015-04-01 21:37:06 +02:00
Florian Bruhin
6e435ad215 Add state config sections when initializing. 2015-04-01 18:26:45 +02:00
Florian Bruhin
8ebac8d38c Various spelling fixes. 2015-03-31 21:11:47 +02:00
Florian Bruhin
eb3b0b960f Use hunter for line tracing. 2015-03-31 20:38:46 +02:00
Florian Bruhin
a98060e020 Minor QWebSettings fix.
If you're reading the diff, congrats. Please be quiet and don't spoil the fun
for others though! :)
2015-04-01 00:06:34 +02:00
Florian Bruhin
8af2e712ae Add a --pdb-postmortem argument. 2015-03-29 19:45:00 +02:00
Florian Bruhin
82322beb03 Fix pep257 issues. 2015-03-26 07:08:54 +01:00
Florian Bruhin
5043f58f3c Add an --override-restore argument.
See #523.
2015-03-24 07:50:23 +01:00
Florian Bruhin
db98b03f34 Never open URL arguments in background. 2015-03-24 07:44:49 +01:00
Florian Bruhin
1d1ac1ef6f Save session to load in state file.
Before, we always loaded the default session (if it existed) and then deleted
it. This was surprising as the default session was deleted even when another
session was loaded.

Now we don't delete it at all, and save the session to load in the state file.

See #523.
2015-03-24 07:12:35 +01:00
Florian Bruhin
e7f5433da3 Enable python warnings earlier and unconditionally. 2015-03-23 07:40:22 +01:00
Florian Bruhin
21d2bb2291 Simplify some unneeded lambdas. 2015-03-23 07:04:50 +01:00
Florian Bruhin
157c25bb13 Queue messages for 'current' window if unfocused.
Fixes #512.
2015-03-22 22:39:56 +01:00
Florian Bruhin
ca22ed02e6 Fix via_ipc typo. 2015-03-17 19:13:44 +01:00
Florian Bruhin
94bc10405a Merge branch 'histcomplete' 2015-03-17 06:16:26 +01:00
Florian Bruhin
9a405df560 Whoops. 2015-03-16 23:32:49 +01:00
Florian Bruhin
210ce8ca7c Don't poll for signals on Unix.
A better solution is to use QSocketNotifier and os.wakeup_fd to get notified
about new signals.

Thanks to Yuya Nishihara / TortoiseHG for the hint!

Fixes #555.
2015-03-16 23:25:36 +01:00
Florian Bruhin
74892ac8e4 Initialize completions lazily and only once.
Before, we initialized the completions once for every window spawned, which was
a waste of CPU-time and RAM.

Now we only initialize them once, when the user uses the completion for the
first time.
2015-03-13 16:25:13 +01:00
Florian Bruhin
e8e6d8409b Adjust pylint exceptions. 2015-03-11 20:14:39 +01:00
Florian Bruhin
6d51fcfb2e Add a do_search argument to fuzzy_url.
This turns off searching no matter what autosearch is set to, and also makes it
possible to use fuzzy_url before the config is up.

For now, we use this for quickmarks and the startpage.
2015-02-27 08:07:40 +01:00
Florian Bruhin
fcbd69e209 Clean up standarddir handling #2.
We already attempted this in c5a2039da4, but
having the directories as module attributes means they'll be created on start
(rather than when they're actually used), and it'd also be impossible to change
them after init for some reason in the future.

To still have a nice short API, we simply change the attributes to functions.
2015-02-26 07:01:22 +01:00
Florian Bruhin
31d9018fc4 Disable insecure SSL ciphers (< 128bit) for Qt 5.2.
This is only an issue for the users which are stuck on Ubuntu Trusty.
2015-02-25 21:07:44 +01:00
Florian Bruhin
c5a2039da4 Refactor QStandardPaths handling. 2015-02-22 19:13:51 +01:00
Florian Bruhin
5b33f6c5fe Re-add save-session setting. 2015-02-17 07:45:06 +01:00
Florian Bruhin
56b0ae2b6e Get rid of mainwindow.MainWindow.spawn. 2015-02-16 22:56:12 +01:00