コード例 #1
0
    def label_expose_event(self, widget, event, width):
        color = self.btn_text_color
        if widget == self.ok_btn and self.ok_key_check:
            color = "#FFFFFF"
        elif widget == self.cancel_btn and self.cancel_key_check:
            color = "#FFFFFF"

        if widget.state == gtk.STATE_PRELIGHT:
            color = "#FFFFFF"
        
        cr = widget.window.cairo_create()
        rect = widget.allocation
        
        size = get_text_size(widget.get_label(), 
                             self.btn_text_size, 
                             DEFAULT_FONT)
        draw_text(cr, 
                  widget.get_label(),
                  rect.x, 
                  rect.y + rect.height/2 - size[1]/2, 
                  text_size=self.btn_text_size, 
                  text_color=color, 
                  text_font=DEFAULT_FONT)  
        widget.set_size_request(size[0] + width, size[1] + 10)
        
        return True
コード例 #2
0
    def label_expose_event(self, widget, event, width):
        color = self.btn_text_color
        if widget == self.ok_btn and self.ok_key_check:
            color = "#FFFFFF"
        elif widget == self.cancel_btn and self.cancel_key_check:
            color = "#FFFFFF"

        if widget.state == gtk.STATE_PRELIGHT:
            color = "#FFFFFF"

        cr = widget.window.cairo_create()
        rect = widget.allocation

        size = get_text_size(widget.get_label(), self.btn_text_size,
                             DEFAULT_FONT)
        draw_text(cr,
                  widget.get_label(),
                  rect.x,
                  rect.y + rect.height / 2 - size[1] / 2,
                  text_size=self.btn_text_size,
                  text_color=color,
                  text_font=DEFAULT_FONT)
        widget.set_size_request(size[0] + width, size[1] + 10)

        return True
コード例 #3
0
    def __init__(self, label="", label_size=DEFAULT_FONT_SIZE):
        gtk.Button.__init__(self, label)

        self.btn_text = label
        self.btn_text_size = label_size

        size = get_text_size(label, label_size, DEFAULT_FONT)
        self.set_size_request(*size)
        self.btn_text_color = "#b9b9b9"
        self.check = False

        self.connect("expose-event", self.expose)
コード例 #4
0
    def __init__(self, label="", label_size=DEFAULT_FONT_SIZE):
        gtk.Button.__init__(self, label)

        self.btn_text = label
        self.btn_text_size = label_size

        size = get_text_size(label, label_size, DEFAULT_FONT)
        self.set_size_request(*size)
        self.btn_text_color = "#b9b9b9"
        self.check = False

        self.connect("expose-event", self.expose)
コード例 #5
0
 def open_btn_expose_event(self, widget, event):
     cr = widget.window.cairo_create()
     rect = widget.allocation
     text = widget.get_label().decode("utf-8")
     text_width = get_text_size("ABCDEFABCDEFH", text_size=9)[0]
     ch_width = get_text_size("a", text_size=9)[0]
     dec_width = get_text_size(text, text_size=9)[0] - text_width
     if dec_width > 0:
         index = (dec_width/ch_width) + 2
         text = text[0:len(text)-index] + "..."
     if self.eject_check:
         text_color_value = "#000000"
     else:
         text_color_value = "#9d9d9d"
     draw_text(cr, 
               text, 
               rect.x, 
               rect.y + rect.height/2 - get_text_size(text)[1]/2, 
               text_color=text_color_value,
               text_size=9)
     return True
コード例 #6
0
 def open_btn_expose_event(self, widget, event):
     cr = widget.window.cairo_create()
     rect = widget.allocation
     text = widget.get_label().decode("utf-8")
     text_width = get_text_size("ABCDEFABCDEFH", text_size=9)[0]
     ch_width = get_text_size("a", text_size=9)[0]
     dec_width = get_text_size(text, text_size=9)[0] - text_width
     if dec_width > 0:
         index = (dec_width / ch_width) + 2
         text = text[0 : len(text) - index] + "..."
     if self.eject_check:
         text_color_value = "#000000"
     else:
         text_color_value = "#9d9d9d"
     draw_text(
         cr,
         text,
         rect.x,
         rect.y + rect.height / 2 - get_text_size(text)[1] / 2,
         text_color=text_color_value,
         text_size=9,
     )
     return True
