From c6b21b27b5c079e260778d9a67f334d6f6f3b495 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 30 Jan 2014 20:30:18 +0100 Subject: [PATCH] Fix statusbar sizing --- qutebrowser/widgets/statusbar/__init__.py | 8 ++++++-- qutebrowser/widgets/statusbar/command.py | 2 +- qutebrowser/widgets/statusbar/progress.py | 17 +---------------- qutebrowser/widgets/statusbar/text.py | 5 +++-- 4 files changed, 11 insertions(+), 21 deletions(-) diff --git a/qutebrowser/widgets/statusbar/__init__.py b/qutebrowser/widgets/statusbar/__init__.py index 661a84ad3..2463218cd 100644 --- a/qutebrowser/widgets/statusbar/__init__.py +++ b/qutebrowser/widgets/statusbar/__init__.py @@ -1,7 +1,7 @@ """Several widgets in the statusbar.""" from PyQt5.QtCore import pyqtSignal -from PyQt5.QtWidgets import QHBoxLayout, QWidget +from PyQt5.QtWidgets import QHBoxLayout, QWidget, QSizePolicy import qutebrowser.utils.config as config from qutebrowser.widgets.statusbar.command import Command @@ -23,6 +23,8 @@ class StatusBar(QWidget): {color[statusbar.bg.__cur__]} {color[statusbar.fg.__cur__]} font-family: {monospace}; + font-size: 8pt; + height: 13px; }} """ @@ -43,6 +45,8 @@ class StatusBar(QWidget): self.bgcolor = config.colordict.getraw('statusbar.bg') self.setStyleSheet(config.get_stylesheet(self._stylesheet)) + self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + self.hbox = QHBoxLayout(self) self.hbox.setContentsMargins(0, 0, 0, 0) self.hbox.setSpacing(0) @@ -69,7 +73,7 @@ class StatusBar(QWidget): self.txt.error = '' def resizeEvent(self, e): - """Override resizeEvent of QWidget to emit a resized signal afterwards. + """Extend resizeEvent of QWidget to emit a resized signal afterwards. e -- The QResizeEvent. """ diff --git a/qutebrowser/widgets/statusbar/command.py b/qutebrowser/widgets/statusbar/command.py index 64a4c3600..017876a32 100644 --- a/qutebrowser/widgets/statusbar/command.py +++ b/qutebrowser/widgets/statusbar/command.py @@ -31,7 +31,7 @@ class Command(QLineEdit): super().__init__(statusbar) # FIXME self.statusbar = statusbar - self.setStyleSheet("border: 0px; padding-left: 1px") + self.setStyleSheet("border: 0px; padding-left: 1px;") self.setValidator(Validator()) self.returnPressed.connect(self.process_cmdline) self.textEdited.connect(self._histbrowse_stop) diff --git a/qutebrowser/widgets/statusbar/progress.py b/qutebrowser/widgets/statusbar/progress.py index 990a2ab9c..6381c2d49 100644 --- a/qutebrowser/widgets/statusbar/progress.py +++ b/qutebrowser/widgets/statusbar/progress.py @@ -3,7 +3,6 @@ import qutebrowser.utils.config as config from PyQt5.QtWidgets import QProgressBar, QSizePolicy -from PyQt5.QtCore import QSize class Progress(QProgressBar): @@ -26,7 +25,7 @@ class Progress(QProgressBar): self.statusbar = statusbar super().__init__(statusbar) - self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) + self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Ignored) self.setTextVisible(False) self.color = config.colordict.getraw('statusbar.progress.bg') self.hide() @@ -38,20 +37,6 @@ class Progress(QProgressBar): config.colordict['statusbar.progress.bg.__cur__'] = value self.setStyleSheet(config.get_stylesheet(self._stylesheet)) - def minimumSizeHint(self): - """Return the size of the progress widget.""" - status_size = self.statusbar.size() - return QSize(100, status_size.height()) - - def sizeHint(self): - - """Return the size of the progress widget. - - Simply copied from minimumSizeHint because the SizePolicy is fixed. - """ - - return self.minimumSizeHint() - def set_progress(self, prog): """Set the progress of the bar and show/hide it if necessary.""" # TODO display failed loading in some meaningful way? diff --git a/qutebrowser/widgets/statusbar/text.py b/qutebrowser/widgets/statusbar/text.py index 0e5c1e37e..c698ff999 100644 --- a/qutebrowser/widgets/statusbar/text.py +++ b/qutebrowser/widgets/statusbar/text.py @@ -1,7 +1,7 @@ """The text part of the statusbar.""" import logging -from PyQt5.QtWidgets import QLabel +from PyQt5.QtWidgets import QLabel, QSizePolicy class Text(QLabel): @@ -18,7 +18,8 @@ class Text(QLabel): def __init__(self, bar): super().__init__(bar) - self.setStyleSheet("padding-right: 1px") + self.setStyleSheet("padding-right: 1px;") + self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Ignored) def __setattr__(self, name, value): super().__setattr__(name, value)