Compare commits
4 Commits
26412d400f
...
54ecbe2447
Author | SHA1 | Date |
---|---|---|
Sebastian Lohff | 54ecbe2447 | |
Sebastian Lohff | dab559e5d7 | |
Sebastian Lohff | be411066dc | |
Sebastian Lohff | 43ae293359 |
|
@ -132,12 +132,16 @@ class CliMenu:
|
||||||
for text in title.split('\n'):
|
for text in title.split('\n'):
|
||||||
self._items.append(_CliMenuHeader(text, indent=indent, style=style))
|
self._items.append(_CliMenuHeader(text, indent=indent, style=style))
|
||||||
|
|
||||||
def add_option(self, text, item=_EmptyParameter, style=None, highlighted_style=None):
|
def add_option(self, text, item=_EmptyParameter, disabled=False, style=None, highlighted_style=None):
|
||||||
if item == _EmptyParameter:
|
if disabled:
|
||||||
item = text
|
# this is basically a text option and we just throw the item away
|
||||||
self._items.append(_CliMenuOption(text, self._item_num, item=item,
|
self.add_text(title=text, style=style)
|
||||||
style=style, highlighted_style=highlighted_style))
|
else:
|
||||||
self._item_num += 1
|
if item == _EmptyParameter:
|
||||||
|
item = text
|
||||||
|
opt = _CliMenuOption(text, self._item_num, item=item, style=style, highlighted_style=highlighted_style)
|
||||||
|
self._items.append(opt)
|
||||||
|
self._item_num += 1
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def success(self):
|
def success(self):
|
||||||
|
@ -293,11 +297,13 @@ class CliMenu:
|
||||||
|
|
||||||
@self._kb.add('down', filter=~is_searching)
|
@self._kb.add('down', filter=~is_searching)
|
||||||
@self._kb.add('j', filter=~is_searching)
|
@self._kb.add('j', filter=~is_searching)
|
||||||
|
@self._kb.add('c-n', filter=~is_searching)
|
||||||
def down(event):
|
def down(event):
|
||||||
self.next_item(1)
|
self.next_item(1)
|
||||||
|
|
||||||
@self._kb.add('up', filter=~is_searching)
|
@self._kb.add('up', filter=~is_searching)
|
||||||
@self._kb.add('k', filter=~is_searching)
|
@self._kb.add('k', filter=~is_searching)
|
||||||
|
@self._kb.add('c-p', filter=~is_searching)
|
||||||
def up(event):
|
def up(event):
|
||||||
self.next_item(-1)
|
self.next_item(-1)
|
||||||
|
|
||||||
|
@ -369,9 +375,11 @@ class CliMultiMenu(CliMenu):
|
||||||
self._selection_icons = selection_icons if selection_icons is not None else self.default_selection_icons
|
self._selection_icons = selection_icons if selection_icons is not None else self.default_selection_icons
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def add_option(self, text, item=_EmptyParameter, selected=False,
|
def add_option(self, text, item=_EmptyParameter, selected=False, disabled=False,
|
||||||
style=None, highlighted_style=None, selected_style=None, selected_highlighted_style=None):
|
style=None, highlighted_style=None, selected_style=None, selected_highlighted_style=None):
|
||||||
super().add_option(text, item, style, highlighted_style=highlighted_style)
|
super().add_option(text, item, disabled=disabled, style=style, highlighted_style=highlighted_style)
|
||||||
|
if disabled:
|
||||||
|
return
|
||||||
self._items[-1].selected_style = selected_style
|
self._items[-1].selected_style = selected_style
|
||||||
self._items[-1].selected_highlighted_style = selected_highlighted_style
|
self._items[-1].selected_highlighted_style = selected_highlighted_style
|
||||||
if selected:
|
if selected:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[metadata]
|
[metadata]
|
||||||
name = clintermission
|
name = clintermission
|
||||||
version = 0.2.0
|
version = 0.3.0
|
||||||
author = Sebastian Lohff
|
author = Sebastian Lohff
|
||||||
author-email = seba@someserver.de
|
author-email = seba@someserver.de
|
||||||
license = Apache-2.0
|
license = Apache-2.0
|
||||||
|
@ -14,14 +14,15 @@ classifiers =
|
||||||
Development Status :: 3 - Alpha
|
Development Status :: 3 - Alpha
|
||||||
Intended Audience :: Developers
|
Intended Audience :: Developers
|
||||||
Programming Language :: Python :: 3
|
Programming Language :: Python :: 3
|
||||||
Programming Language :: Python :: 3.5
|
|
||||||
Programming Language :: Python :: 3.6
|
|
||||||
Programming Language :: Python :: 3.7
|
Programming Language :: Python :: 3.7
|
||||||
Programming Language :: Python :: 3.8
|
Programming Language :: Python :: 3.8
|
||||||
|
Programming Language :: Python :: 3.9
|
||||||
|
Programming Language :: Python :: 3.10
|
||||||
|
Programming Language :: Python :: 3.11
|
||||||
License :: OSI Approved :: Apache Software License
|
License :: OSI Approved :: Apache Software License
|
||||||
|
|
||||||
[options]
|
[options]
|
||||||
python_requires = >= 3.5
|
python_requires = >= 3.7
|
||||||
packages = clintermission
|
packages = clintermission
|
||||||
setup_requires =
|
setup_requires =
|
||||||
setuptools > 30.4.0
|
setuptools > 30.4.0
|
||||||
|
|
Loading…
Reference in New Issue