Example #1
0
    def user_info(self, val):
        profiles_txt = {
            UserProfile.OUTSIDER: _("TEXT_USER_PROFILE_OUTSIDER"),
            UserProfile.STANDARD: _("TEXT_USER_PROFILE_STANDARD"),
            UserProfile.ADMIN: _("TEXT_USER_PROFILE_ADMIN"),
        }

        self._user_info = val
        if self.user_info.is_revoked:
            self.setToolTip(_("TEXT_USER_IS_REVOKED"))
            self.widget.setStyleSheet("background-color: #DDDDDD;")
        else:
            self.setToolTip("")
            self.widget.setStyleSheet("background-color: #FFFFFF;")
        if self.user_info.human_handle:
            self.label_email.setText(
                ensure_string_size(self.user_info.human_handle.email, 260,
                                   self.label_email.font()))
            self.label_email.setToolTip(self.user_info.human_handle.email)

        self.label_username.setText(
            ensure_string_size(self.user_info.short_user_display, 260,
                               self.label_username.font()))
        self.label_username.setToolTip(self.user_info.short_user_display)
        self.label_role.setText(profiles_txt[self.user_info.profile])
Example #2
0
    def user_info(self, val):
        profiles_txt = {
            UserProfile.OUTSIDER: _("TEXT_USER_PROFILE_OUTSIDER"),
            UserProfile.STANDARD: _("TEXT_USER_PROFILE_STANDARD"),
            UserProfile.ADMIN: _("TEXT_USER_PROFILE_ADMIN"),
        }
        profiles_icons = {
            UserProfile.OUTSIDER: ":/icons/images/material/person_outline.svg",
            UserProfile.STANDARD: ":/icons/images/material/person.svg",
            UserProfile.ADMIN: ":/icons/images/material/manage_accounts.svg",
        }
        self._user_info = val
        if self.user_info.is_revoked:
            self.setToolTip(_("TEXT_USER_IS_REVOKED"))
            self.widget.setStyleSheet("background-color: #DDDDDD;")
            self.label_revoked.setText(_("TEXT_USER_IS_REVOKED"))
        else:
            self.label_revoked.setText("")
            self.setToolTip("")
            self.widget.setStyleSheet("background-color: #FFFFFF;")
        if self.user_info.human_handle:
            self.label_email.setText(
                ensure_string_size(self.user_info.human_handle.email, 160,
                                   self.label_email.font()))
            self.label_email.setToolTip(self.user_info.human_handle.email)

        self.label_username.setText(
            ensure_string_size(self.user_info.short_user_display, 160,
                               self.label_username.font()))
        self.label_username.setToolTip(self.user_info.short_user_display)
        self.label_role.setText(profiles_txt[self.user_info.profile])
        pix = Pixmap(profiles_icons[self.user_info.profile])
        pix.replace_color(QColor(0, 0, 0), QColor(153, 153, 153))
        self.label_icon.setPixmap(pix)
    def reload_workspace_name(self, workspace_name):
        self.workspace_name = workspace_name
        display = workspace_name
        extra_space = 40

        if not self.timestamped:
            if not self.is_shared:
                shared_message = _("TEXT_WORKSPACE_IS_PRIVATE")
            elif not self.is_owner:
                shared_message = _("TEXT_WORKSPACE_IS_OWNED_BY_user").format(
                    user=self.owner.short_user_display)
            elif len(self.others) == 1 and self.others[0]:
                user, = self.others
                shared_message = _("TEXT_WORKSPACE_IS_SHARED_WITH_user"
                                   ).format(user=user.short_user_display)
            else:
                n = len(self.others)
                assert n > 1
                shared_message = _(
                    "TEXT_WORKSPACE_IS_SHARED_WITH_n_USERS").format(n=n)
            display += " ({})".format(shared_message)
            if self.is_shared:
                extra_space += 40
            if self.is_owner:
                extra_space += 40
        else:
            display += "-" + _("TEXT_WORKSPACE_IS_TIMESTAMPED_date").format(
                date=format_datetime(self.workspace_fs.timestamp))
        self.label_title.setToolTip(display)
        size = self.size().width() - extra_space
        self.label_title.setText(
            ensure_string_size(display, size, self.label_title.font()))
Example #4
0
 def on_tab_state_changed(self, tab: InstanceWidget, state: str) -> None:
     idx = self.tab_center.indexOf(tab)
     if idx == -1:
         return
     if state == "login":
         if self._get_login_tab_index() != -1:
             self.tab_center.removeTab(idx)
         else:
             self.tab_center.setTabToolTip(idx, _("TEXT_TAB_TITLE_LOG_IN_SCREEN"))
             self.tab_center.setTabText(idx, _("TEXT_TAB_TITLE_LOG_IN_SCREEN"))
     elif state == "logout":
         self.tab_center.removeTab(idx)
         idx = self._get_login_tab_index()
         if idx == -1:
             self.add_instance()
         else:
             tab_widget = self.tab_center.widget(idx)
             log_widget = None if not tab_widget else tab_widget.get_login_widget()
             if log_widget:
                 log_widget.reload_devices()
     elif state == "connected":
         device = tab.current_device
         tab_name = (
             f"{device.organization_id} - {device.short_user_display} - {device.device_display}"
         )
         self.tab_center.setTabToolTip(idx, tab_name)
         self.tab_center.setTabText(
             idx, ensure_string_size(tab_name, 150, self.tab_center.tabBar().font())
         )
     if self.tab_center.count() == 1:
         self.tab_center.setTabsClosable(False)
     self._toggle_add_tab_button()
Example #5
0
    def __init__(self, email, addr):
        super().__init__()
        self.setupUi(self)
        self.addr = addr
        self.email = email
        self.label_addr.setText(ensure_string_size(str(self.addr), 260, self.label_addr.font()))
        self.label_addr.setToolTip(str(self.addr))
        self.label_email.setText(ensure_string_size(self.email, 260, self.label_email.font()))
        self.label_email.setToolTip(self.email)

        self.button_greet.clicked.connect(self._on_greet_clicked)
        self.button_cancel.clicked.connect(self._on_cancel_clicked)
        self.button_cancel.apply_style()
        self.label_icon.apply_style()
        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.show_context_menu)
        effect = QGraphicsDropShadowEffect(self)
        effect.setColor(QColor(0x99, 0x99, 0x99))
        effect.setBlurRadius(10)
        effect.setXOffset(2)
        effect.setYOffset(2)
        self.setGraphicsEffect(effect)
Example #6
0
    def __init__(self, device_info, is_current_device):
        super().__init__()
        self.setupUi(self)
        self.is_current_device = is_current_device
        self.device_info = device_info
        self.label_icon.apply_style()
        self.label_device_name.setText(
            ensure_string_size(self.device_info.device_display, 260,
                               self.label_device_name.font()))
        self.label_device_name.setToolTip(self.device_info.device_display)
        if self.is_current_device:
            self.label_is_current.setText("({})".format(
                _("TEXT_DEVICE_IS_CURRENT")))

        effect = QGraphicsDropShadowEffect(self)
        effect.setColor(QColor(0x99, 0x99, 0x99))
        effect.setBlurRadius(10)
        effect.setXOffset(2)
        effect.setYOffset(2)
        self.setGraphicsEffect(effect)