From 06ec1a3885bd271ffa4dfdfd5b9b228952f9ac14 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 13 Dec 2014 17:28:50 +0100 Subject: [PATCH] Big file tree reorganisation. Closes #255. Should make a lot more sense now ;) --- qutebrowser/app.py | 20 +++++++++---------- qutebrowser/browser/commands.py | 5 +++-- qutebrowser/browser/cookies.py | 3 ++- qutebrowser/browser/downloads.py | 5 +++-- .../downloads.py => browser/downloadview.py} | 0 qutebrowser/{utils => browser}/http.py | 2 +- qutebrowser/{ => browser}/network/__init__.py | 0 .../{ => browser}/network/networkmanager.py | 2 +- .../{ => browser}/network/networkreply.py | 0 qutebrowser/{ => browser}/network/pastebin.py | 0 qutebrowser/{ => browser}/network/proxy.py | 0 .../{ => browser}/network/qutescheme.py | 2 +- .../{ => browser}/network/schemehandler.py | 0 qutebrowser/browser/quickmarks.py | 2 +- qutebrowser/{utils => browser}/rfc6266.py | 0 qutebrowser/browser/signalfilter.py | 2 +- qutebrowser/browser/webpage.py | 7 ++++--- qutebrowser/{widgets => browser}/webview.py | 0 qutebrowser/commands/runners.py | 3 ++- qutebrowser/completion/__init__.py | 20 +++++++++++++++++++ .../{utils => completion}/completer.py | 5 +++-- .../completiondelegate.py | 0 .../completionwidget.py} | 4 ++-- .../models}/__init__.py | 2 +- .../models/base.py} | 0 .../{ => completion}/models/completion.py | 14 ++++++------- .../models/sortfilter.py} | 2 +- qutebrowser/config/config.py | 18 ++++++++--------- qutebrowser/config/parsers/__init__.py | 20 +++++++++++++++++++ .../config/{iniparsers.py => parsers/ini.py} | 0 .../{keyconfparser.py => parsers/keyconf.py} | 0 .../config/{lineparser.py => parsers/line.py} | 0 .../{widgets => mainwindow}/__init__.py | 2 +- .../{widgets => mainwindow}/mainwindow.py | 12 +++++------ qutebrowser/mainwindow/statusbar/__init__.py | 20 +++++++++++++++++++ .../{widgets => mainwindow}/statusbar/bar.py | 6 +++--- .../statusbar/command.py | 4 ++-- .../statusbar/keystring.py | 2 +- .../statusbar/percentage.py | 2 +- .../statusbar/progress.py | 2 +- .../statusbar/prompt.py | 4 ++-- .../statusbar/prompter.py | 0 .../{widgets => mainwindow}/statusbar/text.py | 2 +- .../statusbar/textbase.py | 0 .../{widgets => mainwindow}/statusbar/url.py | 4 ++-- .../{widgets => mainwindow}/tabbedbrowser.py | 6 +++--- .../{widgets => mainwindow}/tabwidget.py | 0 qutebrowser/{models => misc}/__init__.py | 2 +- qutebrowser/{utils => misc}/checkpyver.py | 0 qutebrowser/{models => misc}/cmdhistory.py | 0 .../console.py => misc/consolewidget.py} | 5 ++--- .../{widgets/crash.py => misc/crashdialog.py} | 6 +++--- qutebrowser/{utils => misc}/earlyinit.py | 0 qutebrowser/{utils => misc}/editor.py | 0 qutebrowser/{utils => misc}/ipc.py | 0 .../{widgets/misc.py => misc/miscwidgets.py} | 2 +- qutebrowser/{utils => misc}/readline.py | 0 qutebrowser/{utils => misc}/split.py | 0 qutebrowser/{utils => misc}/utilcmds.py | 4 ++-- qutebrowser/qutebrowser.py | 6 +++--- .../test/{utils => browser}/http/__init__.py | 0 .../http/test_content_disposition.py | 0 .../test/{utils => browser}/http/test_http.py | 0 .../test/{utils => misc}/test_editor.py | 0 .../test/{utils => misc}/test_readline.py | 0 .../test/{utils => misc}/test_split.py | 0 66 files changed, 147 insertions(+), 82 deletions(-) rename qutebrowser/{widgets/downloads.py => browser/downloadview.py} (100%) rename qutebrowser/{utils => browser}/http.py (98%) rename qutebrowser/{ => browser}/network/__init__.py (100%) rename qutebrowser/{ => browser}/network/networkmanager.py (99%) rename qutebrowser/{ => browser}/network/networkreply.py (100%) rename qutebrowser/{ => browser}/network/pastebin.py (100%) rename qutebrowser/{ => browser}/network/proxy.py (100%) rename qutebrowser/{ => browser}/network/qutescheme.py (98%) rename qutebrowser/{ => browser}/network/schemehandler.py (100%) rename qutebrowser/{utils => browser}/rfc6266.py (100%) rename qutebrowser/{widgets => browser}/webview.py (100%) create mode 100644 qutebrowser/completion/__init__.py rename qutebrowser/{utils => completion}/completer.py (99%) rename qutebrowser/{widgets => completion}/completiondelegate.py (100%) rename qutebrowser/{widgets/completion.py => completion/completionwidget.py} (98%) rename qutebrowser/{widgets/statusbar => completion/models}/__init__.py (94%) rename qutebrowser/{models/basecompletion.py => completion/models/base.py} (100%) rename qutebrowser/{ => completion}/models/completion.py (94%) rename qutebrowser/{models/completionfilter.py => completion/models/sortfilter.py} (98%) create mode 100644 qutebrowser/config/parsers/__init__.py rename qutebrowser/config/{iniparsers.py => parsers/ini.py} (100%) rename qutebrowser/config/{keyconfparser.py => parsers/keyconf.py} (100%) rename qutebrowser/config/{lineparser.py => parsers/line.py} (100%) rename qutebrowser/{widgets => mainwindow}/__init__.py (94%) rename qutebrowser/{widgets => mainwindow}/mainwindow.py (97%) create mode 100644 qutebrowser/mainwindow/statusbar/__init__.py rename qutebrowser/{widgets => mainwindow}/statusbar/bar.py (98%) rename qutebrowser/{widgets => mainwindow}/statusbar/command.py (98%) rename qutebrowser/{widgets => mainwindow}/statusbar/keystring.py (94%) rename qutebrowser/{widgets => mainwindow}/statusbar/percentage.py (96%) rename qutebrowser/{widgets => mainwindow}/statusbar/progress.py (98%) rename qutebrowser/{widgets => mainwindow}/statusbar/prompt.py (95%) rename qutebrowser/{widgets => mainwindow}/statusbar/prompter.py (100%) rename qutebrowser/{widgets => mainwindow}/statusbar/text.py (98%) rename qutebrowser/{widgets => mainwindow}/statusbar/textbase.py (100%) rename qutebrowser/{widgets => mainwindow}/statusbar/url.py (98%) rename qutebrowser/{widgets => mainwindow}/tabbedbrowser.py (99%) rename qutebrowser/{widgets => mainwindow}/tabwidget.py (100%) rename qutebrowser/{models => misc}/__init__.py (96%) rename qutebrowser/{utils => misc}/checkpyver.py (100%) rename qutebrowser/{models => misc}/cmdhistory.py (100%) rename qutebrowser/{widgets/console.py => misc/consolewidget.py} (98%) rename qutebrowser/{widgets/crash.py => misc/crashdialog.py} (99%) rename qutebrowser/{utils => misc}/earlyinit.py (100%) rename qutebrowser/{utils => misc}/editor.py (100%) rename qutebrowser/{utils => misc}/ipc.py (100%) rename qutebrowser/{widgets/misc.py => misc/miscwidgets.py} (99%) rename qutebrowser/{utils => misc}/readline.py (100%) rename qutebrowser/{utils => misc}/split.py (100%) rename qutebrowser/{utils => misc}/utilcmds.py (97%) rename qutebrowser/test/{utils => browser}/http/__init__.py (100%) rename qutebrowser/test/{utils => browser}/http/test_content_disposition.py (100%) rename qutebrowser/test/{utils => browser}/http/test_http.py (100%) rename qutebrowser/test/{utils => misc}/test_editor.py (100%) rename qutebrowser/test/{utils => misc}/test_readline.py (100%) rename qutebrowser/test/{utils => misc}/test_split.py (100%) diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 6919a4c48..c13465659 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -39,15 +39,15 @@ from PyQt5.QtCore import (pyqtSlot, qInstallMessageHandler, QTimer, QUrl, import qutebrowser from qutebrowser.commands import cmdutils, runners from qutebrowser.config import style, config, websettings -from qutebrowser.network import qutescheme, proxy from qutebrowser.browser import quickmarks, cookies, cache, adblock -from qutebrowser.widgets import mainwindow, crash +from qutebrowser.browser.network import qutescheme, proxy +from qutebrowser.mainwindow import mainwindow +from qutebrowser.misc import crashdialog, readline, ipc, earlyinit +from qutebrowser.misc import utilcmds # pylint: disable=unused-import from qutebrowser.keyinput import modeman -from qutebrowser.utils import (log, version, message, readline, utils, qtutils, - urlutils, debug, objreg, usertypes, standarddir, - ipc, earlyinit) +from qutebrowser.utils import (log, version, message, utils, qtutils, urlutils, + debug, objreg, usertypes, standarddir) # We import utilcmds to run the cmdutils.register decorators. -from qutebrowser.utils import utilcmds # pylint: disable=unused-import class Application(QApplication): @@ -202,8 +202,8 @@ class Application(QApplication): if data: # Crashlog exists and has data in it, so something crashed # previously. - self._crashdlg = crash.FatalCrashDialog(self._args.debug, - data) + self._crashdlg = crashdialog.FatalCrashDialog( + self._args.debug, data) self._crashdlg.show() else: # There's no log file, so we can use this to display crashes to @@ -526,7 +526,7 @@ class Application(QApplication): except TypeError: log.destroy.exception("Error while preventing shutdown") QApplication.closeAllWindows() - self._crashdlg = crash.ExceptionCrashDialog( + self._crashdlg = crashdialog.ExceptionCrashDialog( self._args.debug, pages, history, exc, objects) ret = self._crashdlg.exec_() if ret == QDialog.Accepted: # restore @@ -630,7 +630,7 @@ class Application(QApplication): pages = self._recover_pages() history = objreg.get('command-history')[-5:] objects = self.get_all_objects() - self._crashdlg = crash.ReportDialog(pages, history, objects) + self._crashdlg = crashdialog.ReportDialog(pages, history, objects) self._crashdlg.show() def interrupt(self, signum, _frame): diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index c906ce79a..57e015da4 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -37,8 +37,9 @@ import pygments.formatters from qutebrowser.commands import userscripts, cmdexc, cmdutils from qutebrowser.config import config from qutebrowser.browser import webelem -from qutebrowser.utils import (message, editor, usertypes, log, qtutils, - urlutils, objreg, utils) +from qutebrowser.utils import (message, usertypes, log, qtutils, urlutils, + objreg, utils) +from qutebrowser.misc import editor class CommandDispatcher: diff --git a/qutebrowser/browser/cookies.py b/qutebrowser/browser/cookies.py index 7ba786ed6..392154505 100644 --- a/qutebrowser/browser/cookies.py +++ b/qutebrowser/browser/cookies.py @@ -22,7 +22,8 @@ from PyQt5.QtNetwork import QNetworkCookie, QNetworkCookieJar from PyQt5.QtCore import QStandardPaths, QDateTime -from qutebrowser.config import config, lineparser +from qutebrowser.config import config +from qutebrowser.config.parsers import line as lineparser from qutebrowser.utils import utils, standarddir, objreg diff --git a/qutebrowser/browser/downloads.py b/qutebrowser/browser/downloads.py index 563b3a225..e1ba0c6cd 100644 --- a/qutebrowser/browser/downloads.py +++ b/qutebrowser/browser/downloads.py @@ -36,9 +36,10 @@ from PyQt5.QtWebKitWidgets import QWebPage # pylint: disable=unused-import from qutebrowser.config import config from qutebrowser.commands import cmdexc, cmdutils -from qutebrowser.utils import (message, http, usertypes, log, utils, urlutils, +from qutebrowser.utils import (message, usertypes, log, utils, urlutils, objreg, standarddir, qtutils) -from qutebrowser.network import networkmanager +from qutebrowser.browser import http +from qutebrowser.browser.network import networkmanager ModelRole = usertypes.enum('ModelRole', ['item'], start=Qt.UserRole, diff --git a/qutebrowser/widgets/downloads.py b/qutebrowser/browser/downloadview.py similarity index 100% rename from qutebrowser/widgets/downloads.py rename to qutebrowser/browser/downloadview.py diff --git a/qutebrowser/utils/http.py b/qutebrowser/browser/http.py similarity index 98% rename from qutebrowser/utils/http.py rename to qutebrowser/browser/http.py index fd6add845..ebf6722a5 100644 --- a/qutebrowser/utils/http.py +++ b/qutebrowser/browser/http.py @@ -22,8 +22,8 @@ import os.path -from qutebrowser.utils import rfc6266 from qutebrowser.utils import log +from qutebrowser.browser import rfc6266 from PyQt5.QtNetwork import QNetworkRequest diff --git a/qutebrowser/network/__init__.py b/qutebrowser/browser/network/__init__.py similarity index 100% rename from qutebrowser/network/__init__.py rename to qutebrowser/browser/network/__init__.py diff --git a/qutebrowser/network/networkmanager.py b/qutebrowser/browser/network/networkmanager.py similarity index 99% rename from qutebrowser/network/networkmanager.py rename to qutebrowser/browser/network/networkmanager.py index f5379bf1d..4d3f2ca04 100644 --- a/qutebrowser/network/networkmanager.py +++ b/qutebrowser/browser/network/networkmanager.py @@ -31,8 +31,8 @@ else: from qutebrowser.config import config from qutebrowser.utils import message, log, usertypes, utils, objreg -from qutebrowser.network import qutescheme, networkreply from qutebrowser.browser import cookies +from qutebrowser.browser.network import qutescheme, networkreply HOSTBLOCK_ERROR_STRING = '%HOSTBLOCK%' diff --git a/qutebrowser/network/networkreply.py b/qutebrowser/browser/network/networkreply.py similarity index 100% rename from qutebrowser/network/networkreply.py rename to qutebrowser/browser/network/networkreply.py diff --git a/qutebrowser/network/pastebin.py b/qutebrowser/browser/network/pastebin.py similarity index 100% rename from qutebrowser/network/pastebin.py rename to qutebrowser/browser/network/pastebin.py diff --git a/qutebrowser/network/proxy.py b/qutebrowser/browser/network/proxy.py similarity index 100% rename from qutebrowser/network/proxy.py rename to qutebrowser/browser/network/proxy.py diff --git a/qutebrowser/network/qutescheme.py b/qutebrowser/browser/network/qutescheme.py similarity index 98% rename from qutebrowser/network/qutescheme.py rename to qutebrowser/browser/network/qutescheme.py index 12c3c27d9..60825d785 100644 --- a/qutebrowser/network/qutescheme.py +++ b/qutebrowser/browser/network/qutescheme.py @@ -31,7 +31,7 @@ from PyQt5.QtCore import pyqtSlot, QObject from PyQt5.QtNetwork import QNetworkReply import qutebrowser -from qutebrowser.network import schemehandler, networkreply +from qutebrowser.browser.network import schemehandler, networkreply from qutebrowser.utils import (version, utils, jinja, log, message, docutils, objreg) from qutebrowser.config import configtypes, configdata diff --git a/qutebrowser/network/schemehandler.py b/qutebrowser/browser/network/schemehandler.py similarity index 100% rename from qutebrowser/network/schemehandler.py rename to qutebrowser/browser/network/schemehandler.py diff --git a/qutebrowser/browser/quickmarks.py b/qutebrowser/browser/quickmarks.py index 2705c76f4..43ed70a5b 100644 --- a/qutebrowser/browser/quickmarks.py +++ b/qutebrowser/browser/quickmarks.py @@ -31,7 +31,7 @@ from PyQt5.QtCore import pyqtSignal, QStandardPaths, QUrl, QObject from qutebrowser.utils import message, usertypes, urlutils, standarddir from qutebrowser.commands import cmdexc, cmdutils -from qutebrowser.config import lineparser +from qutebrowser.config.parsers import line as lineparser class QuickmarkManager(QObject): diff --git a/qutebrowser/utils/rfc6266.py b/qutebrowser/browser/rfc6266.py similarity index 100% rename from qutebrowser/utils/rfc6266.py rename to qutebrowser/browser/rfc6266.py diff --git a/qutebrowser/browser/signalfilter.py b/qutebrowser/browser/signalfilter.py index ebd52a002..2418facfb 100644 --- a/qutebrowser/browser/signalfilter.py +++ b/qutebrowser/browser/signalfilter.py @@ -24,7 +24,7 @@ import functools from PyQt5.QtCore import QObject from qutebrowser.utils import debug, log, objreg -from qutebrowser.widgets import webview +from qutebrowser.browser import webview class SignalFilter(QObject): diff --git a/qutebrowser/browser/webpage.py b/qutebrowser/browser/webpage.py index 94e6bc46f..073912c5b 100644 --- a/qutebrowser/browser/webpage.py +++ b/qutebrowser/browser/webpage.py @@ -29,9 +29,10 @@ from PyQt5.QtPrintSupport import QPrintDialog from PyQt5.QtWebKitWidgets import QWebPage from qutebrowser.config import config -from qutebrowser.network import networkmanager -from qutebrowser.utils import (message, usertypes, log, http, jinja, qtutils, - utils, objreg) +from qutebrowser.browser import http +from qutebrowser.browser.network import networkmanager +from qutebrowser.utils import (message, usertypes, log, jinja, qtutils, utils, + objreg) class BrowserPage(QWebPage): diff --git a/qutebrowser/widgets/webview.py b/qutebrowser/browser/webview.py similarity index 100% rename from qutebrowser/widgets/webview.py rename to qutebrowser/browser/webview.py diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py index 3ac74498c..46809ecdb 100644 --- a/qutebrowser/commands/runners.py +++ b/qutebrowser/commands/runners.py @@ -26,7 +26,8 @@ from PyQt5.QtWebKitWidgets import QWebPage from qutebrowser.config import config from qutebrowser.commands import cmdexc, cmdutils -from qutebrowser.utils import message, log, utils, objreg, split +from qutebrowser.utils import message, log, utils, objreg +from qutebrowser.misc import split def replace_variables(win_id, arglist): diff --git a/qutebrowser/completion/__init__.py b/qutebrowser/completion/__init__.py new file mode 100644 index 000000000..10c8e1118 --- /dev/null +++ b/qutebrowser/completion/__init__.py @@ -0,0 +1,20 @@ +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# Copyright 2014 Florian Bruhin (The Compiler) +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +"""Modules related to the command completion.""" diff --git a/qutebrowser/utils/completer.py b/qutebrowser/completion/completer.py similarity index 99% rename from qutebrowser/utils/completer.py rename to qutebrowser/completion/completer.py index 074aa5586..452eafef5 100644 --- a/qutebrowser/utils/completer.py +++ b/qutebrowser/completion/completer.py @@ -24,8 +24,9 @@ from PyQt5.QtCore import pyqtSlot, QObject, QTimer from qutebrowser.config import config, configdata from qutebrowser.commands import cmdutils, runners from qutebrowser.utils import usertypes, log, objreg, utils -from qutebrowser.models import completion as models -from qutebrowser.models.completionfilter import CompletionFilterModel as CFM +from qutebrowser.completion.models import completion as models +from qutebrowser.completion.models.sortfilter import ( + CompletionFilterModel as CFM) class Completer(QObject): diff --git a/qutebrowser/widgets/completiondelegate.py b/qutebrowser/completion/completiondelegate.py similarity index 100% rename from qutebrowser/widgets/completiondelegate.py rename to qutebrowser/completion/completiondelegate.py diff --git a/qutebrowser/widgets/completion.py b/qutebrowser/completion/completionwidget.py similarity index 98% rename from qutebrowser/widgets/completion.py rename to qutebrowser/completion/completionwidget.py index 670c9d2de..14898e4b0 100644 --- a/qutebrowser/widgets/completion.py +++ b/qutebrowser/completion/completionwidget.py @@ -28,8 +28,8 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QItemSelectionModel from qutebrowser.commands import cmdutils from qutebrowser.config import config, style -from qutebrowser.widgets import completiondelegate -from qutebrowser.utils import completer, usertypes, qtutils, objreg, utils +from qutebrowser.completion import completiondelegate, completer +from qutebrowser.utils import usertypes, qtutils, objreg, utils class CompletionView(QTreeView): diff --git a/qutebrowser/widgets/statusbar/__init__.py b/qutebrowser/completion/models/__init__.py similarity index 94% rename from qutebrowser/widgets/statusbar/__init__.py rename to qutebrowser/completion/models/__init__.py index 33e754bc7..481c820db 100644 --- a/qutebrowser/widgets/statusbar/__init__.py +++ b/qutebrowser/completion/models/__init__.py @@ -17,4 +17,4 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -"""The Qt widgets needed by qutebrowser.""" +"""Models for the command completion.""" diff --git a/qutebrowser/models/basecompletion.py b/qutebrowser/completion/models/base.py similarity index 100% rename from qutebrowser/models/basecompletion.py rename to qutebrowser/completion/models/base.py diff --git a/qutebrowser/models/completion.py b/qutebrowser/completion/models/completion.py similarity index 94% rename from qutebrowser/models/completion.py rename to qutebrowser/completion/models/completion.py index 356e9de57..8995fa05c 100644 --- a/qutebrowser/models/completion.py +++ b/qutebrowser/completion/models/completion.py @@ -22,12 +22,12 @@ from PyQt5.QtCore import pyqtSlot, Qt from qutebrowser.config import config, configdata -from qutebrowser.models import basecompletion from qutebrowser.utils import log, qtutils, objreg from qutebrowser.commands import cmdutils +from qutebrowser.completion.models import base -class SettingSectionCompletionModel(basecompletion.BaseCompletionModel): +class SettingSectionCompletionModel(base.BaseCompletionModel): """A CompletionModel filled with settings sections.""" @@ -41,7 +41,7 @@ class SettingSectionCompletionModel(basecompletion.BaseCompletionModel): self.new_item(cat, name, desc) -class SettingOptionCompletionModel(basecompletion.BaseCompletionModel): +class SettingOptionCompletionModel(base.BaseCompletionModel): """A CompletionModel filled with settings and their descriptions. @@ -94,7 +94,7 @@ class SettingOptionCompletionModel(basecompletion.BaseCompletionModel): "value: {})".format(section, option, val)) -class SettingValueCompletionModel(basecompletion.BaseCompletionModel): +class SettingValueCompletionModel(base.BaseCompletionModel): """A CompletionModel filled with setting values. @@ -146,7 +146,7 @@ class SettingValueCompletionModel(basecompletion.BaseCompletionModel): "value: {})".format(section, option, value)) -class CommandCompletionModel(basecompletion.BaseCompletionModel): +class CommandCompletionModel(base.BaseCompletionModel): """A CompletionModel filled with all commands and descriptions.""" @@ -168,7 +168,7 @@ class CommandCompletionModel(basecompletion.BaseCompletionModel): self.new_item(cat, name, desc) -class HelpCompletionModel(basecompletion.BaseCompletionModel): +class HelpCompletionModel(base.BaseCompletionModel): """A CompletionModel filled with help topics.""" @@ -209,7 +209,7 @@ class HelpCompletionModel(basecompletion.BaseCompletionModel): self.new_item(cat, name, desc) -class QuickmarkCompletionModel(basecompletion.BaseCompletionModel): +class QuickmarkCompletionModel(base.BaseCompletionModel): """A CompletionModel filled with all quickmarks.""" diff --git a/qutebrowser/models/completionfilter.py b/qutebrowser/completion/models/sortfilter.py similarity index 98% rename from qutebrowser/models/completionfilter.py rename to qutebrowser/completion/models/sortfilter.py index df26ad97b..316b92200 100644 --- a/qutebrowser/models/completionfilter.py +++ b/qutebrowser/completion/models/sortfilter.py @@ -25,8 +25,8 @@ Contains: from PyQt5.QtCore import QSortFilterProxyModel, QModelIndex -from qutebrowser.models import basecompletion as completion from qutebrowser.utils import log, qtutils +from qutebrowser.completion.models import base as completion class CompletionFilterModel(QSortFilterProxyModel): diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index 66adc271f..b7866d22a 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -35,8 +35,8 @@ import collections.abc from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QStandardPaths, QUrl from PyQt5.QtWidgets import QMessageBox -from qutebrowser.config import (configdata, iniparsers, configtypes, - textwrapper, keyconfparser) +from qutebrowser.config import configdata, configtypes, textwrapper +from qutebrowser.config.parsers import ini, keyconf from qutebrowser.commands import cmdexc, cmdutils from qutebrowser.utils import message, objreg, utils, standarddir, log, qtutils from qutebrowser.utils.usertypes import Completion @@ -144,8 +144,8 @@ def init(args): else: objreg.register('config', config_obj) try: - key_config = keyconfparser.KeyConfigParser(confdir, 'keys.conf') - except keyconfparser.KeyConfigError as e: + key_config = keyconf.KeyConfigParser(confdir, 'keys.conf') + except keyconf.KeyConfigError as e: log.init.exception(e) errstr = "Error while reading key config:\n" if e.lineno is not None: @@ -160,12 +160,12 @@ def init(args): objreg.register('key-config', key_config) datadir = standarddir.get(QStandardPaths.DataLocation, args) - state_config = iniparsers.ReadWriteConfigParser(datadir, 'state') + state_config = ini.ReadWriteConfigParser(datadir, 'state') objreg.register('state-config', state_config) # We need to import this here because lineparser needs config. - from qutebrowser.config import lineparser - command_history = lineparser.LineConfigParser( - datadir, 'cmd-history', ('completion', 'history-length')) + from qutebrowser.config.parsers import line + command_history = line.LineConfigParser(datadir, 'cmd-history', + ('completion', 'history-length')) objreg.register('command-history', command_history) @@ -259,7 +259,7 @@ class ConfigManager(QObject): self._configdir = None else: self._configdir = configdir - parser = iniparsers.ReadConfigParser(configdir, fname) + parser = ini.ReadConfigParser(configdir, fname) self._from_cp(parser) self._initialized = True diff --git a/qutebrowser/config/parsers/__init__.py b/qutebrowser/config/parsers/__init__.py new file mode 100644 index 000000000..aebaa03c6 --- /dev/null +++ b/qutebrowser/config/parsers/__init__.py @@ -0,0 +1,20 @@ +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# Copyright 2014 Florian Bruhin (The Compiler) +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +"""Parser for different configuration formats.""" diff --git a/qutebrowser/config/iniparsers.py b/qutebrowser/config/parsers/ini.py similarity index 100% rename from qutebrowser/config/iniparsers.py rename to qutebrowser/config/parsers/ini.py diff --git a/qutebrowser/config/keyconfparser.py b/qutebrowser/config/parsers/keyconf.py similarity index 100% rename from qutebrowser/config/keyconfparser.py rename to qutebrowser/config/parsers/keyconf.py diff --git a/qutebrowser/config/lineparser.py b/qutebrowser/config/parsers/line.py similarity index 100% rename from qutebrowser/config/lineparser.py rename to qutebrowser/config/parsers/line.py diff --git a/qutebrowser/widgets/__init__.py b/qutebrowser/mainwindow/__init__.py similarity index 94% rename from qutebrowser/widgets/__init__.py rename to qutebrowser/mainwindow/__init__.py index 33e754bc7..31c29630e 100644 --- a/qutebrowser/widgets/__init__.py +++ b/qutebrowser/mainwindow/__init__.py @@ -17,4 +17,4 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -"""The Qt widgets needed by qutebrowser.""" +"""Widgets needed for the main window.""" diff --git a/qutebrowser/widgets/mainwindow.py b/qutebrowser/mainwindow/mainwindow.py similarity index 97% rename from qutebrowser/widgets/mainwindow.py rename to qutebrowser/mainwindow/mainwindow.py index 4bf5f4ec6..379f7b80f 100644 --- a/qutebrowser/widgets/mainwindow.py +++ b/qutebrowser/mainwindow/mainwindow.py @@ -30,11 +30,11 @@ from PyQt5.QtWidgets import QWidget, QVBoxLayout from qutebrowser.commands import runners, cmdutils from qutebrowser.config import config from qutebrowser.utils import message, log, usertypes, qtutils, objreg, utils -from qutebrowser.widgets import tabbedbrowser, completion -from qutebrowser.widgets import downloads as downloadswidget -from qutebrowser.widgets.statusbar import bar +from qutebrowser.mainwindow import tabbedbrowser +from qutebrowser.mainwindow.statusbar import bar +from qutebrowser.completion import completionwidget from qutebrowser.keyinput import modeman -from qutebrowser.browser import hints, downloads +from qutebrowser.browser import hints, downloads, downloadview win_id_gen = itertools.count(0) @@ -87,7 +87,7 @@ class MainWindow(QWidget): objreg.register('download-manager', download_manager, scope='window', window=win_id) - self._downloadview = downloadswidget.DownloadView(win_id) + self._downloadview = downloadview.DownloadView(win_id) self._vbox.addWidget(self._downloadview) self._downloadview.show() @@ -99,7 +99,7 @@ class MainWindow(QWidget): self.status = bar.StatusBar(win_id) self._vbox.addWidget(self.status) - self._completion = completion.CompletionView(win_id, self) + self._completion = completionwidget.CompletionView(win_id, self) self._commandrunner = runners.CommandRunner(win_id) diff --git a/qutebrowser/mainwindow/statusbar/__init__.py b/qutebrowser/mainwindow/statusbar/__init__.py new file mode 100644 index 000000000..69b330d93 --- /dev/null +++ b/qutebrowser/mainwindow/statusbar/__init__.py @@ -0,0 +1,20 @@ +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +# Copyright 2014 Florian Bruhin (The Compiler) +# +# This file is part of qutebrowser. +# +# qutebrowser is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# qutebrowser is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with qutebrowser. If not, see . + +"""Widgets needed for the statusbar.""" diff --git a/qutebrowser/widgets/statusbar/bar.py b/qutebrowser/mainwindow/statusbar/bar.py similarity index 98% rename from qutebrowser/widgets/statusbar/bar.py rename to qutebrowser/mainwindow/statusbar/bar.py index e57092189..d71b290e7 100644 --- a/qutebrowser/widgets/statusbar/bar.py +++ b/qutebrowser/mainwindow/statusbar/bar.py @@ -26,9 +26,9 @@ from PyQt5.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy from qutebrowser.config import config, style from qutebrowser.utils import usertypes, log, objreg, utils -from qutebrowser.widgets.statusbar import (command, progress, keystring, - percentage, url, prompt) -from qutebrowser.widgets.statusbar import text as textwidget +from qutebrowser.mainwindow.statusbar import (command, progress, keystring, + percentage, url, prompt) +from qutebrowser.mainwindow.statusbar import text as textwidget PreviousWidget = usertypes.enum('PreviousWidget', ['none', 'prompt', diff --git a/qutebrowser/widgets/statusbar/command.py b/qutebrowser/mainwindow/statusbar/command.py similarity index 98% rename from qutebrowser/widgets/statusbar/command.py rename to qutebrowser/mainwindow/statusbar/command.py index c641bb1a5..005e7b203 100644 --- a/qutebrowser/widgets/statusbar/command.py +++ b/qutebrowser/mainwindow/statusbar/command.py @@ -24,8 +24,8 @@ from PyQt5.QtWidgets import QSizePolicy from qutebrowser.keyinput import modeman, modeparsers from qutebrowser.commands import cmdexc, cmdutils -from qutebrowser.widgets import misc -from qutebrowser.models import cmdhistory +from qutebrowser.misc import cmdhistory +from qutebrowser.misc import miscwidgets as misc from qutebrowser.utils import usertypes, log, objreg diff --git a/qutebrowser/widgets/statusbar/keystring.py b/qutebrowser/mainwindow/statusbar/keystring.py similarity index 94% rename from qutebrowser/widgets/statusbar/keystring.py rename to qutebrowser/mainwindow/statusbar/keystring.py index 41a89aa09..3433f10c8 100644 --- a/qutebrowser/widgets/statusbar/keystring.py +++ b/qutebrowser/mainwindow/statusbar/keystring.py @@ -19,7 +19,7 @@ """Keychain string displayed in the statusbar.""" -from qutebrowser.widgets.statusbar import textbase +from qutebrowser.mainwindow.statusbar import textbase class KeyString(textbase.TextBase): diff --git a/qutebrowser/widgets/statusbar/percentage.py b/qutebrowser/mainwindow/statusbar/percentage.py similarity index 96% rename from qutebrowser/widgets/statusbar/percentage.py rename to qutebrowser/mainwindow/statusbar/percentage.py index 1cf38c7e2..a24feadfa 100644 --- a/qutebrowser/widgets/statusbar/percentage.py +++ b/qutebrowser/mainwindow/statusbar/percentage.py @@ -21,7 +21,7 @@ from PyQt5.QtCore import pyqtSlot -from qutebrowser.widgets.statusbar import textbase +from qutebrowser.mainwindow.statusbar import textbase class Percentage(textbase.TextBase): diff --git a/qutebrowser/widgets/statusbar/progress.py b/qutebrowser/mainwindow/statusbar/progress.py similarity index 98% rename from qutebrowser/widgets/statusbar/progress.py rename to qutebrowser/mainwindow/statusbar/progress.py index 1be78d96b..1e60c4f05 100644 --- a/qutebrowser/widgets/statusbar/progress.py +++ b/qutebrowser/mainwindow/statusbar/progress.py @@ -22,7 +22,7 @@ from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QProgressBar, QSizePolicy -from qutebrowser.widgets import webview +from qutebrowser.browser import webview from qutebrowser.config import style from qutebrowser.utils import utils diff --git a/qutebrowser/widgets/statusbar/prompt.py b/qutebrowser/mainwindow/statusbar/prompt.py similarity index 95% rename from qutebrowser/widgets/statusbar/prompt.py rename to qutebrowser/mainwindow/statusbar/prompt.py index 8923082ac..3dab873b0 100644 --- a/qutebrowser/widgets/statusbar/prompt.py +++ b/qutebrowser/mainwindow/statusbar/prompt.py @@ -23,9 +23,9 @@ import functools from PyQt5.QtWidgets import QHBoxLayout, QWidget, QLineEdit -from qutebrowser.widgets import misc -from qutebrowser.widgets.statusbar import textbase, prompter +from qutebrowser.mainwindow.statusbar import textbase, prompter from qutebrowser.utils import objreg, utils +from qutebrowser.misc import miscwidgets as misc class PromptLineEdit(misc.MinimalLineEditMixin, QLineEdit): diff --git a/qutebrowser/widgets/statusbar/prompter.py b/qutebrowser/mainwindow/statusbar/prompter.py similarity index 100% rename from qutebrowser/widgets/statusbar/prompter.py rename to qutebrowser/mainwindow/statusbar/prompter.py diff --git a/qutebrowser/widgets/statusbar/text.py b/qutebrowser/mainwindow/statusbar/text.py similarity index 98% rename from qutebrowser/widgets/statusbar/text.py rename to qutebrowser/mainwindow/statusbar/text.py index 6be442956..2e2c21485 100644 --- a/qutebrowser/widgets/statusbar/text.py +++ b/qutebrowser/mainwindow/statusbar/text.py @@ -22,7 +22,7 @@ from PyQt5.QtCore import pyqtSlot from qutebrowser.config import config -from qutebrowser.widgets.statusbar import textbase +from qutebrowser.mainwindow.statusbar import textbase from qutebrowser.utils import usertypes, log, objreg diff --git a/qutebrowser/widgets/statusbar/textbase.py b/qutebrowser/mainwindow/statusbar/textbase.py similarity index 100% rename from qutebrowser/widgets/statusbar/textbase.py rename to qutebrowser/mainwindow/statusbar/textbase.py diff --git a/qutebrowser/widgets/statusbar/url.py b/qutebrowser/mainwindow/statusbar/url.py similarity index 98% rename from qutebrowser/widgets/statusbar/url.py rename to qutebrowser/mainwindow/statusbar/url.py index cf460da31..2c54e425a 100644 --- a/qutebrowser/widgets/statusbar/url.py +++ b/qutebrowser/mainwindow/statusbar/url.py @@ -21,8 +21,8 @@ from PyQt5.QtCore import pyqtSlot, pyqtProperty, Qt -from qutebrowser.widgets import webview -from qutebrowser.widgets.statusbar import textbase +from qutebrowser.browser import webview +from qutebrowser.mainwindow.statusbar import textbase from qutebrowser.config import style from qutebrowser.utils import usertypes diff --git a/qutebrowser/widgets/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py similarity index 99% rename from qutebrowser/widgets/tabbedbrowser.py rename to qutebrowser/mainwindow/tabbedbrowser.py index a589a0506..33ebacec3 100644 --- a/qutebrowser/widgets/tabbedbrowser.py +++ b/qutebrowser/mainwindow/tabbedbrowser.py @@ -30,8 +30,8 @@ from PyQt5.QtWebKitWidgets import QWebPage from qutebrowser.config import config from qutebrowser.commands import cmdexc from qutebrowser.keyinput import modeman -from qutebrowser.widgets import tabwidget, webview -from qutebrowser.browser import signalfilter, commands +from qutebrowser.mainwindow import tabwidget +from qutebrowser.browser import signalfilter, commands, webview from qutebrowser.utils import (log, message, usertypes, utils, qtutils, objreg, urlutils) @@ -316,7 +316,7 @@ class TabbedBrowser(tabwidget.TabWidget): qtutils.ensure_valid(url) log.webview.debug("Creating new tab with URL {}".format(url)) if config.get('tabs', 'tabs-are-windows') and self.count() > 0: - from qutebrowser.widgets import mainwindow + from qutebrowser.mainwindow import mainwindow window = mainwindow.MainWindow.spawn() tabbed_browser = objreg.get('tabbed-browser', scope='window', window=window) diff --git a/qutebrowser/widgets/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py similarity index 100% rename from qutebrowser/widgets/tabwidget.py rename to qutebrowser/mainwindow/tabwidget.py diff --git a/qutebrowser/models/__init__.py b/qutebrowser/misc/__init__.py similarity index 96% rename from qutebrowser/models/__init__.py rename to qutebrowser/misc/__init__.py index 095eab98f..4a13709e4 100644 --- a/qutebrowser/models/__init__.py +++ b/qutebrowser/misc/__init__.py @@ -17,4 +17,4 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -"""Various data models.""" +"""Misc. modules.""" diff --git a/qutebrowser/utils/checkpyver.py b/qutebrowser/misc/checkpyver.py similarity index 100% rename from qutebrowser/utils/checkpyver.py rename to qutebrowser/misc/checkpyver.py diff --git a/qutebrowser/models/cmdhistory.py b/qutebrowser/misc/cmdhistory.py similarity index 100% rename from qutebrowser/models/cmdhistory.py rename to qutebrowser/misc/cmdhistory.py diff --git a/qutebrowser/widgets/console.py b/qutebrowser/misc/consolewidget.py similarity index 98% rename from qutebrowser/widgets/console.py rename to qutebrowser/misc/consolewidget.py index 9dce75096..c3433648e 100644 --- a/qutebrowser/widgets/console.py +++ b/qutebrowser/misc/consolewidget.py @@ -29,12 +29,11 @@ from PyQt5.QtWidgets import (QTextEdit, QWidget, QVBoxLayout, QApplication, from PyQt5.QtGui import QTextCursor from qutebrowser.config import config -from qutebrowser.models import cmdhistory +from qutebrowser.misc import cmdhistory, miscwidgets from qutebrowser.utils import utils, log, objreg -from qutebrowser.widgets import misc -class ConsoleLineEdit(misc.CommandLineEdit): +class ConsoleLineEdit(miscwidgets.CommandLineEdit): """A QLineEdit which executes entered code and provides a history. diff --git a/qutebrowser/widgets/crash.py b/qutebrowser/misc/crashdialog.py similarity index 99% rename from qutebrowser/widgets/crash.py rename to qutebrowser/misc/crashdialog.py index b21b8eb85..ca57255e4 100644 --- a/qutebrowser/widgets/crash.py +++ b/qutebrowser/misc/crashdialog.py @@ -32,8 +32,8 @@ from PyQt5.QtWidgets import (QDialog, QLabel, QTextEdit, QPushButton, QVBoxLayout, QHBoxLayout, QCheckBox) from qutebrowser.utils import version, log, utils, objreg -from qutebrowser.widgets.misc import DetailFold -from qutebrowser.network import pastebin +from qutebrowser.misc import miscwidgets +from qutebrowser.browser.network import pastebin class _CrashDialog(QDialog): @@ -100,7 +100,7 @@ class _CrashDialog(QDialog): info = QLabel("You can edit the log below to remove sensitive " "information.", wordWrap=True) info.hide() - self._fold = DetailFold("Show log", self) + self._fold = miscwidgets.DetailFold("Show log", self) self._fold.toggled.connect(self._debug_log.setVisible) self._fold.toggled.connect(info.setVisible) if debug: diff --git a/qutebrowser/utils/earlyinit.py b/qutebrowser/misc/earlyinit.py similarity index 100% rename from qutebrowser/utils/earlyinit.py rename to qutebrowser/misc/earlyinit.py diff --git a/qutebrowser/utils/editor.py b/qutebrowser/misc/editor.py similarity index 100% rename from qutebrowser/utils/editor.py rename to qutebrowser/misc/editor.py diff --git a/qutebrowser/utils/ipc.py b/qutebrowser/misc/ipc.py similarity index 100% rename from qutebrowser/utils/ipc.py rename to qutebrowser/misc/ipc.py diff --git a/qutebrowser/widgets/misc.py b/qutebrowser/misc/miscwidgets.py similarity index 99% rename from qutebrowser/widgets/misc.py rename to qutebrowser/misc/miscwidgets.py index 910d1c6d3..3f60432ab 100644 --- a/qutebrowser/widgets/misc.py +++ b/qutebrowser/misc/miscwidgets.py @@ -24,8 +24,8 @@ from PyQt5.QtWidgets import (QLineEdit, QApplication, QWidget, QHBoxLayout, QLabel, QStyleOption, QStyle) from PyQt5.QtGui import QValidator, QClipboard, QPainter -from qutebrowser.models import cmdhistory from qutebrowser.utils import utils +from qutebrowser.misc import cmdhistory class MinimalLineEditMixin: diff --git a/qutebrowser/utils/readline.py b/qutebrowser/misc/readline.py similarity index 100% rename from qutebrowser/utils/readline.py rename to qutebrowser/misc/readline.py diff --git a/qutebrowser/utils/split.py b/qutebrowser/misc/split.py similarity index 100% rename from qutebrowser/utils/split.py rename to qutebrowser/misc/split.py diff --git a/qutebrowser/utils/utilcmds.py b/qutebrowser/misc/utilcmds.py similarity index 97% rename from qutebrowser/utils/utilcmds.py rename to qutebrowser/misc/utilcmds.py index 51648d0db..a82ff917b 100644 --- a/qutebrowser/utils/utilcmds.py +++ b/qutebrowser/misc/utilcmds.py @@ -27,7 +27,7 @@ from PyQt5.QtCore import QCoreApplication from qutebrowser.utils import log, objreg, usertypes from qutebrowser.commands import cmdutils, runners, cmdexc from qutebrowser.config import style -from qutebrowser.widgets import console +from qutebrowser.misc import consolewidget @cmdutils.register(scope='window', maxsplit=1) @@ -113,6 +113,6 @@ def debug_console(): try: con_widget = objreg.get('debug-console') except KeyError: - con_widget = console.ConsoleWidget() + con_widget = consolewidget.ConsoleWidget() objreg.register('debug-console', con_widget) con_widget.show() diff --git a/qutebrowser/qutebrowser.py b/qutebrowser/qutebrowser.py index 87a7d3635..f78abfe95 100644 --- a/qutebrowser/qutebrowser.py +++ b/qutebrowser/qutebrowser.py @@ -23,11 +23,11 @@ import sys import qutebrowser try: - from qutebrowser.utils.checkpyver import check_python_version + from qutebrowser.misc.checkpyver import check_python_version except ImportError: try: # python2 - from .utils.checkpyver import check_python_version + from .misc.checkpyver import check_python_version except (SystemError, ValueError): # Import without module - SystemError on Python3, ValueError (?!?) on # Python2 @@ -38,7 +38,7 @@ except ImportError: check_python_version() import argparse -from qutebrowser.utils import earlyinit +from qutebrowser.misc import earlyinit def get_argparser(): diff --git a/qutebrowser/test/utils/http/__init__.py b/qutebrowser/test/browser/http/__init__.py similarity index 100% rename from qutebrowser/test/utils/http/__init__.py rename to qutebrowser/test/browser/http/__init__.py diff --git a/qutebrowser/test/utils/http/test_content_disposition.py b/qutebrowser/test/browser/http/test_content_disposition.py similarity index 100% rename from qutebrowser/test/utils/http/test_content_disposition.py rename to qutebrowser/test/browser/http/test_content_disposition.py diff --git a/qutebrowser/test/utils/http/test_http.py b/qutebrowser/test/browser/http/test_http.py similarity index 100% rename from qutebrowser/test/utils/http/test_http.py rename to qutebrowser/test/browser/http/test_http.py diff --git a/qutebrowser/test/utils/test_editor.py b/qutebrowser/test/misc/test_editor.py similarity index 100% rename from qutebrowser/test/utils/test_editor.py rename to qutebrowser/test/misc/test_editor.py diff --git a/qutebrowser/test/utils/test_readline.py b/qutebrowser/test/misc/test_readline.py similarity index 100% rename from qutebrowser/test/utils/test_readline.py rename to qutebrowser/test/misc/test_readline.py diff --git a/qutebrowser/test/utils/test_split.py b/qutebrowser/test/misc/test_split.py similarity index 100% rename from qutebrowser/test/utils/test_split.py rename to qutebrowser/test/misc/test_split.py