Index: mate-menu-19.04.0/mate_menu/plugins/applications.py =================================================================== --- a/mate_menu/plugins/applications.py 2019-03-25 16:20:49.000000000 +0100 +++ b/mate_menu/plugins/applications.py 2019-09-22 08:29:41.805989231 +0200 @@ -275,6 +275,8 @@ class pluginclass( object ): self.settings.bindGSettingsEntryToVar( "bool", "always-show-search", self, "alwaysshowsearch" ) self.settings.bindGSettingsEntryToVar( "bool", "enable-ddg", self, "enableddg" ) self.settings.bindGSettingsEntryToVar( "bool", "enable-google", self, "enablegoogle" ) + self.settings.bindGSettingsEntryToVar( "bool", "enable-mageia-appdb", self, "enablemageiaappdb" ) + self.settings.bindGSettingsEntryToVar( "bool", "enable-mageia-wiki", self, "enablemageiawiki" ) self.settings.bindGSettingsEntryToVar( "bool", "enable-wikipedia", self, "enablewikipedia" ) self.settings.bindGSettingsEntryToVar( "bool", "enable-dictionary", self, "enabledictionary" ) self.settings.bindGSettingsEntryToVar( "bool", "enable-computer", self, "enablecomputer" ) @@ -469,6 +471,8 @@ class pluginclass( object ): self.alwaysshowsearch = self.settings.get( "bool", "always-show-search") self.enableddg = self.settings.get( "bool", "enable-ddg") self.enablegoogle = self.settings.get( "bool", "enable-google") + self.enablemageiaappdb = self.settings.get( "bool", "enable-mageia-appdb") + self.enablemageiawiki = self.settings.get( "bool", "enable-mageia-wiki") self.enablewikipedia = self.settings.get( "bool", "enable-wikipedia") self.enabledictionary = self.settings.get( "bool", "enable-dictionary") self.enablecomputer = self.settings.get( "bool", "enable-computer") @@ -639,6 +643,28 @@ class pluginclass( object ): focused = True self.suggestions.append(suggestionButton) + if self.enablemageiaappdb: + suggestionButton = SuggestionButton("list-add", self.iconSize, "") + suggestionButton.connect("clicked", self.search_madb) + suggestionButton.set_text(_("Search Mageia Application Database for %s") % text) + suggestionButton.set_image(prefix % "mageia.png", self.iconSize) + self.applicationsBox.add(suggestionButton) + if not focused: + self.applicationsBox.get_children()[-1].grab_focus() + focused = True + self.suggestions.append(suggestionButton) + + if self.enablemageiawiki: + suggestionButton = SuggestionButton("list-add", self.iconSize, "") + suggestionButton.connect("clicked", self.search_mgawiki) + suggestionButton.set_text(_("Search Mageia Wiki for %s") % text) + suggestionButton.set_image(prefix % "mageia.png", self.iconSize) + self.applicationsBox.add(suggestionButton) + if not focused: + self.applicationsBox.get_children()[-1].grab_focus() + focused = True + self.suggestions.append(suggestionButton) + if self.enablewikipedia: suggestionButton = SuggestionButton("list-add", self.iconSize, "") suggestionButton.connect("clicked", self.search_wikipedia) @@ -943,6 +969,14 @@ class pluginclass( object ): menuItem.connect("activate", self.search_wikipedia) menu.append(menuItem) + menuItem = self.createImageMenuItem(_("Search Mageia Application Database"), prefix % "mageia.png") + menuItem.connect("activate", self.search_madb) + menu.append(menuItem) + + menuItem = self.createImageMenuItem(_("Search Mageia Wiki"), prefix % "mageia.png") + menuItem.connect("activate", self.search_mgawiki) + menu.append(menuItem) + menuItem = Gtk.SeparatorMenuItem() menu.append(menuItem) @@ -994,6 +1034,30 @@ class pluginclass( object ): subprocess.call(['xdg-open', 'https://www.google.com/search?q=' + text]) self.mateMenuWin.hide() + def search_madb(self, widget): + text = self.searchEntry.get_text() + text = text.replace(" ", "+") + import re + from platform import machine + if re.search("i\d86", machine()): + a_rch = "i586" + elif re.search("armv\dh?l", machine()): + a_rch = "armv7hl" + else: + a_rch = machine() + if open('/etc/mageia-release','r').read().split(' ')[3] == "(Cauldron)": + mga_release = "cauldron" + else: + mga_release = open('/etc/mageia-release','r').read().split(' ')[2] + subprocess.call(['xdg-open', 'http://mageia.madb.org/package/show/application/0/release/' + mga_release + '/arch/' + a_rch + '/name/' + text]) + self.mateMenuWin.hide() + + def search_mgawiki(self, widget): + text = self.searchEntry.get_text() + text = text.replace(" ", "+") + subprocess.call(['xdg-open', 'https://wiki.mageia.org/en/Special:Search?search=' + text]) + self.mateMenuWin.hide() + def search_wikipedia(self, widget): text = self.searchEntry.get_text() text = text.replace(" ", "+") Index: mate-menu-19.04.0/data/plugins/org.mate.mate-menu.plugins.applications.gschema.xml =================================================================== --- a/data/plugins/org.mate.mate-menu.plugins.applications.gschema.xml 2019-03-25 16:20:49.000000000 +0100 +++ b/data/plugins/org.mate.mate-menu.plugins.applications.gschema.xml 2019-09-22 08:30:50.853640700 +0200 @@ -128,6 +128,18 @@ <description></description> </key> + <key type="b" name="enable-mageia-appdb"> + <default>true</default> + <summary></summary> + <description></description> + </key> + + <key type="b" name="enable-mageia-wiki"> + <default>true</default> + <summary></summary> + <description></description> + </key> + <key type="b" name="enable-wikipedia"> <default>true</default> <summary></summary>