本文整理汇总了Python中gi.repository.Gio.Settings.get_strv方法的典型用法代码示例。如果您正苦于以下问题:Python Settings.get_strv方法的具体用法?Python Settings.get_strv怎么用?Python Settings.get_strv使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gi.repository.Gio.Settings
的用法示例。
在下文中一共展示了Settings.get_strv方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _getPluginLayouts
# 需要导入模块: from gi.repository.Gio import Settings [as 别名]
# 或者: from gi.repository.Gio.Settings import get_strv [as 别名]
def _getPluginLayouts(self):
plugin_layouts= {}
self.plugviews = GSettings(schema=PLUGVIEWS_GSCHEMA)
plugin_layouts['Top panel'] = self.plugviews.get_strv('top-panel-layout')
plugin_layouts['Bottom panel'] = self.plugviews.get_strv('bottom-panel-layout')
for plugview in self.plugviews.get_strv('available-newviews'):
gspath = NEWPLUGVIEWS_PATH + plugview.lower().replace(' ', '-') + '/'
newview = GSettings(schema=NEWPLUGVIEWS_GSCHEMA, path=gspath)
layout = newview.get_strv('layout')
if layout:
plugin_layouts[plugview] = layout
else:
l = self.plugviews.get_strv('available-newviews')
l.remove(plugview)
self.plugviews.set_strv('available-newviews', l)
return plugin_layouts
示例2: MultiViewModel
# 需要导入模块: from gi.repository.Gio import Settings [as 别名]
# 或者: from gi.repository.Gio.Settings import get_strv [as 别名]
#.........这里部分代码省略.........
if self._closed or not isinstance(plugin, Plugin): return
if (view.view_name, plugin.plugin_name) in self._ignore_insertion:
self._ignore_insertion.remove((view.view_name, plugin.plugin_name))
return
if plugin.plugin_name in self._placement_cache:
self._placement_cache.pop(plugin.plugin_name)
plugin_layouts = self._getPluginLayouts()
try:
plugin_layout = plugin_layouts[view.view_name]
except KeyError:
plugin_layouts[view.view_name] = []
plugin_layout = plugin_layouts[view.view_name]
if plugin.plugin_name in plugin_layout:
plugin_layout.remove(plugin.plugin_name)
if action in ('reordered', 'added'):
plugin_layout.insert(page_num, plugin.plugin_name)
elif action == 'removed':
self._placement_cache[plugin.plugin_name] = (view.view_name, page_num)
if len(plugin_layout) == 0:
self._removeView(view)
self._setPluginLayouts(plugin_layouts)
def _setPluginLayouts(self, plugin_layouts):
self.plugviews = GSettings(schema=PLUGVIEWS_GSCHEMA)
self.plugviews.set_strv('top-panel-layout', plugin_layouts.pop('Top panel'))
self.plugviews.set_strv('bottom-panel-layout', plugin_layouts.pop('Bottom panel'))
for plugview in list(plugin_layouts.keys()):
gspath = NEWPLUGVIEWS_PATH + plugview.lower().replace(' ', '-') + '/'
newview = GSettings(schema=NEWPLUGVIEWS_GSCHEMA, path=gspath)
newview.set_strv('layout', plugin_layouts[plugview])
l = self.plugviews.get_strv('available-newviews')
l.append(plugview)
self.plugviews.set_strv('available-newviews', l)
def _getPluginLayouts(self):
plugin_layouts= {}
self.plugviews = GSettings(schema=PLUGVIEWS_GSCHEMA)
plugin_layouts['Top panel'] = self.plugviews.get_strv('top-panel-layout')
plugin_layouts['Bottom panel'] = self.plugviews.get_strv('bottom-panel-layout')
for plugview in self.plugviews.get_strv('available-newviews'):
gspath = NEWPLUGVIEWS_PATH + plugview.lower().replace(' ', '-') + '/'
newview = GSettings(schema=NEWPLUGVIEWS_GSCHEMA, path=gspath)
layout = newview.get_strv('layout')
if layout:
plugin_layouts[plugview] = layout
else:
l = self.plugviews.get_strv('available-newviews')
l.remove(plugview)
self.plugviews.set_strv('available-newviews', l)
return plugin_layouts
def addPlugin(self, plugin):
'''
Add a plugin to the view. Check if it's placement is cached in this
instance or read it's position from gsettings. By default a plugin is
appended to the main view.
@param plugin: Plugin to add.
@type plugin: L{Plugin}
'''
if plugin.plugin_name in self._placement_cache:
示例3: PluginManager
# 需要导入模块: from gi.repository.Gio import Settings [as 别名]
# 或者: from gi.repository.Gio.Settings import get_strv [as 别名]
#.........这里部分代码省略.........
plugin_locals = plugin.__dict__
except Exception as e:
self.message_manager.newModuleError(plugin_fn, plugin_dir,
traceback.format_exception_only(e.__class__, e)[0].strip(),
traceback.format_exc())
return {}
sys.path.pop(0)
return plugin_locals
def _loadPluginFile(self, plugin_dir, plugin_fn):
'''
Find plugin implementations in the given module, and store them.
@param plugin_dir: Path.
@type plugin_dir: string
@param plugin_fn: Module.
@type plugin_fn: string
'''
plugin_locals = self._getPluginLocals(plugin_dir, plugin_fn)
# use keys list to avoid size changes during iteration
for symbol in list(plugin_locals.keys()):
try:
is_plugin = \
issubclass(plugin_locals[symbol], Plugin) and \
getattr(plugin_locals[symbol], 'plugin_name', None)
except TypeError:
continue
if is_plugin:
self.handler_block(self._row_changed_handler)
iter_id = self.append([None, plugin_locals[symbol], plugin_dir])
self.handler_unblock(self._row_changed_handler)
# if a plugin class is found, initialize
disabled_list = self.gsettings.get_strv('disabled-plugins')
enabled = plugin_locals[symbol].plugin_name not in \
disabled_list
if enabled:
self._enablePlugin(iter_id)
self.row_changed(self.get_path(iter_id), iter_id)
def _enablePlugin(self, iter):
'''
Instantiate a plugin class pointed to by the given iter.
@param iter: Iter of plugin class we should instantiate.
@type iter: gtk.TreeIter
'''
plugin_class = self[iter][self.COL_CLASS]
plugin_instance = None
try:
plugin_instance = plugin_class(self.node, self.message_manager)
plugin_instance.init()
for key_combo in plugin_instance.global_hotkeys:
self.hotkey_manager.addKeyCombo(
plugin_class.plugin_name,
plugin_class.plugin_name_localized or plugin_class.plugin_name
, *key_combo)
except Exception as e:
self.message_manager.newPluginError(
plugin_instance, plugin_class,
traceback.format_exception_only(e.__class__, e)[0].strip(),
traceback.format_exc())
try:
plugin_instance._close()
except:
pass