Änderungen am GUI-Aufbau, Initialisierung von allen Elementen
This commit is contained in:
		
							parent
							
								
									7d2e1e7df6
								
							
						
					
					
						commit
						ff4755bc79
					
				| @ -139,6 +139,7 @@ class AddMetadataWidget(QWidget): | ||||
|         self.inventories_add = [] | ||||
|         self.inventories_delete = [] | ||||
| 
 | ||||
|         self.setWindowTitle("Manage inventory files") | ||||
|         self.main_layout = QVBoxLayout() | ||||
|         self.setLayout(self.main_layout) | ||||
|         self.setupUI() | ||||
| @ -166,49 +167,67 @@ class AddMetadataWidget(QWidget): | ||||
|         self.move(fm.topLeft()) | ||||
| 
 | ||||
|     def setupUI(self): | ||||
|         self.init_selection_layout() | ||||
|         self.init_add_remove_layout() | ||||
|         self.init_list_buttons_layout() | ||||
|         self.init_add_remove_buttons() | ||||
|         self.init_list_layout() | ||||
|         self.init_accept_cancel_buttons() | ||||
| 
 | ||||
|     def init_list_buttons_layout(self): | ||||
|         self.list_buttons_layout = QHBoxLayout() | ||||
|         self.main_layout.insertLayout(0, self.list_buttons_layout, 0) | ||||
| 
 | ||||
|     def init_button(self, label, key, explanation): | ||||
|         """ | ||||
|         generates a button with custom name, label and shortcut | ||||
|         :param label: name of the button (str) | ||||
|         :param key: shortcut key (PySide.QtCore.Qt.Key) | ||||
|         :param explanation: text that shows when hovering over the button | ||||
|         :return: QPushButton | ||||
|         """ | ||||
|         button = QPushButton(label) | ||||
|         button.setShortcut(QtGui.QKeySequence(key)) | ||||
|         button.setToolTip(explanation) | ||||
|         return button | ||||
| 
 | ||||
|     def init_add_remove_buttons(self): | ||||
|         self.add_remove_layout = QVBoxLayout() | ||||
|         self.add_button = self.init_button("Add", Qt.Key_Insert, "Choose a file to add \n(Ins)") | ||||
|         self.remove_button = self.init_button("Remove", Qt.Key_Delete, "Remove selected file \n(Del)") | ||||
|         self.add_remove_layout.addWidget(self.add_button, 0, QtCore.Qt.AlignBottom) | ||||
|         self.add_remove_layout.addWidget(self.remove_button, 0, QtCore.Qt.AlignTop) | ||||
|         self.list_buttons_layout.insertLayout(1, self.add_remove_layout, 0) | ||||
| 
 | ||||
|     def init_list_layout(self): | ||||
|         self.list_layout = QVBoxLayout() | ||||
|         self.list_buttons_layout.insertLayout(0, self.list_layout, 1) | ||||
|         self.init_list_title() | ||||
|         self.init_list_widget() | ||||
|         self.init_close() | ||||
| 
 | ||||
|     def init_selection_layout(self): | ||||
|         self.selection_layout = QHBoxLayout() | ||||
|         self.selection_box = QtGui.QLineEdit() | ||||
|         self.selection_button = QtGui.QPushButton('...') | ||||
|         self.selection_layout.addWidget(self.selection_box, 1) | ||||
|         self.selection_layout.addWidget(self.selection_button, 0) | ||||
|         self.main_layout.insertLayout(0, self.selection_layout, 0) | ||||
| 
 | ||||
|     def init_add_remove_layout(self): | ||||
|         self.add_remove_layout = QHBoxLayout() | ||||
|         self.add_button = QtGui.QPushButton('+') | ||||
|         self.add_button.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Return)) | ||||
|         self.remove_button = QtGui.QPushButton('-') | ||||
|         self.remove_button.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Delete)) | ||||
|         self.add_remove_layout.addWidget(self.add_button, 1) | ||||
|         self.add_remove_layout.addWidget(self.remove_button, 1) | ||||
|         self.main_layout.insertLayout(1, self.add_remove_layout, 0) | ||||
|     def init_list_title(self): | ||||
|         self.list_title = QtGui.QLabel("Current metadata files:") | ||||
|         self.list_layout.insertWidget(0, self.list_title) | ||||
| 
 | ||||
|     def init_list_widget(self): | ||||
|         self.list_view = QtGui.QListView() | ||||
|         self.list_view.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) | ||||
|         self.list_model = QtGui.QStandardItemModel(self.list_view) | ||||
|         self.list_view.setModel(self.list_model) | ||||
|         self.main_layout.insertWidget(2, self.list_view, 1) | ||||
| 
 | ||||
|     def init_close(self): | ||||
|         self.close_button = QPushButton('Update') | ||||
|         self.close_button.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Escape)) | ||||
|         self.main_layout.addWidget(self.close_button) | ||||
| 
 | ||||
|     def from_metadata(self): | ||||
|         for inventory_path in self.metadata.inventories: | ||||
|             self.add_item(inventory_path, from_metadata=True) | ||||
|         self.list_layout.insertWidget(1, self.list_view, 1) | ||||
| 
 | ||||
|     def refresh_list(self): | ||||
|         self.clear_list() | ||||
|         for inventory_path in self.inventories.keys(): | ||||
|             self.add_item(inventory_path) | ||||
|     def init_accept_cancel_buttons(self): | ||||
|         self.accept_cancel_layout = QHBoxLayout() | ||||
|         self.accept_button = self.init_button("Accept", Qt.Key_Return, "Accept changes and close \n(Return)") | ||||
|         self.cancel_button = self.init_button("Cancel", Qt.Key_Escape, "Disregard changes and close \n(Esc)") | ||||
|         self.accept_cancel_layout.addWidget(self.accept_button) | ||||
|         self.accept_cancel_layout.addWidget(self.cancel_button) | ||||
|         self.main_layout.insertLayout(3, self.accept_cancel_layout) | ||||
| 
 | ||||
|     def connect_signals(self): | ||||
|         self.selection_button.clicked.connect(self.open_directory) | ||||
| @ -229,7 +248,6 @@ class AddMetadataWidget(QWidget): | ||||
|     def add_item_from_dialog(self): | ||||
|         inventory_path = self.open_directory() | ||||
|         self.add_item(inventory_path) | ||||
|         self.selection_box.setText('') | ||||
| 
 | ||||
|     def add_item(self, inventory_path): | ||||
|         """ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user