Added option to skip last shot in a picture (e.g. to include a logo/message in the background)

This commit is contained in:
Balthasar Reuter
2018-07-20 16:00:42 +02:00
parent 3eb03fbf21
commit 428e8aa3e6
3 changed files with 17 additions and 6 deletions

View File

@@ -103,15 +103,17 @@ class IdleMessage(QtWidgets.QFrame):
class GreeterMessage(QtWidgets.QFrame):
def __init__(self, num_x, num_y, countdown_action):
def __init__(self, num_x, num_y, skip_last, countdown_action):
super().__init__()
self.setObjectName('GreeterMessage')
self._text_title = 'Get ready!'
self._text_button = 'Start countdown'
if num_x * num_y > 1:
self._text_label = ('for {} pictures...'.format(num_x * num_y))
num_pictures = max(num_x * num_y - int(skip_last), 1)
if num_pictures > 1:
self._text_label = ('for {} pictures...'.format(num_pictures))
else:
self._text_label = ''
@@ -686,7 +688,7 @@ class Settings(QtWidgets.QFrame):
def file_dialog():
dialog = QtWidgets.QFileDialog.getOpenFileName
bg.setText(dialog(self, 'Select file', os.path.expanduser('~'),
'Images (*.jpg *.png)')[0])
'Images (*.jpg *.png)')[0])
dir_button = QtWidgets.QPushButton('Select directory')
dir_button.clicked.connect(directory_dialog)

View File

@@ -179,10 +179,11 @@ class PyQt5Gui(GuiSkeleton):
num_pic = (self._cfg.getInt('Picture', 'num_x'),
self._cfg.getInt('Picture', 'num_y'))
skip_last = self._cfg.getBool('Picture', 'skip_last')
greeter_time = self._cfg.getInt('Photobooth', 'greeter_time') * 1000
self._setWidget(Frames.GreeterMessage(
*num_pic,
*num_pic, skip_last,
lambda: self._comm.send(Workers.MASTER, GuiEvent('countdown'))))
QtCore.QTimer.singleShot(
greeter_time,