Skip to content

Commit 0da3881

Browse files
feat: add nerd_1 theme to the tab widget
1 parent 40ad352 commit 0da3881

6 files changed

Lines changed: 197 additions & 68 deletions

File tree

libs/pyTermTk/TermTk/TTkCore/TTkTerm/term_base.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ class Sigmask():
8484
CTRL_S = 0x0002
8585
CTRL_Z = 0x0004
8686
CTRL_Q = 0x0008
87+
CTRL_Y = 0x0010
8788

8889
title: str = "TermTk"
8990
width: int = 0

libs/pyTermTk/TermTk/TTkCore/drivers/term_unix.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ def _setSigmask(mask, value=True):
6767
attr[6][termios.VSUSP]= b'\x1a' if value else 0
6868
if mask & TTkTerm.Sigmask.CTRL_Q:
6969
attr[6][termios.VSTART]= b'\x11' if value else 0
70+
if mask & TTkTerm.Sigmask.CTRL_Y:
71+
attr[6][termios.VDSUSP]= b'\x19' if value else 0
7072
termios.tcsetattr(sys.stdin, termios.TCSADRAIN, attr)
7173
TTkTermBase.setSigmask = _setSigmask
7274

libs/pyTermTk/TermTk/TTkGui/textdocument.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ def __init__(self, *, text:TTkString=" ") -> None:
152152
self.undoCommandAdded = pyTTkSignal()
153153
self.modificationChanged = pyTTkSignal(bool)
154154
self._backgroundColor = TTkColor.RST
155-
text = text
156155
self._dataLines = [TTkString(t) for t in text.split('\n')]
157156
self._modified = False
158157
# Cumulative changes since the lasrt snapshot
@@ -267,10 +266,10 @@ def appendText(self, text):
267266
self._snapChanged = None
268267

269268
def isUndoAvailable(self):
270-
return self._snap and self._snap._prevDiff
269+
return self._snap is not None and self._snap._prevDiff is not None
271270

272271
def isRedoAvailable(self):
273-
return self._snap and self._snap._nextDiff
272+
return self._snap is not None and self._snap._nextDiff is not None
274273

275274
def hasSnapshots(self):
276275
return self._snap is not None

libs/pyTermTk/TermTk/TTkWidgets/kodetab.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from TermTk.TTkCore.color import TTkColor, TTkColorGradient
3232
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
3333
from TermTk.TTkWidgets.widget import TTkWidget
34-
from TermTk.TTkWidgets.tabwidget import TTkTabWidget, _TTkNewTabWidgetDragData, _TTkTabWidgetDragData
34+
from TermTk.TTkWidgets.tabwidget import TTkTabWidget, TTkBarType, _TTkNewTabWidgetDragData, _TTkTabWidgetDragData
3535
from TermTk.TTkWidgets.splitter import TTkSplitter
3636
from TermTk.TTkWidgets.frame import TTkFrame
3737
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
@@ -70,7 +70,7 @@ def _importMenu(self, kt):
7070

7171
def iterWidgets(self):
7272
for i in range(self.count()):
73-
yield self.widget(i)
73+
yield self.widget(i), self.tabButton(i)
7474

7575
def dragEnterEvent(self, evt:TTkDnDEvent) -> bool:
7676
TTkLog.debug(f"Drag Enter")
@@ -122,7 +122,7 @@ def _processDrop(widget, label, orientation, offset):
122122
splitter.replaceWidget(index, splitter := TTkSplitter(orientation=orientation))
123123
splitter.addWidget(self)
124124
index=offset
125-
splitter.insertWidget(index+offset, kt:=_TTkKodeTab(baseWidget=self._baseWidget, border=self.border(), closable=self.tabsClosable()))
125+
splitter.insertWidget(index+offset, kt:=_TTkKodeTab(baseWidget=self._baseWidget, border=self.border(), barType=self._barType, closable=self.tabsClosable()))
126126
kt._dropEventProxy = self._dropEventProxy
127127
kt.addTab(widget,label)
128128
if fwold!=(fwnew := self._baseWidget._getFirstWidget()) and fwold._hasMenu():
@@ -208,19 +208,22 @@ def paintChildCanvas(self):
208208

209209
class TTkKodeTab(TTkSplitter):
210210
__slots__ = (
211-
'_lastKodeTabWidget',
211+
'_lastKodeTabWidget', '_barType',
212212
# Signals
213213
'currentChanged','tabBarClicked','tabCloseRequested' )
214214

215-
def __init__(self, **kwargs) -> None:
215+
def __init__(self,
216+
barType:TTkBarType=TTkBarType.NONE,
217+
**kwargs) -> None:
216218
self.currentChanged = pyTTkSignal(TTkTabWidget,int,TTkWidget,object)
217219
self.tabBarClicked = pyTTkSignal(TTkTabWidget,int,TTkWidget,object)
218220
self.tabCloseRequested = pyTTkSignal(TTkTabWidget,int)
221+
self._barType = barType
219222
super().__init__(**kwargs|{'layout':TTkGridLayout()})
220223
kwargs.pop('parent',None)
221224
kwargs.pop('visible',None)
222225
# self.layout().addWidget(splitter := TTkSplitter())
223-
self._lastKodeTabWidget = _TTkKodeTab(baseWidget=self, **kwargs)
226+
self._lastKodeTabWidget = _TTkKodeTab(baseWidget=self, barType=self._barType, **kwargs)
224227
self._lastKodeTabWidget._dropEventProxy = self._dropEventProxy
225228
self.addWidget(self._lastKodeTabWidget)
226229

libs/pyTermTk/TermTk/TTkWidgets/menubar.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def addMenu(self,text:TTkString, data:object=None, checkable:bool=False, checked
104104
text, shortcuts = text.extractShortcuts()
105105
button = TTkMenuBarButton(text=text, data=data, checkable=checkable, checked=checked)
106106
for ch in shortcuts:
107-
shortcut = TTkShortcut(key=TTkK.ALT | ord(ch.upper()))
107+
shortcut = TTkShortcut(key=TTkK.CTRL | ord(ch.upper()))
108108
shortcut.activated.connect(button.shortcutEvent)
109109
self._mbItems(alignment).addWidget(button)
110110
self._buttons.append(button)

0 commit comments

Comments
 (0)