Skip to content

Commit

Permalink
Add Flag Shortcuts
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremia49 committed Mar 9, 2024
1 parent 12d425b commit d9ac5d8
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
46 changes: 46 additions & 0 deletions labelme/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,20 @@ def __init__(
# Actions
action = functools.partial(utils.newAction, self)
shortcuts = self._config["shortcuts"]
setFlag1 = action(
"Set Flag 1",
functools.partial(self.toggleTrueFlag, 0),
shortcuts["flag_1"],
"labels",
"Set Flag 1",
)
setFlag2 = action(
"Set Flag 2",
functools.partial(self.toggleTrueFlag, 1),
shortcuts["flag_2"],
"labels",
"Set Flag 2",
)
quit = action(
self.tr("&Quit"),
self.close,
Expand Down Expand Up @@ -656,6 +670,10 @@ def __init__(
openPrevImg=openPrevImg,
fileMenuActions=(open_, opendir, save, saveAs, close, quit),
tool=(),

setFlag1=setFlag1,
setFlag2=setFlag2,

# XXX: need to add some actions here to activate the shortcut
editMenu=(
edit,
Expand Down Expand Up @@ -690,6 +708,10 @@ def __init__(
undo,
undoLastPoint,
removePoint,

setFlag1,
setFlag2,

),
onLoadActive=(
close,
Expand All @@ -703,6 +725,10 @@ def __init__(
createAiMaskMode,
editMode,
brightnessContrast,

setFlag1,
setFlag2,

),
onShapesPresent=(saveAs, hideAll, showAll, toggleAll),
)
Expand Down Expand Up @@ -825,6 +851,9 @@ def __init__(
zoom,
None,
selectAiModel,
None,
setFlag1,
setFlag2,
)

self.statusBar().showMessage(str(self.tr("%s started.")) % __appname__)
Expand Down Expand Up @@ -1290,6 +1319,23 @@ def loadFlags(self, flags):
item.setCheckState(Qt.Checked if flag else Qt.Unchecked)
self.flag_widget.addItem(item)

def toggleTrueFlag(self, index):
flags = {}
for i in range(self.flag_widget.count()):
item = self.flag_widget.item(i)
key = item.text()
flag = item.checkState() == Qt.Checked
flags[key] = flag
self.flag_widget.clear()
i = 0
for key, flag in flags.items():
item = QtWidgets.QListWidgetItem(key)
item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
item.setCheckState(Qt.Checked if i==index else Qt.Unchecked)
i += 1
self.flag_widget.addItem(item)
self.setDirty()

def saveLabels(self, filename):
lf = LabelFile()

Expand Down
3 changes: 3 additions & 0 deletions labelme/config/default_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,6 @@ shortcuts:
show_all_polygons: null
hide_all_polygons: null
toggle_all_polygons: T

flag_1: 1
flag_2: 2

0 comments on commit d9ac5d8

Please sign in to comment.