def __getitem__(self, role): scheme = KColorScheme(QPalette.Active, KColorScheme.Window) role, alph = role.split() role = KColorScheme.__dict__[role] try: color = scheme.foreground(role).color() except TypeError: color = scheme.background(role).color() return 'rgba({}, {}, {}, {})'.format( color.red(), color.green(), color.blue(), alph or color.alpha())
def init(self): """ create interface, this method invoked by plasma it self """ self.setHasConfigurationInterface(True) self.setAspectRatioMode(Plasma.IgnoreAspectRatio) self.setBackgroundHints(Plasma.Applet.DefaultBackground) # self.flash = Plasma.FlashingLabel(self.applet) self.flash.setAutohide(True) self.flash.setMinimumSize(0, 20) self.flash.setDuration(2000) self.tab_bar = Plasma.TabBar() self._layout = QGraphicsLinearLayout(Qt.Vertical, self.applet) self._layout.setSpacing(3) flash_layout = QGraphicsLinearLayout(Qt.Horizontal) flash_layout.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) fnt = Plasma.Theme.defaultTheme().font(Plasma.Theme.DefaultFont) fnt.setBold(True) fm = QFontMetrics(fnt) self.flash.setFont(fnt) self.flash.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) title_layout = QGraphicsLinearLayout(Qt.Vertical) flash_layout.addItem(self.flash) flash_layout.addItem(title_layout) self.main_frame = Plasma.Frame(self.applet) m_header_layout = QGraphicsAnchorLayout(self.main_frame) m_header_layout.setSpacing(5) self.icon = Plasma.IconWidget(self.main_frame) self.icon.setIcon(KIcon("user-identity")) self.icon.setTextBackgroundColor(QColor()) icon_size = self.icon.sizeFromIconSize(48) self.icon.setMinimumSize(icon_size) self.icon.setMaximumSize(icon_size) m_header_layout.addAnchor(self.icon, Qt.AnchorVerticalCenter, m_header_layout, Qt.AnchorVerticalCenter) m_header_layout.addAnchor(self.icon, Qt.AnchorLeft, m_header_layout, Qt.AnchorLeft) status_edit_frame = Plasma.Frame(self.main_frame) status_edit_frame.setFrameShadow(Plasma.Frame.Sunken) status_edit_layout = QGraphicsLinearLayout(status_edit_frame) self.status_edit = Plasma.TextEdit() self.status_edit.setPreferredHeight(fm.height() * 4) self.status_edit.setEnabled(False) status_edit_layout.addItem(self.status_edit) edit_pal = self.status_edit.palette() m_color_scheme = KColorScheme(QPalette.Active, KColorScheme.View, Plasma.Theme.defaultTheme().colorScheme()) edit_pal.setColor(QPalette.Text, m_color_scheme.foreground().color()) self.status_edit.nativeWidget().setPalette(edit_pal) self.status_edit.nativeWidget().installEventFilter(self) m_header_layout.addAnchor(self.icon, Qt.AnchorRight, status_edit_frame, Qt.AnchorLeft) m_header_layout.addAnchors(status_edit_frame, m_header_layout, Qt.Vertical) m_header_layout.addAnchor(status_edit_frame, Qt.AnchorRight, m_header_layout, Qt.AnchorRight) m_header_layout.activate() m_header_layout.setMaximumHeight(m_header_layout.effectiveSizeHint(Qt.PreferredSize).height()) self.scroll_widget = Plasma.ScrollWidget(self.applet) self.tweets_widget = QGraphicsWidget(self.scroll_widget) self.scroll_widget.setWidget(self.tweets_widget) self.tweets_layout = QGraphicsLinearLayout(Qt.Vertical, self.tweets_widget) self.tweets_layout.setSpacing(3) self.tweets_layout.addItem(self.main_frame) self.tab_bar.addTab(self.trUtf8("Timeline")) self.tab_bar.addTab(self.trUtf8("Replies")) self.tab_bar.addTab(self.trUtf8("Messages")) self._layout.addItem(flash_layout) self._layout.addItem(self.tab_bar) self._layout.addItem(self.scroll_widget) self.applet.setLayout(self._layout) self.connect(self.tab_bar, SIGNAL('currentChanged(int)'), self.mode_changed) self.connect(self.status_edit, SIGNAL('textChanged()'), self.edit_text_changed) self.check_config()
def updateHelpIndex(self): # Add commands group commands = QTreeWidgetItem( self.vewHelpPage.helpTargets , [i18nc('@item::inlistbox/plain', 'Commands')] , cmake_help_parser.help_category.COMMAND ) deprecated = [cmd[0] for cmd in cmake_help_parser.get_cmake_deprecated_commands_list()] for cmd in cmake_help_parser.get_cmake_commands_list(): c = QTreeWidgetItem( commands , [cmd] , cmake_help_parser.help_category.HELP_ITEM ) global _cmake_completion_model schema = KColorScheme(QPalette.Normal, KColorScheme.Selection) if _cmake_completion_model.has_completion_for_command(cmd): c.setForeground(0, schema.foreground(KColorScheme.PositiveText).color()) else: if cmd in deprecated: c.setForeground(0, schema.foreground(KColorScheme.NeutralText).color()) else: c.setForeground(0, schema.foreground(KColorScheme.NegativeText).color()) # Add modules group standard_modules = cmake_help_parser.get_cmake_modules_list() total_modules_count = len(standard_modules) custom_modules = {} for path in kate.sessionConfiguration[settings.AUX_MODULE_DIRS]: modules_list = cmake_help_parser.get_cmake_modules_list(path) filtered_modules_list = [mod for mod in modules_list if mod not in standard_modules] filtered_modules_list.sort() custom_modules[ i18nc('@item:inlistbox', 'Modules from %1 (%2)', path, len(path)) ] = filtered_modules_list total_modules_count += len(filtered_modules_list) custom_modules[ i18nc('@item:inlistbox', 'Standard modules (%1)', len(standard_modules)) ] = standard_modules # modules = QTreeWidgetItem( self.vewHelpPage.helpTargets , [i18nc('@item::inlistbox/plain', 'Modules (%1)', total_modules_count)] , cmake_help_parser.help_category.MODULE ) for from_path, modules_list in custom_modules.items(): ss_item = QTreeWidgetItem( modules , [from_path] , cmake_help_parser.help_category.MODULE ) for mod in modules_list: m = QTreeWidgetItem( ss_item , [mod] , cmake_help_parser.help_category.HELP_ITEM ) # Add policies group policies = QTreeWidgetItem( self.vewHelpPage.helpTargets , [i18nc('@item::inlistbox/plain', 'Policies')] , cmake_help_parser.help_category.POLICY ) for pol in cmake_help_parser.get_cmake_policies_list(): p = QTreeWidgetItem( policies , [pol] , cmake_help_parser.help_category.HELP_ITEM ) # Add properties group properties = QTreeWidgetItem( self.vewHelpPage.helpTargets , [i18nc('@item::inlistbox/plain', 'Properties')] , cmake_help_parser.help_category.PROPERTY ) for subsection, props_list in cmake_help_parser.get_cmake_properties_list().items(): ss_item = QTreeWidgetItem( properties , [subsection] , cmake_help_parser.help_category.PROPERTY ) for prop in props_list: v = QTreeWidgetItem( ss_item , [prop[0]] , cmake_help_parser.help_category.HELP_ITEM ) v.setToolTip(0, prop[1]) # Add variables group variables = QTreeWidgetItem( self.vewHelpPage.helpTargets , [i18nc('@item::inlistbox/plain', 'Variables')] , cmake_help_parser.help_category.VARIABLE ) for subsection, vars_list in cmake_help_parser.get_cmake_vars_list().items(): ss_item = QTreeWidgetItem( variables , [subsection] , cmake_help_parser.help_category.VARIABLE ) for var in vars_list: v = QTreeWidgetItem( ss_item , [var[0]] , cmake_help_parser.help_category.HELP_ITEM ) v.setToolTip(0, var[1]) # self.vewHelpPage.helpTargets.resizeColumnToContents(0)