コード例 #7
0
    def init_widgets(self):
        self.icon_width = self.icon_height = HEIGHT
        #
        self.user_hbox = gtk.HBox()
        self.user_icon = gtk.Image()
        self.user_icon.set_size_request(HEIGHT, HEIGHT)
        #
        user_name = self.cmd_dbus.get_user_name()
        user_name_width = get_text_size(user_name)[0]
        if user_name_width > WIDTH: 
            de_user_name = user_name.decode("utf-8")
            user_name = de_user_name[0:10] + "..."
        self.user_label_ali = gtk.Alignment(0, 0, 1, 1)
        self.user_label_ali.set_padding(0, 0, 5, 0)
        self.user_label_event = gtk.EventBox()
        self.user_label = gtk.Label(user_name)
        self.user_label_event.add(self.user_label)
        self.user_label_ali.add(self.user_label_event)
        self.user_icon.connect_after("expose-event", self.user_label_event_expose_event)
        #
        self.user_hbox.pack_start(self.user_icon, False, False)
        self.user_hbox.pack_start(self.user_label_ali, False, False)
        #
        self.h_separator_top_ali = gtk.Alignment(1, 1, 1, 1)
        self.h_separator_top_ali.set_padding(5, 5, 0, 0)
        hseparator_color = [(0, ("#777777", 0.0)),
                            (0.5, ("#000000", 0.3)), 
                            (1, ("#777777", 0.0))]
        self.h_separator_top = HSeparator(hseparator_color, 0, 0)
        self.h_separator_top_ali.add(self.h_separator_top)

        self.switch_separator_bottom = HSeparator(hseparator_color, 0, 0)
        self.switch_separator_bottom_ali = gtk.Alignment(1, 1, 1, 1)
        self.switch_separator_bottom_ali.set_padding(5, 5, 0, 0)
        self.switch_separator_bottom_ali.add(self.switch_separator_bottom)
        #
        ali_padding = 100  
        font_size = 10
        self.switch_btn = SelectButton(_("Switch user"), 
                                       font_size=font_size, 
                                       ali_padding=ali_padding)
        self.stop_btn = SelectButton(_("Shut down"), 
                                     font_size=font_size, 
                                     ali_padding=ali_padding)
        self.restart_btn = SelectButton(_("Restart"), 
                                        font_size=font_size, 
                                        ali_padding=ali_padding)
        self.suspend_btn = SelectButton(_("Suspend"), 
                                        font_size=font_size, 
                                        ali_padding=ali_padding)
        self.logout_btn = SelectButton(_("Log out"), 
                                       font_size=font_size, 
                                       ali_padding=ali_padding)
        self.lock_btn = SelectButton(_("Lock"), 
                                     font_size=font_size, 
                                     ali_padding=ali_padding)
        #
        self.switch_btn.set_size_request(WIDTH, HEIGHT)
        self.stop_btn.set_size_request(WIDTH, HEIGHT)
        self.restart_btn.set_size_request(WIDTH, HEIGHT)
        self.suspend_btn.set_size_request(WIDTH, HEIGHT)
        self.logout_btn.set_size_request(WIDTH, HEIGHT)
        self.lock_btn.set_size_request(WIDTH, HEIGHT)
        #
        self.pack_start(self.user_hbox, True, True)
        self.pack_start(self.h_separator_top_ali, True, True)
        self.pack_start(self.switch_btn, True, True)
        self.pack_start(self.switch_separator_bottom_ali, True, True)
        self.pack_start(self.stop_btn, True, True)
        self.pack_start(self.restart_btn, True, True)
        self.pack_start(self.suspend_btn, True, True)
        self.pack_start(self.logout_btn, True, True)

        if self.cmd_dbus.real_name != "Guest":
            self.pack_start(self.lock_btn, True, True)
        set_clickable_cursor(self.user_label_event)

        gobject.timeout_add_seconds(2, self.check_is_livecd)