diff --git a/app.py b/app.py index 5478c57..6eed652 100644 --- a/app.py +++ b/app.py @@ -118,7 +118,7 @@ class URLManager(QWidget): def add_url(self): url = self.url_input.text() description = self.description_input.toPlainText() - group = self.group_combobox.currentText() + group = self.group_combobox.currentText() # Assuming you have a group_combobox if url: date_added = QDateTime.currentDateTime().toString(Qt.ISODate) self.urls.append({'url': url, 'description': description, 'date': date_added, 'group': group}) @@ -166,17 +166,20 @@ 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 = QPushButton() + edit_button.setFixedSize(30, 30) # Set fixed size for icon button + edit_icon_path = 'assets/edit_dark.svg' if self.is_dark_mode() else 'assets/edit_light.svg' + edit_button.setIcon(QIcon(edit_icon_path)) edit_button.clicked.connect(lambda ch, row=row_position: self.edit_url(row)) + + delete_button = QPushButton() + delete_button.setFixedSize(30, 30) # Set fixed size for icon button + delete_icon_path = 'assets/delete_dark.svg' if self.is_dark_mode() else 'assets/delete_light.svg' + delete_button.setIcon(QIcon(delete_icon_path)) 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) @@ -188,11 +191,10 @@ class URLManager(QWidget): self.description_input.setPlainText(url['description']) self.urls.pop(row) - 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 is_dark_mode(self): + # Heuristic to check if the application is in dark mode + palette = self.palette() + return palette.color(palette.Window).value() < 128 def load_settings(self): settings_path = 'data/settings.json' diff --git a/assets/delete_dark.svg b/assets/delete_dark.svg new file mode 100644 index 0000000..f7aa323 --- /dev/null +++ b/assets/delete_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/delete_light.svg b/assets/delete_light.svg new file mode 100644 index 0000000..028997c --- /dev/null +++ b/assets/delete_light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/edit_dark.svg b/assets/edit_dark.svg new file mode 100644 index 0000000..8b17960 --- /dev/null +++ b/assets/edit_dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/edit_light.svg b/assets/edit_light.svg new file mode 100644 index 0000000..493c925 --- /dev/null +++ b/assets/edit_light.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/search_dark.svg b/assets/search_dark.svg new file mode 100644 index 0000000..b51ed8e --- /dev/null +++ b/assets/search_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/search_light.svg b/assets/search_light.svg new file mode 100644 index 0000000..d76bfe5 --- /dev/null +++ b/assets/search_light.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file