本文整理汇总了Python中GuiBasic类的典型用法代码示例。如果您正苦于以下问题:Python GuiBasic类的具体用法?Python GuiBasic怎么用?Python GuiBasic使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GuiBasic类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: preview_or_run_operations
def preview_or_run_operations(self, really_delete, operations=None):
"""Preview operations or run operations (delete files)"""
assert(isinstance(really_delete, bool))
import Worker
self.start_time = None
if None == operations:
operations = {}
for operation in self.get_selected_operations():
operations[operation] = self.get_operation_options(operation)
assert(isinstance(operations, dict))
if 0 == len(operations):
GuiBasic.message_dialog(self.window,
_("You must select an operation"),
gtk.MESSAGE_WARNING, gtk.BUTTONS_OK)
return
try:
self.set_sensitive(True)
self.textbuffer.set_text("")
self.progressbar.show()
print "STOP NOW"
print self,stop_now
self.worker = Worker.Worker(self, really_delete, operations, self.stop_now)
except:
traceback.print_exc()
err = str(sys.exc_info()[1])
self.append_text(err + "\n", 'error')
else:
self.start_time = time.time()
worker = self.worker.run()
gobject.idle_add(worker.next)
示例2: environ
def environ(varname, csidl):
try:
os.environ[varname] = shell.SHGetSpecialFolderPath(None, csidl)
except:
traceback.print_exc()
msg = 'Error setting environemnt variable "%s": %s ' % (varname, str(sys.exc_info()[1]))
import GuiBasic
GuiBasic.message_dialog(None, msg)
示例3: create_menubar
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),
('Edit', None, _("_Edit")),
('HelpContents', gtk.STOCK_HELP, _('Help Contents'), 'F1', None,
lambda link: GuiBasic.open_url(
help_contents_url, self.window)),
('ReleaseNotes', gtk.STOCK_INFO, _('_Release Notes'), None, None,
lambda link: GuiBasic.open_url(
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
示例4: about
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) 2014 Andrew Ziem")
try:
dialog.set_license(open(license_filename).read())
except:
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(APP_VERSION)
dialog.set_website(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()
示例5: set_cleaner
def set_cleaner(self, path, model, parent_window, value=None):
"""Activate or deactive option of cleaner."""
if None == value:
# if not value given, toggle current value
value = not model[path][1]
assert(type(value) is types.BooleanType)
assert(type(model) is gtk.TreeStore)
cleaner_id = None
i = path
if type(i) is str:
# type is either str or gtk.TreeIter
i = model.get_iter(path)
parent = model.iter_parent(i)
if None != parent:
# this is an option (child), not a cleaner (parent)
cleaner_id = model[parent][2]
option_id = model[path][2]
if cleaner_id and value:
# when toggling an option, present any warnings
warning = backends[cleaner_id].get_warning(option_id)
# TRANSLATORS: %(cleaner) may be Firefox, System, etc.
# %(option) may be cache, logs, cookies, etc.
# %(warning) may be 'This option is really slow'
msg = _("Warning regarding %(cleaner)s - %(option)s:\n\n%(warning)s") % \
{'cleaner': model[parent][0],
'option': model[path][0],
'warning': warning}
if warning:
resp = GuiBasic.message_dialog(parent_window,
msg,
gtk.MESSAGE_WARNING, gtk.BUTTONS_OK_CANCEL)
if gtk.RESPONSE_OK != resp:
# user cancelled, so don't toggle option
return
model[path][1] = value
示例6: get_autostart_path
def get_autostart_path():
"""Return the path of the BleachBit shortcut in the user's startup folder"""
try:
startupdir = shell.SHGetSpecialFolderPath(None, shellcon.CSIDL_STARTUP)
except:
# example of failure http://bleachbit.sourceforge.net/forum/error-windows-7-x64-bleachbit-091
traceback.print_exc()
msg = 'Error finding user startup folder: %s ' % (str(sys.exc_info()[1]))
import GuiBasic
GuiBasic.message_dialog(None, msg)
# as a fallback, guess
# Windows XP: C:\Documents and Settings\(username)\Start Menu\Programs\Startup
# Windows 7: C:\Users\(username)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
startupdir = os.path.expandvars('$USERPROFILE\\Start Menu\\Programs\\Startup')
if not os.path.exists(startupdir):
startupdir = os.path.expandvars('$APPDATA\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup')
return os.path.join(startupdir, 'bleachbit.lnk')
示例7: cb_shred_file
def cb_shred_file(self, action):
"""Callback for shredding a file or folder"""
# get list of files
if "ShredFiles" == action.get_name():
paths = GuiBasic.browse_files(self.window, _("Choose files to shred"))
elif "ShredFolders" == action.get_name():
paths = GuiBasic.browse_folder(
self.window, _("Choose folder to shred"), multiple=True, stock_button=gtk.STOCK_DELETE
)
else:
raise RuntimeError("Unexpected kind in cb_shred_file")
if not paths:
return
self.shred_paths(paths)
示例8: add_drive_cb
def add_drive_cb(button):
"""Callback for adding a drive"""
title = _("Choose a folder")
pathname = GuiBasic.browse_folder(self.parent, title,
multiple=False, stock_button=gtk.STOCK_ADD)
if pathname:
liststore.append([pathname])
pathnames.append(pathname)
options.set_list('shred_drives', pathnames)
示例9: run_operations
def run_operations(self, __widget):
"""Event when the 'delete' toolbar button is clicked."""
# fixme: should present this dialog after finding operations
# Disable delete confirmation message.
# if the option is selected under preference.
self.stop_now = False
print "Cleane clicked" , self.stop_now
if not options.get("no_popup"):
if not GuiBasic.delete_confirmation_dialog(self.window, True):
return
self.preview_or_run_operations(True)
示例10: add_custom_file_cb
def add_custom_file_cb(button):
"""Callback for adding a file"""
title = _("Choose a file")
pathname = GuiBasic.browse_file(self.parent, title)
if pathname:
for this_pathname in pathnames:
if pathname == this_pathname[1]:
print "warning: '%s' already exists in whitelist" % pathname
return
liststore.append([_('File'), pathname])
pathnames.append(['file', pathname])
options.set_custom_paths(pathnames)
示例11: cb_wipe_free_space
def cb_wipe_free_space(self, action):
"""callback to wipe free space in arbitrary folder"""
path = GuiBasic.browse_folder(self.window, _("Choose a folder"), multiple=False, stock_button=gtk.STOCK_OK)
if not path:
# user cancelled
return
backends["_gui"] = Cleaner.create_wipe_cleaner(path)
# execute
operations = {"_gui": ["free_disk_space"]}
self.preview_or_run_operations(True, operations)
示例12: add_custom_folder_cb
def add_custom_folder_cb(button):
"""Callback for adding a folder"""
title = _("Choose a folder")
pathname = GuiBasic.browse_folder(self.parent, title,
multiple=False, stock_button=gtk.STOCK_ADD)
if pathname:
for this_pathname in pathnames:
if pathname == this_pathname[1]:
print "warning: '%s' already exists in whitelist" % pathname
return
liststore.append([_('Folder'), pathname])
pathnames.append(['folder', pathname])
options.set_custom_paths(pathnames)
示例13: cb_run_option
def cb_run_option(self, widget, really_delete, cleaner_id, option_id):
"""Callback from context menu to delete/preview a single option"""
operations = {cleaner_id: [option_id]}
# preview
if not really_delete:
self.preview_or_run_operations(False, operations)
return
# delete
if GuiBasic.delete_confirmation_dialog(self.window, mention_preview=False):
self.preview_or_run_operations(True, operations)
return
示例14: shred_paths
def shred_paths(self, paths):
"""Shred file or folders"""
# create a temporary cleaner object
backends['_gui'] = Cleaner.create_simple_cleaner(paths)
# preview and confirm
operations = {'_gui': ['files']}
self.preview_or_run_operations(False, operations)
if GuiBasic.delete_confirmation_dialog(self.window, mention_preview=False):
# delete
self.preview_or_run_operations(True, operations)
return True
return False
示例15: create_menubar
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),
("Edit", None, _("_Edit")),
(
"HelpContents",
gtk.STOCK_HELP,
_("Help Contents"),
"F1",
None,
lambda link: GuiBasic.open_url(help_contents_url, self.window),
),
(
"ReleaseNotes",
gtk.STOCK_INFO,
_("_Release Notes"),
None,
None,
lambda link: GuiBasic.open_url(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