feat: Add confirmation dialog for URL deletion

This commit is contained in:
2024-07-12 18:45:29 +02:00
parent 9d4f4911cd
commit 165281564b

25
app.py
View File

@ -143,10 +143,10 @@ class URLManager(QWidget):
self.url_input.clear()
self.description_input.clear()
def delete_url(self):
selected_item = self.url_list.currentItem()
if selected_item:
row = self.url_list.row(selected_item)
def delete_url(self, row):
reply = QMessageBox.question(self, 'Delete URL', 'Are you sure you want to delete this URL?',
QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
del self.urls[row]
self.save_urls()
self.update_url_list()
@ -170,10 +170,16 @@ class URLManager(QWidget):
# Action buttons
actions_layout = QHBoxLayout()
edit_button = QPushButton("Edit")
edit_button.setStyleSheet("padding: 2px;")
delete_button = QPushButton("Delete")
delete_button.setStyleSheet("padding: 2px;")
search_button = QPushButton("Search")
search_button.setStyleSheet("padding: 2px;")
edit_button.clicked.connect(lambda ch, row=row_position: self.edit_url(row))
delete_button.clicked.connect(lambda ch, row=row_position: self.remove_url(row))
delete_button.clicked.connect(lambda ch, row=row_position: self.delete_url(row))
search_button.clicked.connect(lambda ch, row=row_position: self.search_url(row))
actions_layout.addWidget(edit_button)
actions_layout.addWidget(search_button)
actions_layout.addWidget(delete_button)
actions_widget = QWidget()
actions_widget.setLayout(actions_layout)
@ -185,10 +191,11 @@ class URLManager(QWidget):
self.description_input.setPlainText(url['description'])
self.urls.pop(row)
def remove_url(self, row):
del self.urls[row]
self.save_urls()
self.update_url_list()
def search_url(self, row):
url = self.urls[row]['url']
search_engine = self.search_engines[self.search_engine]
search_url = search_engine + QUrl(url).toString(QUrl.FullyEncoded)
QDesktopServices.openUrl(QUrl(search_url))
def load_settings(self):
settings_path = 'data/settings.json'