Ejemplo n.º 1
0
    def create_menubar(self):
        """Create the menu bar (file, help)"""
        # Create a UIManager instance
        uimanager = gtk.UIManager()

        # Add the accelerator group to the top level window
        accelgroup = uimanager.get_accel_group()
        self.window.add_accel_group(accelgroup)

        # Create an ActionGroup
        actiongroup = gtk.ActionGroup('UIManagerExample')
        self.actiongroup = actiongroup

        # Create actions
        entries = (
            ('ShredFiles', None, _('_Shred Files'),
             None, None, self.cb_shred_file),
            ('ShredFolders', None, _('Sh_red Folders'),
             None, None, self.cb_shred_file),
            ('WipeFreeSpace', None, _('_Wipe Free Space'),
             None, None, self.cb_wipe_free_space),
            ('ShredQuit', None, _('S_hred Settings and Quit'),
             None, None, self.cb_shred_quit),
            ('Quit', gtk.STOCK_QUIT, _('_Quit'), None,
             None, lambda *dummy: gtk.main_quit()),
            ('File', None, _('_File')),
            ('Preferences', gtk.STOCK_PREFERENCES, _(
             "Preferences"), None, None, self.cb_preferences_dialog),
            ('ShredClipboard', None, _("Shred Paths from Clipboard"),
             None, None, self.cb_menu_shred_clipboard),
            ('Edit', None, _("_Edit")),
            ('HelpContents', gtk.STOCK_HELP, _('Help Contents'), 'F1', None,
             lambda link: GuiBasic.open_url(
             bleachbit.help_contents_url, self.window)),
            ('ReleaseNotes', gtk.STOCK_INFO, _('_Release Notes'), None, None,
             lambda link: GuiBasic.open_url(
             bleachbit.release_notes_url, self.window)),
            ('SystemInformation', None, _('_System Information'), None,
             None, lambda foo: self.diagnostic_dialog(self.window)),
            ('About', gtk.STOCK_ABOUT, _(
             '_About'), None, None, self.about),
            ('Help', None, _("_Help")))
        actiongroup.add_actions(entries)
        actiongroup.get_action('Quit').set_property('short-label', '_Quit')

        # Add the actiongroup to the uimanager
        uimanager.insert_action_group(actiongroup, 0)

        # Add a UI description
        uimanager.add_ui_from_string(self.ui)

        # Create a MenuBar
        menubar = uimanager.get_widget('/MenuBar')
        return menubar
Ejemplo n.º 2
0
    def create_menubar(self):
        """Create the menu bar (file, help)"""
        # Create a UIManager instance
        uimanager = gtk.UIManager()

        # Add the accelerator group to the top level window
        accelgroup = uimanager.get_accel_group()
        self.window.add_accel_group(accelgroup)

        # Create an ActionGroup
        actiongroup = gtk.ActionGroup('UIManagerExample')
        self.actiongroup = actiongroup

        # Create actions
        entries = (('ShredFiles', None, _('_Shred Files'), None, None,
                    self.cb_shred_file), ('ShredFolders', None,
                                          _('Sh_red Folders'), None, None,
                                          self.cb_shred_file),
                   ('WipeFreeSpace', None, _('_Wipe Free Space'), None, None,
                    self.cb_wipe_free_space), ('ShredQuit', None,
                                               _('S_hred Settings and Quit'),
                                               None, None, self.cb_shred_quit),
                   ('Quit', gtk.STOCK_QUIT, _('_Quit'), None,
                    None, lambda *dummy: gtk.main_quit()), ('File', None,
                                                            _('_File')),
                   ('Preferences', gtk.STOCK_PREFERENCES, _("Preferences"),
                    None, None, self.cb_preferences_dialog),
                   ('ShredClipboard', None, _("Shred Paths from Clipboard"),
                    None, None, self.cb_menu_shred_clipboard), ('Edit', None,
                                                                _("_Edit")),
                   ('HelpContents', gtk.STOCK_HELP, _('Help Contents'), 'F1',
                    None, lambda link: GuiBasic.open_url(
                        bleachbit.help_contents_url, self.window)),
                   ('ReleaseNotes', gtk.STOCK_INFO, _('_Release Notes'), None,
                    None, lambda link: GuiBasic.open_url(
                        bleachbit.release_notes_url, self.window)),
                   ('SystemInformation', None, _('_System Information'), None,
                    None, lambda foo: self.diagnostic_dialog(self.window)),
                   ('About', gtk.STOCK_ABOUT, _('_About'), None, None,
                    self.about), ('Help', None, _("_Help")))
        actiongroup.add_actions(entries)
        actiongroup.get_action('Quit').set_property('short-label', '_Quit')

        # Add the actiongroup to the uimanager
        uimanager.insert_action_group(actiongroup, 0)

        # Add a UI description
        uimanager.add_ui_from_string(self.ui)

        # Create a MenuBar
        menubar = uimanager.get_widget('/MenuBar')
        return menubar
Ejemplo n.º 3
0
 def about(self, __event):
     """Create and show the about dialog"""
     if 'nt' != os.name and (2, 16, 6) != gtk.gtk_version:
         # workaround for broken GTK+
         # (https://bugs.launchpad.net/bleachbit/+bug/797012)
         gtk.about_dialog_set_url_hook(lambda dialog,
                                       link: GuiBasic.open_url(link, self.window, False))
     dialog = gtk.AboutDialog()
     dialog.set_comments(_("Program to clean unnecessary files"))
     dialog.set_copyright("Copyright (C) 2008-2018 Andrew Ziem")
     try:
         with open(bleachbit.license_filename) as f:
             dialog.set_license(f.read())
     except (IOError, TypeError):
         # In case the license file cannot be read, there will be an
         # IOError. In case the license file does not exist, the filename
         # will be none, causing a TypeError.
         dialog.set_license(
             _("GNU General Public License version 3 or later.\nSee http://www.gnu.org/licenses/gpl-3.0.txt"))
     dialog.set_name(APP_NAME)
     # TRANSLATORS: Maintain the names of translators here.
     # Launchpad does this automatically for translations
     # typed in Launchpad. This is a special string shown
     # in the 'About' box.
     dialog.set_translator_credits(_("translator-credits"))
     dialog.set_version(bleachbit.APP_VERSION)
     dialog.set_website(bleachbit.APP_URL)
     dialog.set_transient_for(self.window)
     if appicon_path and os.path.exists(appicon_path):
         icon = gtk.gdk.pixbuf_new_from_file(appicon_path)
         dialog.set_logo(icon)
     dialog.run()
     dialog.hide()
Ejemplo n.º 4
0
 def cb_help(self, action, param):
     """Callback for help"""
     GuiBasic.open_url(bleachbit.help_contents_url, self._window)