def _setup_defaults(self): """sets up the default values """ self.resolution_comboBox.addItems( sorted(conf.resolution_presets.keys())) self.set_resolution_to_default() # clients clients = map(lambda x: x.name, Client.query().order_by(Client.name.asc()).all()) self.clients_comboBox.clear() self.clients_comboBox.addItems(clients) # set the fps to conf.default_fps self.fps_spinBox.setValue(conf.default_fps) # set active_checkBox to true self.active_checkBox.setChecked(True) # if a project is given don't let the user to try to change the code # attribute if self.project is not None: self.code_lineEdit.setEnabled(False) # advanced properties self.shot_number_padding_spinBox.setValue(conf.shot_number_padding) self.shot_number_prefix_lineEdit.setText(conf.shot_number_prefix) self.revision_number_padding_spinBox.setValue(conf.rev_number_padding) self.revision_number_prefix_lineEdit.setText(conf.rev_number_prefix) self.version_number_padding_spinBox.setValue(conf.ver_number_padding) self.version_number_prefix_lineEdit.setText(conf.ver_number_prefix) self.structure_textEdit.setText(conf.project_structure)
def test_UI_will_edit_the_given_Project_instance(self): """testing if a Project instance is passed the interface will allow the given Project instance to be edited """ new_client = Client(name='Test Client 1') new_client.save() new_project = Project("Test Project") new_project.create() dialog = project_properties.MainDialog(project=new_project) # now edit the project from the UI new_name = "Test Project New Name" new_fps = 50 dialog.name_lineEdit.setText(new_name) new_client_2_name = 'Test Client 2' dialog.clients_comboBox.lineEdit().setText(new_client_2_name) dialog.fps_spinBox.setValue(new_fps) dialog.resolution_comboBox.setCurrentIndex(3) preset_name = dialog.resolution_comboBox.currentText() resolution_data = conf.resolution_presets[preset_name] dialog.active_checkBox.setChecked(False) dialog.shot_number_prefix_lineEdit.setText("PL") dialog.shot_number_padding_spinBox.setValue(5) dialog.revision_number_prefix_lineEdit.setText("rev") dialog.revision_number_padding_spinBox.setValue(3) dialog.version_number_prefix_lineEdit.setText("ver") dialog.version_number_padding_spinBox.setValue(5) new_structure = "This is the new structure\nwith three lines\n" + \ "and this is the third line" dialog.structure_textEdit.setText(new_structure) # hit ok QTest.mouseClick(dialog.buttonBox.buttons()[0], Qt.LeftButton) # now check the data self.assertEqual(new_project.name, new_name) self.assertEqual(new_project.client.name, new_client_2_name) # check if a client is created with that name new_client_2 = Client.query().filter( Client.name == new_client_2_name).first() self.assertIsInstance(new_client_2, Client) self.assertEqual(new_project.fps, new_fps) self.assertEqual(new_project.width, resolution_data[0]) self.assertEqual(new_project.height, resolution_data[1]) self.assertEqual(new_project.pixel_aspect, resolution_data[2]) self.assertEqual(new_project.active, False) self.assertEqual(new_project.shot_number_padding, 5) self.assertEqual(new_project.shot_number_prefix, "PL") self.assertEqual(new_project.rev_number_padding, 3) self.assertEqual(new_project.rev_number_prefix, "rev") self.assertEqual(new_project.ver_number_padding, 5) self.assertEqual(new_project.ver_number_prefix, "ver") self.assertEqual(new_project.structure, new_structure)
def test_UI_will_edit_the_given_Project_instance(self): """testing if a Project instance is passed the interface will allow the given Project instance to be edited """ new_client = Client(name='Test Client 1') new_client.save() new_project = Project("Test Project") new_project.create() dialog = project_properties.MainDialog(project=new_project) # now edit the project from the UI new_name = "Test Project New Name" new_fps = 50 dialog.name_lineEdit.setText(new_name) new_client_2_name = 'Test Client 2' dialog.clients_comboBox.lineEdit().setText(new_client_2_name) dialog.fps_spinBox.setValue(new_fps) dialog.resolution_comboBox.setCurrentIndex(3) preset_name = dialog.resolution_comboBox.currentText() resolution_data = conf.resolution_presets[preset_name] dialog.active_checkBox.setChecked(False) dialog.shot_number_prefix_lineEdit.setText("PL") dialog.shot_number_padding_spinBox.setValue(5) dialog.revision_number_prefix_lineEdit.setText("rev") dialog.revision_number_padding_spinBox.setValue(3) dialog.version_number_prefix_lineEdit.setText("ver") dialog.version_number_padding_spinBox.setValue(5) new_structure = "This is the new structure\nwith three lines\n" + \ "and this is the third line" dialog.structure_textEdit.setText(new_structure) # hit ok QTest.mouseClick(dialog.buttonBox.buttons()[0], Qt.LeftButton) # now check the data self.assertEqual(new_project.name, new_name) self.assertEqual(new_project.client.name, new_client_2_name) # check if a client is created with that name new_client_2 = Client.query().filter(Client.name==new_client_2_name).first() self.assertIsInstance(new_client_2, Client) self.assertEqual(new_project.fps, new_fps) self.assertEqual(new_project.width, resolution_data[0]) self.assertEqual(new_project.height, resolution_data[1]) self.assertEqual(new_project.pixel_aspect, resolution_data[2]) self.assertEqual(new_project.active, False) self.assertEqual(new_project.shot_number_padding, 5) self.assertEqual(new_project.shot_number_prefix, "PL") self.assertEqual(new_project.rev_number_padding, 3) self.assertEqual(new_project.rev_number_prefix, "rev") self.assertEqual(new_project.ver_number_padding, 5) self.assertEqual(new_project.ver_number_prefix, "ver") self.assertEqual(new_project.structure, new_structure)
def _setup_defaults(self): """sets up the default values """ self.resolution_comboBox.addItems( sorted(conf.resolution_presets.keys()) ) self.set_resolution_to_default() # clients clients = map( lambda x: x.name, Client.query().order_by(Client.name.asc()).all() ) self.clients_comboBox.clear() self.clients_comboBox.addItems(clients) # set the fps to conf.default_fps self.fps_spinBox.setValue(conf.default_fps) # set active_checkBox to true self.active_checkBox.setChecked(True) # if a project is given don't let the user to try to change the code # attribute if self.project is not None: self.code_lineEdit.setEnabled(False) # advanced properties self.shot_number_padding_spinBox.setValue(conf.shot_number_padding) self.shot_number_prefix_lineEdit.setText(conf.shot_number_prefix) self.revision_number_padding_spinBox.setValue(conf.rev_number_padding) self.revision_number_prefix_lineEdit.setText(conf.rev_number_prefix) self.version_number_padding_spinBox.setValue(conf.ver_number_padding) self.version_number_prefix_lineEdit.setText(conf.ver_number_prefix) self.structure_textEdit.setText(conf.project_structure)
def button_box_ok_clicked(self): """runs when the ok button clicked """ # if there is no project given create a new one and return it # create_project # get the data from the input fields name = self.name_lineEdit.text() code = self.code_lineEdit.text() # check if the code is empty if code=="": # raise an error please QtGui.QMessageBox.critical( self, "Error", "Code field can not be empty,\n" "Please enter a proper Code!!!" ) return client_name = self.clients_comboBox.currentText() client = Client.query().filter(Client.name==client_name).first() if not client: # just create the client client = Client(name=client_name) client.save() resolution_name = self.resolution_comboBox.currentText() resolution_data = conf.resolution_presets[resolution_name] fps = self.fps_spinBox.value() active = self.active_checkBox.isChecked() # advanced properties shot_number_padding = self.shot_number_padding_spinBox.value() shot_number_prefix = self.shot_number_prefix_lineEdit.text() rev_number_padding = self.revision_number_padding_spinBox.value() rev_number_prefix = self.revision_number_prefix_lineEdit.text() ver_number_padding = self.version_number_padding_spinBox.value() ver_number_prefix = self.version_number_prefix_lineEdit.text() structure_code = self.structure_textEdit.toPlainText() is_new_project = False if self.project is None: logger.debug("no project is given creating new one") # create the project self.project = Project(name=name, code=code) is_new_project = True else: logger.debug("updating the given project") # update the project self.project.name = name self.project.client = client self.project.fps = fps self.project.width = resolution_data[0] self.project.height = resolution_data[1] self.project.pixel_aspect = resolution_data[2] self.project.active = active self.project.shot_number_padding = shot_number_padding self.project.shot_number_prefix = shot_number_prefix self.project.rev_number_padding = rev_number_padding self.project.rev_number_prefix = rev_number_prefix self.project.ver_number_padding = ver_number_padding self.project.ver_number_prefix = ver_number_prefix self.project.structure = structure_code if is_new_project: self.project.create() else: self.project.save() # and close the dialog self.close()
def button_box_ok_clicked(self): """runs when the ok button clicked """ # if there is no project given create a new one and return it # create_project # get the data from the input fields name = self.name_lineEdit.text() code = self.code_lineEdit.text() # check if the code is empty if code == "": # raise an error please QtGui.QMessageBox.critical( self, "Error", "Code field can not be empty,\n" "Please enter a proper Code!!!") return client_name = self.clients_comboBox.currentText() client = Client.query().filter(Client.name == client_name).first() if not client: # just create the client client = Client(name=client_name) client.save() resolution_name = self.resolution_comboBox.currentText() resolution_data = conf.resolution_presets[resolution_name] fps = self.fps_spinBox.value() active = self.active_checkBox.isChecked() # advanced properties shot_number_padding = self.shot_number_padding_spinBox.value() shot_number_prefix = self.shot_number_prefix_lineEdit.text() rev_number_padding = self.revision_number_padding_spinBox.value() rev_number_prefix = self.revision_number_prefix_lineEdit.text() ver_number_padding = self.version_number_padding_spinBox.value() ver_number_prefix = self.version_number_prefix_lineEdit.text() structure_code = self.structure_textEdit.toPlainText() is_new_project = False if self.project is None: logger.debug("no project is given creating new one") # create the project self.project = Project(name=name, code=code) is_new_project = True else: logger.debug("updating the given project") # update the project self.project.name = name self.project.client = client self.project.fps = fps self.project.width = resolution_data[0] self.project.height = resolution_data[1] self.project.pixel_aspect = resolution_data[2] self.project.active = active self.project.shot_number_padding = shot_number_padding self.project.shot_number_prefix = shot_number_prefix self.project.rev_number_padding = rev_number_padding self.project.rev_number_prefix = rev_number_prefix self.project.ver_number_padding = ver_number_padding self.project.ver_number_prefix = ver_number_prefix self.project.structure = structure_code if is_new_project: self.project.create() else: self.project.save() # and close the dialog self.close()