Compare commits

...

4 Commits

Author SHA1 Message Date
Sebastian Lohff 54ecbe2447 Release v0.3.0
1 year ago
Sebastian Lohff dab559e5d7 Bump minimum python version to 3.7
1 year ago
Sebastian Lohff be411066dc Allow disabled options to be created
1 year ago
Sebastian Lohff 43ae293359 Add ctrl+n / ctrl+p as shortcuts for down and up
1 year ago

@ -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…
Cancel
Save