def new(self): if self.unsaved is True: self.notification.showError( self, "Fixity", str(GUILibraries.messages['save_other_projects'])) return QID = GUILibraries.QInputDialog(self) QID.setWindowModality(GUILibraries.Qt.WindowModal) name = QID.getText(self, "Project Name", "Name for new Fixity project:", text="New_Project") if not name[1]: if len(self.Fixity.ProjectsList) <= 0: self.update_menu.setDisabled(True) self.delete_menu.setDisabled(True) return is_project_name_valid = self.Fixity.Validation.ValidateProjectName( name[0]) if not is_project_name_valid: self.notification.showError( self, "Fixity", str(GUILibraries.messages['in_valid_project_name'])) return project_info = self.Fixity.Database.select( self.Fixity.Database._tableProject, 'id', 'title="' + name[0] + '"') if len(project_info) > 0: self.notification.showError( self, "Fixity", str(GUILibraries.messages['in_valid_project_name_detailed'])) return self.update_menu.setDisabled(False) self.delete_menu.setDisabled(False) new_item = GUILibraries.QListWidgetItem(name[0], self.projects) self.projects.setCurrentItem(new_item) self.monthly.setChecked(True) self.monthClick() self.day_of_month.setValue(1) self.timer.setTime(GUILibraries.QTime(0, 0)) for SingleRangeValue in xrange( 0, self.Fixity.Configuration.getNumberOfPathDirectories()): self.dirs_text_fields[SingleRangeValue].setText("") self.mail_text_fields[SingleRangeValue].setText("") self.toggler(False) self.unsaved = True self.toggleEmailFields() if new_item: self.old = new_item
def __init__(self): super(ProjectGUI, self).__init__() self.should_update = True self.is_path_changed = False self.Fixity = SharedApp.SharedApp.App self.unsaved = False self.about_fixity_gui = AboutFixityGUI.AboutFixityGUI(self) self.apply_filters_gui = ApplyFiltersGUI.ApplyFiltersGUI(self) self.change_algorithm_gui = ChangeAlgorithmGUI.ChangeAlgorithmGUI(self) self.change_name_gui = ChangeNameGUI.ChangeNameGUI(self) self.email_notification_gui = EmailNotificationGUI.EmailNotificationGUI( self) self.import_project_gui = ImportProjGUI.ImportProjectGUI(self) self.path_change_gui = PathChangeGUI.PathChangeGUI(self) self.notification = GUILibraries.NotificationGUI.NotificationGUI() self.setWindowIcon( GUILibraries.QIcon(self.Fixity.Configuration.getLogoSignSmall())) self.setWindowTitle(self.Fixity.Configuration.getApplicationName() + ' ' + self.Fixity.Configuration.getApplicationVersion()) # create Menu self.createMenu() # Set Short Cuts self.setShortCuts() #Set All Menu self.setAllMenus() #Set Trigger self.setTriggersForMenu() #create Project Listing Options self.createProjectListingOption() #create Project scheduling Option self.creatSchedulingOptions() #create Directories and email Listing view self.createDirectories() if len(self.Fixity.ProjectsList) > 0: for project in self.Fixity.ProjectsList: GUILibraries.QListWidgetItem( str(self.Fixity.ProjectsList[project].getTitle()), self.projects) self.projects.setCurrentRow(0) try: self.old = self.projects.itemAt(0, 0) self.update(self.old) self.old.setSelected(True) except: pass self.unsaved = False self.toggler((self.projects.count() == 0)) self.show() self.unsaved = False if self.Fixity.Configuration.getOsType() == 'Windows': # set Fixed Size(Width, Height) self.setFixedSize(900, 318) else: # set Fixed Size(Width, Height) self.setFixedSize(1000, 300)