[new] function to modify project/event rootpath (called on loading project)

This commit is contained in:
Marcel Paffrath 2018-03-05 17:45:07 +01:00
parent 8dabfb41d8
commit 39f9238a06
2 changed files with 23 additions and 2 deletions

View File

@ -1138,9 +1138,16 @@ class MainWindow(QMainWindow):
Initiate GUI widgets in case of changed or newly added events.
'''
nitems = self.eventBox.count()
if len(self.project.eventlist) == 0 or not self.data_check():
is_data = self.data_check()
if len(self.project.eventlist) == 0 or not is_data:
print('No events to init.')
self.clearWaveformDataPlot()
if not is_data:
new_path, modifypath = self.user_modify_path('Event folders not found! ')
if modifypath:
self.modify_project_path(new_path)
self.init_events(True)
self.setDirty(True)
return
self.eventBox.setEnabled(True)
self.fill_eventbox()
@ -1151,6 +1158,12 @@ class MainWindow(QMainWindow):
self.refreshEvents()
tabindex = self.tabs.currentIndex()
def user_modify_path(self, reason=''):
dialog = QtGui.QInputDialog(parent=self)
new_path, executed = dialog.getText(self, 'Change Project rootpath',
'{}Rename project path {}:'.format(reason, self.project.rootpath))
return new_path, executed
def data_check(self):
paths_exist = [os.path.exists(event.path) for event in self.project.eventlist]
if all(paths_exist):
@ -1162,6 +1175,14 @@ class MainWindow(QMainWindow):
print('Unable to find certain event paths:{}'.format(info_str))
return False
def modify_project_path(self, new_rootpath):
self.project.rootpath = new_rootpath
for event in self.project.eventlist:
event.rootpath = new_rootpath
event.path = os.path.join(event.rootpath, event.datapath, event.database, event.pylot_id)
event.path = event.path.replace('\\', '/')
event.path = event.path.replace('//', '/')
def fill_eventbox(self, event=None, eventBox=None, select_events='all'):
'''
(Re)fill the selected eventBox (type = QtGui.QComboBox).

View File

@ -1 +1 @@
4918-dirty
8dab-dirty