feat: Add confirmation dialog for URL deletion
This commit is contained in:
25
app.py
25
app.py
@ -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'
|
||||
|
||||
Reference in New Issue
Block a user