Commit Graph

212 Commits

Author SHA1 Message Date
Florian Bruhin
ab5acdc3ad Clean up ConfigManager __init__ and make it work with None.
Fixes parts of #137.
2014-10-02 22:45:47 +02:00
Florian Bruhin
086de1b508 Rename cmd_history to cmd-history.
For consistency with the other stuff, why not.
Also we broke that file with the last commit anyways.
2014-10-02 22:12:24 +02:00
Florian Bruhin
d3c9bab01a Move state/cmd_history from config to data dir.
See #21.
2014-10-02 22:12:24 +02:00
Florian Bruhin
b20536d472 Move handling of --confdir into get_standard_dir 2014-10-02 21:54:42 +02:00
Florian Bruhin
fb6cb62f93 First attempt at multi-window support. 2014-09-28 22:13:14 +02:00
Florian Bruhin
64a119afb2 Don't use signals for on_config_changed. 2014-09-28 11:27:52 +02:00
Florian Bruhin
8636562579 Move config init out of Application 2014-09-28 00:27:22 +02:00
Florian Bruhin
36fd2e5c7f Improve __repr__ methods. 2014-09-26 15:48:24 +02:00
Florian Bruhin
3f02451828 Move object registry to its own file. 2014-09-24 07:06:45 +02:00
Florian Bruhin
953e50721c Use object registry for config. 2014-09-23 22:28:28 +02:00
Florian Bruhin
812a0fdd41 Merge branch 'newcmd'
Conflicts:
	.flake8
	pkg/PKGBUILD.qutebrowser-git
	qutebrowser/browser/commands.py
	qutebrowser/browser/hints.py
	qutebrowser/config/configdata.py
	qutebrowser/network/qutescheme.py
	qutebrowser/test/config/test_configtypes.py
	qutebrowser/utils/utils.py
2014-09-22 19:09:48 +02:00
Florian Bruhin
5eef6d422d Better exception formatting and handling. 2014-09-16 08:20:19 +02:00
Florian Bruhin
d1ddc8c6cb Fix lint 2014-09-15 22:01:13 +02:00
Florian Bruhin
f7c0f8f11e Remove :get and use :set with ...? instead. 2014-09-15 06:24:15 +02:00
Florian Bruhin
fa9d9b62b1 config: Use sectname/optname argument names. 2014-09-15 00:03:59 +02:00
Florian Bruhin
4d3b3616a6 Fix lint 2014-09-14 23:56:19 +02:00
Florian Bruhin
80ef0782d5 Improve some docstrings. 2014-09-13 00:22:27 +02:00
Florian Bruhin
ab0e600977 Error if unknown sections are in the config. 2014-09-12 17:53:27 +02:00
Florian Bruhin
052fa8e277 Don't emit config changed signals during init.
When we're initializing anyways nobody got a config value yet, so emitting the
signals just will mean code gets executed twice.

