diff --git a/blinkcomponents.py b/blinkcomponents.py
index 1fe19d4..5ae6928 100644
--- a/blinkcomponents.py
+++ b/blinkcomponents.py
@@ -187,6 +187,10 @@ def get_current_frame(self):
def set_current_duration(self, duration):
self.frames[self.current_frame_num].duration = duration
+ def set_all_duration(self, duration):
+ for f in self.frames:
+ f.duration = duration
+
def get_current_duration(self):
return self.frames[self.current_frame_num].duration
diff --git a/blinkgui.py b/blinkgui.py
index 89327f2..325d7ec 100755
--- a/blinkgui.py
+++ b/blinkgui.py
@@ -39,6 +39,10 @@ def _color_button_clicked(self):
color = QtGui.QColorDialog.getColor(QtGui.QColor.fromRgb(*self.__grid.current_color))
if color.isValid():
self._set_working_color(color.getRgb()[:3])
+
+ def _duration_button_clicked(self):
+ self.__grid.set_all_duration(self.durationSpinBox.value())
+ self.update_frame_controls()
def _create_frame_button_clicked(self):
self.__grid.create_new_frame(self.durationSpinBox.value())
@@ -398,6 +402,7 @@ def _connect_slots(self):
self._connect_slot(self.actionDelete_colors.triggered, self.__grid.delete_selected)
self._connect_slot(self.actionAbout.triggered, self._show_about)
self._connect_slot(self.actionAbout_Qt.triggered, QtGui.QApplication.aboutQt)
+ self._connect_slot(self.durationButton.clicked, self._duration_button_clicked)
def _connect_ethernet(self):
from simple_dialogs import EthernetDialog
diff --git a/color_transition_dialog.py b/color_transition_dialog.py
index eccad32..870a27f 100644
--- a/color_transition_dialog.py
+++ b/color_transition_dialog.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'color_transition_dialog.ui'
#
-# Created: Thu Oct 30 16:33:24 2014
+# Created: Tue Nov 11 16:07:36 2014
# by: pyside-uic 0.2.15 running on PySide 1.2.2
#
# WARNING! All changes made in this file will be lost!
diff --git a/ethernet_dialog.py b/ethernet_dialog.py
index 7f5aeb9..6f60fd5 100644
--- a/ethernet_dialog.py
+++ b/ethernet_dialog.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ethernet_dialog.ui'
#
-# Created: Thu Oct 30 16:33:24 2014
+# Created: Tue Nov 11 16:07:36 2014
# by: pyside-uic 0.2.15 running on PySide 1.2.2
#
# WARNING! All changes made in this file will be lost!
diff --git a/lg_dialog.py b/lg_dialog.py
index d17493e..1c7275e 100644
--- a/lg_dialog.py
+++ b/lg_dialog.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'lg_dialog.ui'
#
-# Created: Thu Oct 30 16:33:24 2014
+# Created: Tue Nov 11 16:07:36 2014
# by: pyside-uic 0.2.15 running on PySide 1.2.2
#
# WARNING! All changes made in this file will be lost!
diff --git a/mainwindow.py b/mainwindow.py
index c2dbfd3..db5ea37 100644
--- a/mainwindow.py
+++ b/mainwindow.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'mainwindow.ui'
#
-# Created: Thu Oct 30 16:33:24 2014
+# Created: Tue Nov 11 16:07:36 2014
# by: pyside-uic 0.2.15 running on PySide 1.2.2
#
# WARNING! All changes made in this file will be lost!
@@ -232,6 +232,15 @@ def setupUi(self, MainWindow):
self.durationSpinBox.setProperty("value", 100)
self.durationSpinBox.setObjectName("durationSpinBox")
self.verticalLayout.addWidget(self.durationSpinBox)
+ self.durationButton = QtGui.QPushButton(self.currentFrameBox)
+ self.durationButton.setMinimumSize(QtCore.QSize(0, 25))
+ font = QtGui.QFont()
+ font.setWeight(50)
+ font.setBold(False)
+ self.durationButton.setFont(font)
+ self.durationButton.setFocusPolicy(QtCore.Qt.TabFocus)
+ self.durationButton.setObjectName("durationButton")
+ self.verticalLayout.addWidget(self.durationButton)
self.verticalLayout_9.addLayout(self.verticalLayout)
self.verticalLayout_3.addWidget(self.currentFrameBox)
self.playerBox = QtGui.QGroupBox(self.dockWidgetContents)
@@ -688,6 +697,7 @@ def retranslateUi(self, MainWindow):
self.tintButton.setText(QtGui.QApplication.translate("MainWindow", "Tint selected tiles", None, QtGui.QApplication.UnicodeUTF8))
self.currentFrameBox.setTitle(QtGui.QApplication.translate("MainWindow", "Current Frame", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "Duration (ms)", None, QtGui.QApplication.UnicodeUTF8))
+ self.durationButton.setText(QtGui.QApplication.translate("MainWindow", "Apply for all frames", None, QtGui.QApplication.UnicodeUTF8))
self.playerBox.setTitle(QtGui.QApplication.translate("MainWindow", "Player", None, QtGui.QApplication.UnicodeUTF8))
self.loopCheckbox.setText(QtGui.QApplication.translate("MainWindow", "Loop playback", None, QtGui.QApplication.UnicodeUTF8))
self.playButton.setText(QtGui.QApplication.translate("MainWindow", "Playback", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/mainwindow.ui b/mainwindow.ui
index 9e7bf1f..a5da389 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -568,6 +568,28 @@
+ -
+
+
+
+ 0
+ 25
+
+
+
+
+ 50
+ false
+
+
+
+ Qt::TabFocus
+
+
+ Apply for all frames
+
+
+
diff --git a/res_rc.py b/res_rc.py
index 076586b..28b0433 100644
--- a/res_rc.py
+++ b/res_rc.py
@@ -2,7 +2,7 @@
# Resource object code
#
-# Created: Do. Okt 30 16:33:24 2014
+# Created: Di. Nov 11 16:07:36 2014
# by: The Resource Compiler for PySide (Qt v4.8.6)
#
# WARNING! All changes made in this file will be lost!
diff --git a/text_dialog.py b/text_dialog.py
index 5242a78..203aa4e 100644
--- a/text_dialog.py
+++ b/text_dialog.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'text_dialog.ui'
#
-# Created: Thu Oct 30 16:33:24 2014
+# Created: Tue Nov 11 16:07:36 2014
# by: pyside-uic 0.2.15 running on PySide 1.2.2
#
# WARNING! All changes made in this file will be lost!
diff --git a/translations/blinkgui_de.qm b/translations/blinkgui_de.qm
index 220222b..407d413 100644
Binary files a/translations/blinkgui_de.qm and b/translations/blinkgui_de.qm differ
diff --git a/translations/blinkgui_de.ts b/translations/blinkgui_de.ts
index 22f8482..0014a80 100644
--- a/translations/blinkgui_de.ts
+++ b/translations/blinkgui_de.ts
@@ -1,54 +1,55 @@
-
+
+
@default
-
+
Save file
Datei speichern
-
+
Export frame
Frame exportieren
-
+
Open file
Datei öffnen
-
+
New file
Neue Datei
-
+
Please enter the grid dimensions:
Maße eingeben (HxB):
-
+
Undo
Rückgängig
-
+
Undo "%s"
"%s" rückgängig machen
-
+
SHIFT: Left-Click on a tile to record its color
SHIFT: Links-Klicken auf eine Kachel, um die Farbe zu speichern
-
+
CTRL: Left-Click to select multiple tiles
CTRL: Links-Klicken um mehrere Kacheln auszuwählen
-
+
Error
Fehler
@@ -58,67 +59,67 @@
Verbindung konnte nicht aufgebaut werden
-
+
Delete frame
Frame löschen
-
+
Color tile
Kachel färben
-
+
Set color
Farbe wählen
-
+
Frame: %d/%d, Total duration: %dms
Frame: %d/%d, Gesamtdauer: %dms
-
+
Go to frame
Gehe zu Frame
-
+
Please enter the frame number:
Frame-Nummer:
-
+
Play on device
Auf Gerät abspielen
-
+
Play preview
Vorschau abspielen
-
+
Stop playback
Abspielen stoppen
-
+
A connection already exists.
Es besteht bereits eine Verbindung.
-
+
Import frame
Frame importieren
-
+
Connection could not be established.
Verbindung konnte nicht aufgebaut werden.
-
+
File does not exist.
Datei wurde nicht gefunden.
@@ -212,12 +213,12 @@
MainWindow
-
+
Blink
-
+
(CTRL+) Left-click to select a tile, right-click to tint
(STRG+) Links-Klick,, um eine Kachel auszuwählen, Rechts-Klick zum Färben
@@ -227,7 +228,7 @@
Farbeinstellungen
-
+
Tint selected tiles
Markierte Kacheln färben
@@ -237,7 +238,7 @@
Frameeinstellungen
-
+
Duration (ms)
Dauer (ms)
@@ -247,7 +248,7 @@
Playeroptionen
-
+
Loop playback
Endlosschleife
@@ -257,42 +258,42 @@
Dateiinformationen
-
+
Property
Eigenschaft
-
+
Value
Wert
-
+
&File
&Datei
-
+
&Frame
-
+
&Selection
&Auswahl
-
+
&Edit
&Bearbeiten
-
+
&Coloring
&Färben
-
+
&Player
@@ -302,7 +303,7 @@
Gerät
-
+
Generate
Generieren
@@ -312,7 +313,7 @@
&Neuen, leeren Frame erstellen
-
+
F
@@ -322,42 +323,42 @@
Frame entfernen
-
+
R
-
+
E&xit
&Beenden
-
+
Ctrl+Q
-
+
&Load BLM
BML &laden
-
+
Load BML
BML laden
-
+
Ctrl+L
-
+
&Duplicate current frame
Aktuellen Frame &duplizieren
-
+
D
@@ -367,17 +368,17 @@
Sequenz abs&pielen
-
+
Ctrl+P
-
+
&New
&Neu
-
+
Ctrl+N
@@ -387,7 +388,7 @@
&Speichern als BML
-
+
Ctrl+S
@@ -407,72 +408,72 @@
Zu &nächstem Frame springen
-
+
Select &all
&Alle auswählen
-
+
Ctrl+A
-
+
&Deselect all
Alle &deselektieren
-
+
Ctrl+Shift+A
-
+
&Invert
&Invertieren
-
+
Ctrl+I
-
+
Select by &color
Nach &Farbe selektieren
-
+
Ctrl+Shift+C
-
+
&Undo
&Rückgängig machen
-
+
Ctrl+Z
-
+
Choose &color
Farbe &wählen
-
+
C
-
+
&Tint selected tiles
Ausgewählte &Kacheln färben
-
+
T
@@ -482,12 +483,12 @@
Nach links bewegen
-
+
Shift content left
Inhalt nach links bewegen
-
+
Shift+Left
@@ -497,7 +498,7 @@
Nach rechts bewegen
-
+
Shift+Right
@@ -512,17 +513,17 @@
Live-Modus aktivieren
-
+
Play on device
Auf Gerät abspielen
-
+
Randomize selected tiles
Ausgewählte Kacheln randomisieren
-
+
Z
@@ -532,7 +533,7 @@
Nach oben bewegen
-
+
Shift+Up
@@ -542,72 +543,72 @@
Nach unten bewegen
-
+
Shift+Down
-
+
Copy colors
Farben kopieren
-
+
Ctrl+C
-
+
Paste selection
Markierung einfügen
-
+
Ctrl+V
-
+
Persist changes
Änderungen übernehmen
-
+
Return
-
+
Cut colors
Farben ausschneiden
-
+
Ctrl+X
-
+
Export as image
Als Bild exportieren
-
+
Color gradient
Farbübergang
-
+
&Save as...
&Speichern unter...
-
+
Save as...
Speichern unter...
-
+
Save
Speichern
@@ -617,122 +618,122 @@
Gehe zu Frame...
-
+
Zoom in
Einzoomen
-
+
Ctrl+=
-
+
Zoom out
Auszoomen
-
+
Ctrl+-
-
+
Fit zoom
Größe automatisch anpassen
-
+
Ctrl+0
-
+
Playback
Abspielen
-
+
Playback on Device
Auf Gerät abspielen
-
+
&Play preview
&Vorschau abspielen
-
+
Connect to device
Mit Gerät verbinden
-
+
Ctrl+F
-
+
Function
Funktion
-
+
Settings
Einstellungen
-
+
Color
Farbe
-
+
Current Frame
Aktueller Frame
-
+
Player
-
+
Toolbar
-
+
File information
Dateiinformationen
-
+
Ctrl+Return
-
+
Import from image
Bild importieren
-
+
Rotate right
Rechts rotieren
-
+
Ctrl+Right
-
+
Rotate left
Links rotieren
-
+
Ctrl+Left
@@ -742,77 +743,77 @@
Farben löschen
-
+
Del
-
+
Export frames
Frames exportieren
-
+
&Go to...
&Gehe zu...
-
+
&Shift
-
+
&Previous frame
&Vorheriger Frame
-
+
&Next frame
&Nächster Frame
-
+
Left
Links
-
+
Right
Rechts
-
+
Up
Hoch
-
+
Down
Runter
-
+
Enter frame...
Frame eingeben...
-
+
D&elete colors
Farben &löschen
-
+
New
Neu
-
+
&Empty frame
&Leerer Frame
-
+
Remove
Entfernen
@@ -822,55 +823,60 @@
Lauftext
-
+
Ticker text
Laufschrift
-
+
%p% (Frame %v/%m)
-
+
USB
-
+
Bluetooth
-
+
Disconnect
Trennen
-
+
Info
-
+
About Qt
-
+
Ethernet
-
+
P
-
+
N
+
+
+ Apply for all frames
+ Für alle Frames anwenden
+
TickerDialog