Fix statusbar sizing

This commit is contained in:
Florian Bruhin 2014-01-30 20:30:18 +01:00
parent a8b64d6971
commit c6b21b27b5
4 changed files with 11 additions and 21 deletions

View File

@ -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.
"""

View File

@ -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)

View File

@ -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?

View File

@ -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)