This reduces the startup time by about 1-2 seconds.
2014-09-12 17:38:40 +02:00
Florian Bruhin
cd14cbbfb8 Handle changed config correctly for interpolated values. 2014-09-12 17:26:47 +02:00
Florian Bruhin
e3d16f3bbe Full read-write support for key config. 2014-09-09 22:18:00 +02:00
Florian Bruhin
a811f8cb07 Start initial newcmd stuff. 2014-09-08 07:36:17 +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
af10d1c857 Fix cache invalidation for on_setting_changed. 2014-08-27 20:22:38 +02:00
Florian Bruhin
68ef9b97a3 Add an LRU cache to the config. 2014-08-27 20:16:04 +02:00
Florian Bruhin
562388fe52 Rename config.conftypes to config.configtypes. 2014-08-26 21:41:41 +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
d625cde28c Clean up imports 2014-08-26 19:10:14 +02:00
Florian Bruhin
ee1b136807 Clean up pylint/noqa comments. 2014-08-04 03:47:09 +02:00
Florian Bruhin
9e73cba333 Improve command documentation. 2014-08-03 00:33:39 +02:00
Florian Bruhin
b574fcfe19 Print '<Default configuration>' in crash report if it's unchanged 2014-07-29 22:51:32 +02:00
Florian Bruhin
265019650b Use enum for completions 2014-07-29 00:37:32 +02:00
Florian Bruhin
f7304298ab Separate docstrings into command/documentation parts. 2014-07-16 20:09:41 +02:00
Florian Bruhin
0705d6087c Don't catch every ValueError to get failed interpolations 2014-07-10 22:38:09 +02:00
Florian Bruhin
f0c67193a9 Implement ConfigManager.items().
If this isn't implemented, _interpolate_some will fail when doing a
double-interpolation.
2014-07-10 22:32:41 +02:00
Florian Bruhin
92ff957543 Clean up message API 2014-06-26 07:58:00 +02:00
Florian Bruhin
a64775a0f9 Improve logging messages 2014-06-21 22:40:31 +02:00
Florian Bruhin
113221c731 Log some exceptions 2014-06-20 23:26:19 +02:00
Florian Bruhin
d65587128f Add vim modelines to all files. 2014-06-19 09:04:37 +02:00
Florian Bruhin
1fef2d02b9 Add an :all-objects command and __repr__s 2014-06-17 11:03:42 +02:00
Florian Bruhin
2f1cd43f9c Change lists to tuples for immutable values 2014-06-06 17:21:35 +02:00
Florian Bruhin
fd220b1b36 Raise CommandError instead of message.error where possible 2014-06-06 11:55:55 +02:00
Florian Bruhin
fa1e03f56b _foo.py file rename [1/2] 2014-06-03 14:57:57 +02:00
Florian Bruhin
1e256699f8 Add topic-specific loggers 2014-05-23 16:11:55 +02:00
Florian Bruhin
d901fe69e6 Rename some commands 2014-05-16 23:01:40 +02:00
Florian Bruhin
a045511962 Use exceptions for command errors 2014-05-14 18:00:40 +02:00
Florian Bruhin
195c7d6ef7 Work around binding = 2014-05-11 21:55:41 +02:00
Florian Bruhin
edc9d0810c Use QCoreApplication.instance() 2014-05-09 17:01:05 +02:00
Florian Bruhin
5ce49553d8 Stop logging config values.
This is just too much noise...
2014-05-06 08:36:32 +02:00
Florian Bruhin
c8fd0937b0 Revert "Use global object dict for global objects"
This reverts commit bf2c7831c8.

This was a bad idea as we need to access some of the main attributes
from commands via instance=...
2014-05-05 20:12:20 +02:00
Florian Bruhin
bf2c7831c8 Use global object dict for global objects 2014-05-05 19:12:47 +02:00
Florian Bruhin
c561931699 Also rename options 2014-05-05 18:37:40 +02:00
Florian Bruhin
5f7759eaed Rename some stuff in config 2014-05-05 18:01:43 +02:00
Florian Bruhin
667b255d01 Use QApplication for global singletons 2014-05-05 17:56:14 +02:00
Florian Bruhin
ae95b5ea3b Basic cookie handling 2014-05-05 16:28:43 +02:00
Florian Bruhin
f935d99d52 Don't escape values anymore 2014-05-02 13:28:04 +02:00
Florian Bruhin
24939603ea Revert "Escape values in default config comments"
This reverts commit be86ca03e2.
2014-05-02 13:24:07 +02:00
Florian Bruhin
de368aa43d Revert "More escaping fixes"
This reverts commit fcb10e2bff.
2014-05-02 13:24:00 +02:00
Florian Bruhin
0640eacb95 Catch ValueError when catching :set errors 2014-05-02 12:27:06 +02:00
Florian Bruhin
fcb10e2bff More escaping fixes 2014-05-02 12:25:30 +02:00
Florian Bruhin
be86ca03e2 Escape values in default config comments 2014-05-02 11:30:51 +02:00
Florian Bruhin
ae0966a384 Fix encoding issues on windows.
locale.getpreferredencoding(False) returns cp1252 on Windows, which is
unable to parse our nice unicode arrows.

Therefore, we always need to specify the encoding when using open().

