Example #1
0
	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())
Example #2
0
File: main.py Project: selam/ublog
    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()
Example #3
0
    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)