newProject method & various small fixes

This commit is contained in:
tassaron 2017-06-07 17:09:28 -04:00
parent acf2290025
commit 6f2f02b709
2 changed files with 23 additions and 20 deletions

View File

@ -6,6 +6,7 @@ import threading
from queue import PriorityQueue from queue import PriorityQueue
from . import __base__ from . import __base__
class Video: class Video:
'''Video Component Frame-Fetcher''' '''Video Component Frame-Fetcher'''
def __init__(self, **kwargs): def __init__(self, **kwargs):
@ -129,10 +130,12 @@ class Component(__base__.Component):
def loadPreset(self, pr): def loadPreset(self, pr):
self.page.lineEdit_video.setText(pr['video']) self.page.lineEdit_video.setText(pr['video'])
self.page.checkBox_loop.setChecked(pr['loop'])
def savePreset(self): def savePreset(self):
return { return {
'video': self.videoPath, 'video': self.videoPath,
'loop': self.loopVideo,
} }
def pickVideo(self): def pickVideo(self):

View File

@ -133,7 +133,7 @@ class MainWindow(QtCore.QObject):
) )
vBitrate = int(self.settings.value('outputVideoBitrate')) vBitrate = int(self.settings.value('outputVideoBitrate'))
aBitrate = int(self.settings.value('outputAudioBitrate')) aBitrate = int(self.settings.value('outputAudioBitrate')[:-1])
window.spinBox_vBitrate.setValue(vBitrate) window.spinBox_vBitrate.setValue(vBitrate)
window.spinBox_aBitrate.setValue(aBitrate) window.spinBox_aBitrate.setValue(aBitrate)
@ -269,7 +269,7 @@ class MainWindow(QtCore.QObject):
self.settings.setValue('outputAudioBitrate', currentAudioBitrate) self.settings.setValue('outputAudioBitrate', currentAudioBitrate)
def autosave(self): def autosave(self):
if time.time() - self.lastAutosave >= 1.0: if time.time() - self.lastAutosave >= 2.0:
if os.path.exists(self.autosavePath): if os.path.exists(self.autosavePath):
os.remove(self.autosavePath) os.remove(self.autosavePath)
self.createProjectFile(self.autosavePath) self.createProjectFile(self.autosavePath)
@ -347,8 +347,7 @@ class MainWindow(QtCore.QObject):
self.window.pushButton_removeComponent.setEnabled(False) self.window.pushButton_removeComponent.setEnabled(False)
self.window.pushButton_listMoveDown.setEnabled(False) self.window.pushButton_listMoveDown.setEnabled(False)
self.window.pushButton_listMoveUp.setEnabled(False) self.window.pushButton_listMoveUp.setEnabled(False)
self.window.comboBox_Presets.setEnabled(False) self.window.pushButton_presets.setEnabled(False)
'''self.window.pushButton_openProject.setEnabled(False)'''
self.window.listWidget_componentList.setEnabled(False) self.window.listWidget_componentList.setEnabled(False)
else: else:
self.window.pushButton_createVideo.setEnabled(True) self.window.pushButton_createVideo.setEnabled(True)
@ -366,8 +365,7 @@ class MainWindow(QtCore.QObject):
self.window.pushButton_removeComponent.setEnabled(True) self.window.pushButton_removeComponent.setEnabled(True)
self.window.pushButton_listMoveDown.setEnabled(True) self.window.pushButton_listMoveDown.setEnabled(True)
self.window.pushButton_listMoveUp.setEnabled(True) self.window.pushButton_listMoveUp.setEnabled(True)
self.window.comboBox_Presets.setEnabled(True) self.window.pushButton_presets.setEnabled(True)
'''self.window.pushButton_openProject.setEnabled(True)'''
self.window.listWidget_componentList.setEnabled(True) self.window.listWidget_componentList.setEnabled(True)
def progressBarSetText(self, value): def progressBarSetText(self, value):
@ -569,7 +567,14 @@ class MainWindow(QtCore.QObject):
self.drawPreview() self.drawPreview()
def createNewProject(self): def createNewProject(self):
return self.currentProject = None
self.selectedComponents = []
self.window.listWidget_componentList.clear()
for widget in self.pages:
self.window.stackedWidget.removeWidget(widget)
self.pages = []
self.settings.setValue("currentProject", None)
self.drawPreview()
def saveCurrentProject(self): def saveCurrentProject(self):
if self.currentProject: if self.currentProject:
@ -613,7 +618,7 @@ class MainWindow(QtCore.QObject):
if not filepath or not os.path.exists(filepath) \ if not filepath or not os.path.exists(filepath) \
or not filepath.endswith('.avp'): or not filepath.endswith('.avp'):
return return
self.clear() self.createNewProject()
self.currentProject = filepath self.currentProject = filepath
self.settings.setValue("currentProject", filepath) self.settings.setValue("currentProject", filepath)
self.settings.setValue("projectDir", os.path.dirname(filepath)) self.settings.setValue("projectDir", os.path.dirname(filepath))
@ -652,14 +657,17 @@ class MainWindow(QtCore.QObject):
self.selectedComponents[-1].loadPreset( self.selectedComponents[-1].loadPreset(
saveValueStore) saveValueStore)
i = 0 i = 0
except (IndexError, ValueError, KeyError, NameError, except (IndexError, ValueError, NameError, SyntaxError,
SyntaxError, AttributeError, TypeError) as e: AttributeError, TypeError) as e:
self.clear() self.createNewProject()
typ, value, _ = sys.exc_info() typ, value, _ = sys.exc_info()
msg = '%s: %s' % (typ.__name__, value) msg = '%s: %s' % (typ.__name__, value)
self.showMessage( self.showMessage(
"Project file '%s' is corrupted." % filepath, False, "Project file '%s' is corrupted." % filepath, False,
QtGui.QMessageBox.Warning, msg) QtGui.QMessageBox.Warning, msg)
except KeyError as e:
# probably just an old version, still loadable
print('project file missing value: %s' % e)
def showMessage( def showMessage(
self, string, showCancel=False, self, string, showCancel=False,
@ -677,11 +685,3 @@ class MainWindow(QtCore.QObject):
if ch == 1024: if ch == 1024:
return True return True
return False return False
def clear(self):
''' empty out all components and fields, get a blank slate '''
self.selectedComponents = []
self.window.listWidget_componentList.clear()
for widget in self.pages:
self.window.stackedWidget.removeWidget(widget)
self.pages = []