diff --git a/app.py b/app.py index d2001f8..d63388c 100644 --- a/app.py +++ b/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'