Fixes #194: Editor tab should trim long titles

This commit is contained in:
Olivier Keshavjee 2017-11-14 18:11:50 +01:00
parent 31dcc6d53a
commit 170c8ef404
2 changed files with 13 additions and 2 deletions

View file

@ -40,6 +40,8 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
toggledSpellcheck = pyqtSignal(bool) toggledSpellcheck = pyqtSignal(bool)
dictChanged = pyqtSignal(str) dictChanged = pyqtSignal(str)
_maxTabTitleLength = 24
def __init__(self, parent): def __init__(self, parent):
QWidget.__init__(self, parent) QWidget.__init__(self, parent)
self.setupUi(self) self.setupUi(self)
@ -113,7 +115,15 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
return return
i = self._tabWidget.indexOf(self) i = self._tabWidget.indexOf(self)
self._tabWidget.setTabText(i, item.title())
self._tabWidget.setTabText(i, self.ellidedTitle(item.title()))
self._tabWidget.setTabToolTip(i, item.title())
def ellidedTitle(self, title):
if len(title) > self._maxTabTitleLength:
return "{}".format(title[:self._maxTabTitleLength])
else:
return title
def setView(self): def setView(self):
# index = mainWindow().treeRedacOutline.currentIndex() # index = mainWindow().treeRedacOutline.currentIndex()

View file

@ -220,7 +220,8 @@ class mainEditor(QWidget, Ui_mainEditor):
editor = editorWidget(self) editor = editorWidget(self)
editor.setCurrentModelIndex(index) editor.setCurrentModelIndex(index)
editor._tabWidget = tabWidget editor._tabWidget = tabWidget
tabWidget.addTab(editor, title) i = tabWidget.addTab(editor, editor.ellidedTitle(title))
tabWidget.setTabToolTip(i, title)
tabWidget.setCurrentIndex(tabWidget.count() - 1) tabWidget.setCurrentIndex(tabWidget.count() - 1)
else: else:
self.currentEditor(tabWidget).setCurrentModelIndex(index) self.currentEditor(tabWidget).setCurrentModelIndex(index)