Skip to content

Commit 3f8786d

Browse files
committed
add custom indefinite progress indicator dialog
displayed during execution of slicing operation
1 parent cf3270e commit 3f8786d

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

src/slice/ui/dialogs.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,20 @@
1212
#
1313
# You should have received a copy of the GNU General Public License
1414
# along with Slice. If not, see <https://www.gnu.org/licenses/>.
15-
1615
from fontTools import __version__ as fonttools_version
1716
from PyQt5.QtCore import QDir, Qt
1817
from PyQt5.QtGui import QFont, QFontDatabase, QIcon, QImage, QPixmap
1918
from PyQt5.QtWidgets import (
19+
QDesktopWidget,
2020
QDialog,
2121
QDialogButtonBox,
2222
QFileDialog,
2323
QLabel,
2424
QMessageBox,
25+
QProgressBar,
2526
QTextBrowser,
2627
QVBoxLayout,
28+
QWidget,
2729
)
2830

2931
from ..imageresources import *
@@ -153,6 +155,35 @@ def __init__(self, version):
153155
self.exec_()
154156

155157

158+
class SliceProgressDialog(QWidget):
159+
def __init__(self, close_signal):
160+
QWidget.__init__(self)
161+
162+
layout = QVBoxLayout()
163+
164+
self.setGeometry(0, 0, 200, 75)
165+
rect = self.frameGeometry()
166+
centerCoord = QDesktopWidget().availableGeometry().center()
167+
rect.moveCenter(centerCoord)
168+
self.move(rect.topLeft())
169+
170+
self.message = QLabel("Slicing...")
171+
self.progress_bar = QProgressBar(self)
172+
self.progress_bar.setRange(0, 0)
173+
174+
layout.addWidget(self.message)
175+
layout.addWidget(self.progress_bar)
176+
177+
self.setLayout(layout)
178+
close_signal.connect(self.close_progress_dialog)
179+
self.show()
180+
181+
def close_progress_dialog(self):
182+
self.message.setText("Complete")
183+
self.progress_bar.setRange(0, 1)
184+
self.hide()
185+
186+
156187
class SliceErrorDialog(QMessageBox):
157188
def __init__(self, inform_text, detailed_text=None):
158189
QMessageBox.__init__(self)

0 commit comments

Comments
 (0)