Working towards using getattr instead

This commit is contained in:
Florian Bruhin 2014-03-03 18:47:42 +01:00
parent 032ccb8b43
commit 97ae3adb4a
3 changed files with 27 additions and 33 deletions

View File

@ -57,9 +57,6 @@ from qutebrowser.utils.appdirs import AppDirs
from qutebrowser.utils.misc import set_trace from qutebrowser.utils.misc import set_trace
components = {}
class QuteBrowser(QApplication): class QuteBrowser(QApplication):
"""Main object for qutebrowser. """Main object for qutebrowser.
@ -133,8 +130,6 @@ class QuteBrowser(QApplication):
self.keyparser.keystring_updated.connect( self.keyparser.keystring_updated.connect(
self.mainwindow.status.keystring.setText) self.mainwindow.status.keystring.setText)
components['app'] = self
self.mainwindow.show() self.mainwindow.show()
self._python_hacks() self._python_hacks()
timer = QTimer.singleShot(0, self._process_init_args) timer = QTimer.singleShot(0, self._process_init_args)

View File

@ -26,7 +26,6 @@ from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebKitWidgets import QWebPage from PyQt5.QtWebKitWidgets import QWebPage
import qutebrowser.config.config as config import qutebrowser.config.config as config
from qutebrowser.app import components as qtb_components
from qutebrowser.commands.template import Command from qutebrowser.commands.template import Command
from qutebrowser.commands.exceptions import (ArgumentCountError, from qutebrowser.commands.exceptions import (ArgumentCountError,
NoSuchCommandError) NoSuchCommandError)
@ -64,7 +63,7 @@ class register:
count, nargs = self._get_nargs_count(func) count, nargs = self._get_nargs_count(func)
desc = func.__doc__.splitlines()[0].strip().rstrip('.') desc = func.__doc__.splitlines()[0].strip().rstrip('.')
if self.instance is not None: if self.instance is not None:
handler = functools.partial(func, qtb_components[self.instance]) handler = functools.partial(func, instance])
else: else:
handler = func handler = func
cmd = Command(mainname, self.split_args, self.hide, nargs, count, desc, cmd = Command(mainname, self.split_args, self.hide, nargs, count, desc,
@ -139,7 +138,6 @@ class SearchParser(QObject):
self._text = None self._text = None
self._flags = 0 self._flags = 0
super().__init__(parent) super().__init__(parent)
qtb_components['searchparser'] = self
def _search(self, text, rev=False): def _search(self, text, rev=False):
"""Search for a text on the current page. """Search for a text on the current page.

View File

@ -37,7 +37,6 @@ from PyQt5.QtWebKitWidgets import QWebView, QWebPage
import qutebrowser.utils.url as urlutils import qutebrowser.utils.url as urlutils
import qutebrowser.config.config as config import qutebrowser.config.config as config
import qutebrowser.commands.utils as cmdutils import qutebrowser.commands.utils as cmdutils
from qutebrowser.app import components as qtb_components
from qutebrowser.widgets.tabbar import TabWidget from qutebrowser.widgets.tabbar import TabWidget
from qutebrowser.network.networkmanager import NetworkManager from qutebrowser.network.networkmanager import NetworkManager
from qutebrowser.utils.signals import SignalCache, dbg_signal from qutebrowser.utils.signals import SignalCache, dbg_signal
@ -115,7 +114,6 @@ class TabbedBrowser(TabWidget):
self._space.activated.connect(lambda: self.cur.scroll_page(0, 1)) self._space.activated.connect(lambda: self.cur.scroll_page(0, 1))
self.cur = CurCommandDispatcher(self) self.cur = CurCommandDispatcher(self)
self.cur.temp_message.connect(self.cur_temp_message) self.cur.temp_message.connect(self.cur_temp_message)
qtb_components['browser'] = self
def _cb_tab_shutdown(self, tab): def _cb_tab_shutdown(self, tab):
"""Called after a tab has been shut down completely. """Called after a tab has been shut down completely.
@ -249,7 +247,7 @@ class TabbedBrowser(TabWidget):
tab.shutdown(callback=functools.partial(self._cb_tab_shutdown, tab.shutdown(callback=functools.partial(self._cb_tab_shutdown,
tab)) tab))
@cmdutils.register(instance='browser') @cmdutils.register(instance='mainwindow.tabs')
def tabclose(self, count=None): def tabclose(self, count=None):
"""Close the current/[count]th tab. """Close the current/[count]th tab.
@ -279,7 +277,7 @@ class TabbedBrowser(TabWidget):
elif last_close == 'blank': elif last_close == 'blank':
tab.openurl('about:blank') tab.openurl('about:blank')
@cmdutils.register(instance='browser', split_args=False) @cmdutils.register(instance='mainwindow.tabs', split_args=False)
def tabopen(self, url): def tabopen(self, url):
"""Open a new tab with a given url. """Open a new tab with a given url.
@ -313,7 +311,7 @@ class TabbedBrowser(TabWidget):
tab.open_tab.connect(self.tabopen) tab.open_tab.connect(self.tabopen)
tab.openurl(url) tab.openurl(url)
@cmdutils.register(instance='browser', hide=True) @cmdutils.register(instance='mainwindow.tabs', hide=True)
def tabopencur(self): def tabopencur(self):
"""Set the statusbar to :tabopen and the current URL. """Set the statusbar to :tabopen and the current URL.
@ -324,7 +322,7 @@ class TabbedBrowser(TabWidget):
url = urlutils.urlstring(self.currentWidget().url()) url = urlutils.urlstring(self.currentWidget().url())
self.set_cmd_text.emit(':tabopen ' + url) self.set_cmd_text.emit(':tabopen ' + url)
@cmdutils.register(instance='browser', hide=True) @cmdutils.register(instance='mainwindow.tabs', hide=True)
def opencur(self): def opencur(self):
"""Set the statusbar to :open and the current URL. """Set the statusbar to :open and the current URL.
@ -335,7 +333,7 @@ class TabbedBrowser(TabWidget):
url = urlutils.urlstring(self.currentWidget().url()) url = urlutils.urlstring(self.currentWidget().url())
self.set_cmd_text.emit(':open ' + url) self.set_cmd_text.emit(':open ' + url)
@cmdutils.register(instance='browser', name='undo') @cmdutils.register(instance='mainwindow.tabs', name='undo')
def undo_close(self): def undo_close(self):
"""Switch to the previous tab, or skip [count] tabs. """Switch to the previous tab, or skip [count] tabs.
@ -345,7 +343,7 @@ class TabbedBrowser(TabWidget):
if self._url_stack: if self._url_stack:
self.tabopen(self._url_stack.pop()) self.tabopen(self._url_stack.pop())
@cmdutils.register(instance='browser', name='tabprev') @cmdutils.register(instance='mainwindow.tabs', name='tabprev')
def switch_prev(self, count=1): def switch_prev(self, count=1):
"""Switch to the ([count]th) previous tab. """Switch to the ([count]th) previous tab.
@ -362,7 +360,7 @@ class TabbedBrowser(TabWidget):
# FIXME # FIXME
pass pass
@cmdutils.register(instance='browser', name='tabnext') @cmdutils.register(instance='mainwindow.tabs', name='tabnext')
def switch_next(self, count=1): def switch_next(self, count=1):
"""Switch to the next tab, or skip [count] tabs. """Switch to the next tab, or skip [count] tabs.
@ -379,7 +377,7 @@ class TabbedBrowser(TabWidget):
# FIXME # FIXME
pass pass
@cmdutils.register(instance='browser') @cmdutils.register(instance='mainwindow.tabs')
def paste(self, sel=False): def paste(self, sel=False):
"""Open a page from the clipboard. """Open a page from the clipboard.
@ -396,7 +394,7 @@ class TabbedBrowser(TabWidget):
logging.debug("Clipboard contained: '{}'".format(url)) logging.debug("Clipboard contained: '{}'".format(url))
self.openurl(url) self.openurl(url)
@cmdutils.register(instance='browser') @cmdutils.register(instance='mainwindow.tabs')
def tabpaste(self, sel=False): def tabpaste(self, sel=False):
"""Open a page from the clipboard in a new tab. """Open a page from the clipboard in a new tab.
@ -491,7 +489,8 @@ class CurCommandDispatcher(QObject):
return return
frame.setScrollBarValue(orientation, int(m * perc / 100)) frame.setScrollBarValue(orientation, int(m * perc / 100))
@cmdutils.register(instance='browser', name='open', split_args=False) @cmdutils.register(instance='mainwindow.tabs.cur', name='open',
split_args=False)
def openurl(self, url, count=None): def openurl(self, url, count=None):
"""Open an url in the current/[count]th tab. """Open an url in the current/[count]th tab.
@ -514,7 +513,7 @@ class CurCommandDispatcher(QObject):
else: else:
tab.openurl(url) tab.openurl(url)
@cmdutils.register(instance='browser', name='reload') @cmdutils.register(instance='mainwindow.tabs.cur', name='reload')
def reloadpage(self, count=None): def reloadpage(self, count=None):
"""Reload the current/[count]th tab. """Reload the current/[count]th tab.
@ -528,7 +527,7 @@ class CurCommandDispatcher(QObject):
if tab is not None: if tab is not None:
tab.reload() tab.reload()
@cmdutils.register(instance='browser') @cmdutils.register(instance='mainwindow.tabs.cur')
def stop(self, count=None): def stop(self, count=None):
"""Stop loading in the current/[count]th tab. """Stop loading in the current/[count]th tab.
@ -542,7 +541,7 @@ class CurCommandDispatcher(QObject):
if tab is not None: if tab is not None:
tab.stop() tab.stop()
@cmdutils.register(instance='browser', name='print') @cmdutils.register(instance='mainwindow.tabs.cur', name='print')
def printpage(self, count=None): def printpage(self, count=None):
"""Print the current/[count]th tab. """Print the current/[count]th tab.
@ -559,7 +558,7 @@ class CurCommandDispatcher(QObject):
preview.paintRequested.connect(tab.print) preview.paintRequested.connect(tab.print)
preview.exec_() preview.exec_()
@cmdutils.register(instance='browser') @cmdutils.register(instance='mainwindow.tabs.cur')
def back(self, count=1): def back(self, count=1):
"""Go back in the history of the current tab. """Go back in the history of the current tab.
@ -573,7 +572,7 @@ class CurCommandDispatcher(QObject):
for i in range(count): # pylint: disable=unused-variable for i in range(count): # pylint: disable=unused-variable
self.tabs.currentWidget().back() self.tabs.currentWidget().back()
@cmdutils.register(instance='browser') @cmdutils.register(instance='mainwindow.tabs.cur')
def forward(self, count=1): def forward(self, count=1):
"""Go forward in the history of the current tab. """Go forward in the history of the current tab.
@ -598,7 +597,7 @@ class CurCommandDispatcher(QObject):
""" """
self.tabs.currentWidget().findText(text, flags) self.tabs.currentWidget().findText(text, flags)
@cmdutils.register(instance='browser', hide=True) @cmdutils.register(instance='mainwindow.tabs.cur', hide=True)
def scroll(self, dx, dy, count=1): def scroll(self, dx, dy, count=1):
"""Scroll the current tab by count * dx/dy. """Scroll the current tab by count * dx/dy.
@ -614,7 +613,8 @@ class CurCommandDispatcher(QObject):
dy = int(count) * float(dy) dy = int(count) * float(dy)
self.tabs.currentWidget().page_.mainFrame().scroll(dx, dy) self.tabs.currentWidget().page_.mainFrame().scroll(dx, dy)
@cmdutils.register(instance='browser', name='scroll_perc_x', hide=True) @cmdutils.register(instance='mainwindow.tabs.cur', name='scroll_perc_x',
hide=True)
def scroll_percent_x(self, perc=None, count=None): def scroll_percent_x(self, perc=None, count=None):
"""Scroll the current tab to a specific percent of the page (horiz). """Scroll the current tab to a specific percent of the page (horiz).
@ -627,7 +627,8 @@ class CurCommandDispatcher(QObject):
""" """
self._scroll_percent(perc, count, Qt.Horizontal) self._scroll_percent(perc, count, Qt.Horizontal)
@cmdutils.register(instance='browser', name='scroll_perc_y', hide=True) @cmdutils.register(instance='mainwindow.tabs.cur', name='scroll_perc_y',
hide=True)
def scroll_percent_y(self, perc=None, count=None): def scroll_percent_y(self, perc=None, count=None):
"""Scroll the current tab to a specific percent of the page (vert). """Scroll the current tab to a specific percent of the page (vert).
@ -640,7 +641,7 @@ class CurCommandDispatcher(QObject):
""" """
self._scroll_percent(perc, count, Qt.Vertical) self._scroll_percent(perc, count, Qt.Vertical)
@cmdutils.register(instance='browser', hide=True) @cmdutils.register(instance='mainwindow.tabs.cur', hide=True)
def scroll_page(self, mx, my, count=1): def scroll_page(self, mx, my, count=1):
"""Scroll the frame page-wise. """Scroll the frame page-wise.
@ -656,7 +657,7 @@ class CurCommandDispatcher(QObject):
page.mainFrame().scroll(int(count) * float(mx) * size.width(), page.mainFrame().scroll(int(count) * float(mx) * size.width(),
int(count) * float(my) * size.height()) int(count) * float(my) * size.height())
@cmdutils.register(instance='browser') @cmdutils.register(instance='mainwindow.tabs.cur')
def yank(self, sel=False): def yank(self, sel=False):
"""Yank the current url to the clipboard or primary selection. """Yank the current url to the clipboard or primary selection.
@ -676,7 +677,7 @@ class CurCommandDispatcher(QObject):
self.temp_message.emit('URL yanked to {}'.format( self.temp_message.emit('URL yanked to {}'.format(
'primary selection' if sel else 'clipboard')) 'primary selection' if sel else 'clipboard'))
@cmdutils.register(instance='browser', name='yanktitle') @cmdutils.register(instance='mainwindow.tabs.cur', name='yanktitle')
def yank_title(self, sel=False): def yank_title(self, sel=False):
"""Yank the current title to the clipboard or primary selection. """Yank the current title to the clipboard or primary selection.
@ -696,7 +697,7 @@ class CurCommandDispatcher(QObject):
self.temp_message.emit('Title yanked to {}'.format( self.temp_message.emit('Title yanked to {}'.format(
'primary selection' if sel else 'clipboard')) 'primary selection' if sel else 'clipboard'))
@cmdutils.register(instance='browser', name='zoomin') @cmdutils.register(instance='mainwindow.tabs.cur', name='zoomin')
def zoom_in(self, count=1): def zoom_in(self, count=1):
"""Zoom in in the current tab. """Zoom in in the current tab.
@ -707,7 +708,7 @@ class CurCommandDispatcher(QObject):
tab = self.tabs.currentWidget() tab = self.tabs.currentWidget()
tab.zoom(count) tab.zoom(count)
@cmdutils.register(instance='browser', name='zoomout') @cmdutils.register(instance='mainwindow.tabs.cur', name='zoomout')
def zoom_out(self, count=1): def zoom_out(self, count=1):
"""Zoom out in the current tab. """Zoom out in the current tab.