Make tabbar configurable.
This commit is contained in:
parent
d7f58015bb
commit
5b0e24b799
@ -44,6 +44,15 @@ startpage = http://www.duckduckgo.com/
|
|||||||
addressbar_dns_lookup = false
|
addressbar_dns_lookup = false
|
||||||
auto_search = true
|
auto_search = true
|
||||||
|
|
||||||
|
[tabbar]
|
||||||
|
movable = true
|
||||||
|
closebuttons = false
|
||||||
|
scrollbuttons = false
|
||||||
|
# north, south, east, west
|
||||||
|
position = north
|
||||||
|
# previous, left, right
|
||||||
|
select_on_remove = previous
|
||||||
|
|
||||||
[searchengines]
|
[searchengines]
|
||||||
DEFAULT = ${duckduckgo}
|
DEFAULT = ${duckduckgo}
|
||||||
duckduckgo = https://duckduckgo.com/?q={}
|
duckduckgo = https://duckduckgo.com/?q={}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from PyQt5.QtWidgets import QTabWidget, QSizePolicy
|
from PyQt5.QtWidgets import QTabWidget, QTabBar, QSizePolicy
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
|
|
||||||
import qutebrowser.utils.config as config
|
import qutebrowser.utils.config as config
|
||||||
@ -60,12 +60,36 @@ class TabWidget(QTabWidget):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
# FIXME export some settings (TabPosition, tabsClosable,
|
|
||||||
# usesScrollButtons)
|
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
self.setStyle(Style(self.style()))
|
self.setStyle(Style(self.style()))
|
||||||
self.setStyleSheet(config.get_stylesheet(self._stylesheet))
|
self.setStyleSheet(config.get_stylesheet(self._stylesheet))
|
||||||
self.setDocumentMode(True)
|
self.setDocumentMode(True)
|
||||||
self.setMovable(True)
|
|
||||||
self.setElideMode(Qt.ElideRight)
|
self.setElideMode(Qt.ElideRight)
|
||||||
|
self._init_config()
|
||||||
|
|
||||||
|
def _init_config(self):
|
||||||
|
"""Initialize attributes based on the config."""
|
||||||
|
position_conv = {
|
||||||
|
'north': QTabWidget.North,
|
||||||
|
'south': QTabWidget.South,
|
||||||
|
'west': QTabWidget.West,
|
||||||
|
'east': QTabWidget.East,
|
||||||
|
}
|
||||||
|
select_conv = {
|
||||||
|
'left': QTabBar.SelectLeftTab,
|
||||||
|
'right': QTabBar.SelectRightTab,
|
||||||
|
'previous': QTabBar.SelectPreviousTab,
|
||||||
|
}
|
||||||
|
self.setMovable(config.config.getboolean('tabbar', 'movable'))
|
||||||
|
self.setTabsClosable(config.config.getboolean('tabbar',
|
||||||
|
'closebuttons'))
|
||||||
|
self.setUsesScrollButtons(config.config.getboolean('tabbar',
|
||||||
|
'scrollbuttons'))
|
||||||
|
posstr = config.config.get('tabbar', 'position').lower()
|
||||||
|
selstr = config.config.get('tabbar', 'select_on_remove').lower()
|
||||||
|
try:
|
||||||
|
self.setTabPosition(position_conv[posstr])
|
||||||
|
self.tabBar().setSelectionBehaviorOnRemove(select_conv[selstr])
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
Loading…
Reference in New Issue
Block a user