54 """ |
54 """ |
55 Private slot to add a new search engine. |
55 Private slot to add a new search engine. |
56 """ |
56 """ |
57 fileNames = E5FileDialog.getOpenFileNames( |
57 fileNames = E5FileDialog.getOpenFileNames( |
58 self, |
58 self, |
59 self.trUtf8("Add search engine"), |
59 self.tr("Add search engine"), |
60 "", |
60 "", |
61 self.trUtf8("OpenSearch (*.xml);;All Files (*)")) |
61 self.tr("OpenSearch (*.xml);;All Files (*)")) |
62 |
62 |
63 osm = self.__mw.openSearchManager() |
63 osm = self.__mw.openSearchManager() |
64 for fileName in fileNames: |
64 for fileName in fileNames: |
65 if not osm.addEngine(fileName): |
65 if not osm.addEngine(fileName): |
66 E5MessageBox.critical( |
66 E5MessageBox.critical( |
67 self, |
67 self, |
68 self.trUtf8("Add search engine"), |
68 self.tr("Add search engine"), |
69 self.trUtf8( |
69 self.tr( |
70 """{0} is not a valid OpenSearch 1.1 description or""" |
70 """{0} is not a valid OpenSearch 1.1 description or""" |
71 """ is already on your list.""").format(fileName)) |
71 """ is already on your list.""").format(fileName)) |
72 |
72 |
73 @pyqtSlot() |
73 @pyqtSlot() |
74 def on_deleteButton_clicked(self): |
74 def on_deleteButton_clicked(self): |
76 Private slot to delete the selected search engines. |
76 Private slot to delete the selected search engines. |
77 """ |
77 """ |
78 if self.enginesTable.model().rowCount() == 1: |
78 if self.enginesTable.model().rowCount() == 1: |
79 E5MessageBox.critical( |
79 E5MessageBox.critical( |
80 self, |
80 self, |
81 self.trUtf8("Delete selected engines"), |
81 self.tr("Delete selected engines"), |
82 self.trUtf8("""You must have at least one search engine.""")) |
82 self.tr("""You must have at least one search engine.""")) |
83 |
83 |
84 self.enginesTable.removeSelected() |
84 self.enginesTable.removeSelected() |
85 |
85 |
86 @pyqtSlot() |
86 @pyqtSlot() |
87 def on_restoreButton_clicked(self): |
87 def on_restoreButton_clicked(self): |