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