Also we exclude configdata.py from pep257 on Windows because it doesn't
detect the encoding correctly... Bug is submitted:
https://github.com/GreenSteam/pep257/issues/70
2014-05-02 11:15:38 +02:00
Florian Bruhin
be467d5e50 Refactor command argument splitting.
This uses split=True/False as cmdutils.register argument again (because
we would never want to set maxsplit ourselves, only not splitting the
*last* argument makes any sense.

Also this uses shlex for splitting again, like earlier.
2014-05-02 10:28:41 +02:00
Florian Bruhin
14617111a8 Remove old logging 2014-05-01 23:27:49 +02:00
Florian Bruhin
6a725aa87f Fix escaping in config 2014-05-01 21:09:29 +02:00
Florian Bruhin
3ed22ffcbe Return transformed value in get 2014-05-01 20:06:34 +02:00
Florian Bruhin
8474bbdf6a Rename and reorder config options 2014-04-27 21:21:14 +02:00
Florian Bruhin
9252ef94ca Consistent string chars 2014-04-25 16:53:23 +02:00
Florian Bruhin
35ba97d338 Escape special INI chars in ConfigManager 2014-04-25 15:57:28 +02:00
Florian Bruhin
c087efb1fd Rename Config to ConfigManager 2014-04-25 12:07:37 +02:00
Florian Bruhin
937196e287 Rename package-private modules to _foo.py 2014-04-25 11:50:30 +02:00
Florian Bruhin
1638823fb3 Add a complete() method to config types 2014-04-22 15:19:01 +02:00
Florian Bruhin
963066b4bd Remove some old FIXMEs 2014-04-22 14:45:24 +02:00
Florian Bruhin
27f88ffa47 Don't break https:// urls 2014-04-22 08:42:47 +02:00
Florian Bruhin
73dfa30a49 Display error message when config validation failed 2014-04-21 22:29:57 +02:00
Florian Bruhin
f70fad650d Spelling fix 2014-04-21 21:11:01 +02:00
Florian Bruhin
a91dde8a26 Catch exceptions in get_wrapper 2014-04-17 19:11:31 +02:00
Florian Bruhin
5bd40e732c Do validation and reading from configparser correctly 2014-04-17 19:02:58 +02:00
Florian Bruhin
39f580d9f1 Cleanup 2014-04-17 17:44:27 +02:00
Florian Bruhin
457e173592 More config cleanup.
This renames the config instance from "config" to "instance" and adds a
convenience get() function in the config module.
2014-04-17 15:26:27 +02:00
Florian Bruhin
a15461b5da Rename config.config dict to sections 2014-04-17 14:49:38 +02:00
Florian Bruhin
3728381643 Make dump_userconfig work correctly 2014-04-17 12:35:46 +02:00
Florian Bruhin
3eca7d6847 Don't split value for set commands 2014-04-17 12:06:48 +02:00
Florian Bruhin
3ad4b447b4 Remove FIXME 2014-04-17 11:45:06 +02:00
Florian Bruhin
72340575af Remove value from on_config_changed signal again.
Turns out this causes more trouble than it's worth, and it's unintuitive
from which layer we get the value.
2014-04-17 11:39:25 +02:00
Florian Bruhin
a1a0325283 Use ChainMap for ValueList config section.
This also fixes the problem where no keybindings are loaded on the first
start.
2014-04-17 11:01:45 +02:00
Florian Bruhin
981ca7d18e Fix layer handling in dump_userconfig 2014-04-16 23:21:57 +02:00
Florian Bruhin
57baafbf30 Change configdata from function to attribute 2014-04-16 16:32:14 +02:00
Florian Bruhin
517c9e6b69 Split config.py more 2014-04-16 16:16:17 +02:00
Florian Bruhin
fc24cb620c Move websettings to own file 2014-04-16 15:49:56 +02:00
Florian Bruhin
03227c2b41 Lint fixes 2014-04-16 14:14:37 +02:00
Florian Bruhin
4c751d8081 Add webkit settings to config 2014-04-16 13:32:55 +02:00
Florian Bruhin
4ca8cc9537 Add value to config.changed signal 2014-04-16 09:50:24 +02:00
Florian Bruhin
a410d56a78 Implement command history 2014-04-16 09:08:56 +02:00
Florian Bruhin
1d5b0ca9a6 Add save command 2014-04-15 17:28:14 +02:00
Florian Bruhin
f959c0c137 Add completion for settings values 2014-04-14 17:54:11 +02:00
Florian Bruhin
ab31f2a289 Add set_temp command 2014-04-11 19:34:46 +02:00
Florian Bruhin
a3a81543a0 Don't write temp layer to config 2014-04-11 19:34:34 +02:00
Florian Bruhin
e12531e766 Fix dict-change (change attibute to item access) 2014-04-11 19:32:20 +02:00