Skip to content

Commit c8bc352

Browse files
author
Kentaro Wada
committed
rewrite: app.py Phase 3-C — use keyword args for action definitions
1 parent b60be52 commit c8bc352

1 file changed

Lines changed: 63 additions & 70 deletions

File tree

labelme/app.py

Lines changed: 63 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,13 @@ def __init__(
245245
self.addDockWidget(Qt.RightDockWidgetArea, self.shape_dock)
246246
self.addDockWidget(Qt.RightDockWidgetArea, self.file_dock)
247247

248-
# Actions
248+
# Set up application actions
249249
action = functools.partial(utils.newAction, self)
250250
shortcuts = self._config["shortcuts"]
251251
quit = action(
252-
self.tr("&Quit"),
253-
self.close,
254-
shortcuts["quit"],
252+
text=self.tr("&Quit"),
253+
slot=self.close,
254+
shortcut=shortcuts["quit"],
255255
icon=None,
256256
tip=self.tr("Quit application"),
257257
)
@@ -264,150 +264,143 @@ def __init__(
264264
)
265265
open_config.setMenuRole(QtWidgets.QAction.PreferencesRole)
266266
open_ = action(
267-
self.tr("&Open\n"),
268-
self._open_file_with_dialog,
269-
shortcuts["open"],
267+
text=self.tr("&Open\n"),
268+
slot=self._open_file_with_dialog,
269+
shortcut=shortcuts["open"],
270270
icon="folder-open.svg",
271271
tip=self.tr("Open image or label file"),
272272
)
273273
opendir = action(
274-
self.tr("Open Dir"),
275-
self._open_dir_with_dialog,
276-
shortcuts["open_dir"],
274+
text=self.tr("Open Dir"),
275+
slot=self._open_dir_with_dialog,
276+
shortcut=shortcuts["open_dir"],
277277
icon="folder-open.svg",
278278
tip=self.tr("Open Dir"),
279279
)
280280
openNextImg = action(
281-
self.tr("&Next Image"),
282-
self._open_next_image,
283-
shortcuts["open_next"],
281+
text=self.tr("&Next Image"),
282+
slot=self._open_next_image,
283+
shortcut=shortcuts["open_next"],
284284
icon="arrow-fat-right.svg",
285285
tip=self.tr("Open next (hold Ctl+Shift to copy labels)"),
286286
enabled=False,
287287
)
288288
openPrevImg = action(
289-
self.tr("&Prev Image"),
290-
self._open_prev_image,
291-
shortcuts["open_prev"],
289+
text=self.tr("&Prev Image"),
290+
slot=self._open_prev_image,
291+
shortcut=shortcuts["open_prev"],
292292
icon="arrow-fat-left.svg",
293293
tip=self.tr("Open prev (hold Ctl+Shift to copy labels)"),
294294
enabled=False,
295295
)
296296
save = action(
297-
self.tr("&Save\n"),
298-
self.saveFile,
299-
shortcuts["save"],
297+
text=self.tr("&Save\n"),
298+
slot=self.saveFile,
299+
shortcut=shortcuts["save"],
300300
icon="floppy-disk.svg",
301301
tip=self.tr("Save labels to file"),
302302
enabled=False,
303303
)
304304
saveAs = action(
305-
self.tr("&Save As"),
306-
self.saveFileAs,
307-
shortcuts["save_as"],
305+
text=self.tr("&Save As"),
306+
slot=self.saveFileAs,
307+
shortcut=shortcuts["save_as"],
308308
icon="floppy-disk.svg",
309309
tip=self.tr("Save labels to a different file"),
310310
enabled=False,
311311
)
312-
313312
deleteFile = action(
314-
self.tr("&Delete File"),
315-
self.deleteFile,
316-
shortcuts["delete_file"],
313+
text=self.tr("&Delete File"),
314+
slot=self.deleteFile,
315+
shortcut=shortcuts["delete_file"],
317316
icon="file-x.svg",
318317
tip=self.tr("Delete current label file"),
319318
enabled=False,
320319
)
321-
322320
changeOutputDir = action(
323-
self.tr("&Change Output Dir"),
321+
text=self.tr("&Change Output Dir"),
324322
slot=self.changeOutputDirDialog,
325323
shortcut=shortcuts["save_to"],
326324
icon="folders.svg",
327325
tip=self.tr("Change where annotations are loaded/saved"),
328326
)
329-
330327
saveAuto = action(
331328
text=self.tr("Save &Automatically"),
332-
slot=lambda x: self.actions.saveAuto.setChecked(x),
329+
slot=lambda checked: self.actions.saveAuto.setChecked(checked),
333330
tip=self.tr("Save automatically"),
334331
checkable=True,
335332
enabled=True,
336333
)
337334
saveAuto.setChecked(self._config["auto_save"])
338-
339335
saveWithImageData = action(
340336
text=self.tr("Save With Image Data"),
341337
slot=self.enableSaveImageWithData,
342338
tip=self.tr("Save image data in label file"),
343339
checkable=True,
344340
checked=self._config["with_image_data"],
345341
)
346-
347342
close = action(
348-
self.tr("&Close"),
349-
self.closeFile,
350-
shortcuts["close"],
343+
text=self.tr("&Close"),
344+
slot=self.closeFile,
345+
shortcut=shortcuts["close"],
351346
icon="x-circle.svg",
352347
tip=self.tr("Close current file"),
353348
)
354-
355349
toggle_keep_prev_mode = action(
356-
self.tr("Keep Previous Annotation"),
357-
self.toggleKeepPrevMode,
358-
shortcuts["toggle_keep_prev_mode"],
359-
None,
360-
self.tr('Toggle "keep previous annotation" mode'),
350+
text=self.tr("Keep Previous Annotation"),
351+
slot=self.toggleKeepPrevMode,
352+
shortcut=shortcuts["toggle_keep_prev_mode"],
353+
icon=None,
354+
tip=self.tr('Toggle "keep previous annotation" mode'),
361355
checkable=True,
362356
)
363357
toggle_keep_prev_mode.setChecked(self._config["keep_prev"])
364-
365358
createMode = action(
366-
self.tr("Create Polygons"),
367-
lambda: self._switch_canvas_mode(edit=False, createMode="polygon"),
368-
shortcuts["create_polygon"],
369-
"polygon.svg",
370-
self.tr("Start drawing polygons"),
359+
text=self.tr("Create Polygons"),
360+
slot=lambda: self._switch_canvas_mode(edit=False, createMode="polygon"),
361+
shortcut=shortcuts["create_polygon"],
362+
icon="polygon.svg",
363+
tip=self.tr("Start drawing polygons"),
371364
enabled=False,
372365
)
373366
createRectangleMode = action(
374-
self.tr("Create Rectangle"),
375-
lambda: self._switch_canvas_mode(edit=False, createMode="rectangle"),
376-
shortcuts["create_rectangle"],
377-
"rectangle.svg",
378-
self.tr("Start drawing rectangles"),
367+
text=self.tr("Create Rectangle"),
368+
slot=lambda: self._switch_canvas_mode(edit=False, createMode="rectangle"),
369+
shortcut=shortcuts["create_rectangle"],
370+
icon="rectangle.svg",
371+
tip=self.tr("Start drawing rectangles"),
379372
enabled=False,
380373
)
381374
createCircleMode = action(
382-
self.tr("Create Circle"),
383-
lambda: self._switch_canvas_mode(edit=False, createMode="circle"),
384-
shortcuts["create_circle"],
385-
"circle.svg",
386-
self.tr("Start drawing circles"),
375+
text=self.tr("Create Circle"),
376+
slot=lambda: self._switch_canvas_mode(edit=False, createMode="circle"),
377+
shortcut=shortcuts["create_circle"],
378+
icon="circle.svg",
379+
tip=self.tr("Start drawing circles"),
387380
enabled=False,
388381
)
389382
createLineMode = action(
390-
self.tr("Create Line"),
391-
lambda: self._switch_canvas_mode(edit=False, createMode="line"),
392-
shortcuts["create_line"],
393-
"line-segment.svg",
394-
self.tr("Start drawing lines"),
383+
text=self.tr("Create Line"),
384+
slot=lambda: self._switch_canvas_mode(edit=False, createMode="line"),
385+
shortcut=shortcuts["create_line"],
386+
icon="line-segment.svg",
387+
tip=self.tr("Start drawing lines"),
395388
enabled=False,
396389
)
397390
createPointMode = action(
398-
self.tr("Create Point"),
399-
lambda: self._switch_canvas_mode(edit=False, createMode="point"),
400-
shortcuts["create_point"],
391+
text=self.tr("Create Point"),
392+
slot=lambda: self._switch_canvas_mode(edit=False, createMode="point"),
393+
shortcut=shortcuts["create_point"],
401394
icon="circles-four.svg",
402395
tip=self.tr("Start drawing points"),
403396
enabled=False,
404397
)
405398
createLineStripMode = action(
406-
self.tr("Create LineStrip"),
407-
lambda: self._switch_canvas_mode(edit=False, createMode="linestrip"),
408-
shortcuts["create_linestrip"],
409-
"line-segments.svg",
410-
self.tr("Start drawing linestrip. Ctrl+LeftClick ends creation."),
399+
text=self.tr("Create LineStrip"),
400+
slot=lambda: self._switch_canvas_mode(edit=False, createMode="linestrip"),
401+
shortcut=shortcuts["create_linestrip"],
402+
icon="line-segments.svg",
403+
tip=self.tr("Start drawing linestrip. Ctrl+LeftClick ends creation."),
411404
enabled=False,
412405
)
413406
createAiPolygonMode = action(

0 commit comments

Comments
 (0)