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