def __init__(self, channel_info, default_width=300): Window.__init__(self, shadow_visible=False, shadow_radius=0, shape_frame_function=self.shape_panel_frame, expose_frame_function=self.expose_panel_frame, # window_type=gtk.WINDOW_POPUP, ) self.set_can_focus(False) self.set_accept_focus(False) self.set_skip_taskbar_hint(True) self.set_skip_pager_hint(True) self.info_panel = gtk.EventBox() self.info_panel.set_visible_window(False) self.set_keep_above(True) self.info_panel.connect("expose-event", self.on_panel_expose_event) self.connect("enter-notify-event", self.on_enter_notify_event) self.window_frame.add(self.info_panel) self.channel_info = channel_info self.padding_y = 15 self.padding_x = 10 self.line_height = 15 self.default_width = default_width self.init_size()
def __init__(self, window_width, window_height): ''' init docs ''' # Init. Window.__init__( self, # shadow_visible=False, shape_frame_function=self.shape_completion_window_frame, expose_frame_function=self.expose_completion_window_frame) self.window_width = window_width self.window_height = window_height self.window_offset_x = 8 self.window_offset_y = 34 self.align_size = 2 self.treeview = TreeView( [], enable_highlight=False, enable_multiple_select=False, enable_drag_drop=False, expand_column=0, ) self.treeview.scrolled_window.tag_by_popup_grab_window = True self.treeview_align = gtk.Alignment() self.treeview_align.set(0.5, 0.5, 1, 1) self.treeview_align.set_padding(self.align_size, self.align_size, self.align_size, self.align_size) self.treeview_align.add(self.treeview) self.treeview.connect("press-return", self.treeview_press_return) self.treeview.draw_mask = self.draw_mask self.window_frame.pack_start(self.treeview_align, True, True) self.connect("realize", self.realize_completion_window) self.get_scrolledwindow = self.get_scrolledwindow wrap_grab_window(completion_grab_window, self) completion_grab_window.connect("input-method-focus-in", self.input_method_focus_in) completion_grab_window.connect("input-method-commit", self.input_method_commit) self.keymap = { "Home": self.treeview.select_first_item, "End": self.treeview.select_last_item, "Page_Up": self.treeview.scroll_page_up, "Page_Down": self.treeview.scroll_page_down, "Up": self.treeview.select_prev_item, "Down": self.treeview.select_next_item, }
def __init__(self, default_width=27): Window.__init__(self, window_type=gtk.WINDOW_POPUP) self.set_size_request(default_width, 100) self.volume_slider = VScalebar(default_height=80) self.volume_slider.tag_by_popup_volume_grab_window = True main_align = gtk.Alignment() main_align.set_padding(5, 5, 5, 5) main_align.add(self.volume_slider) self.window_frame.pack_start(main_align) wrap_grab_window(volume_grab_window, self)
def __init__(self): Window.__init__(self, enable_resize=True) self.set_position(gtk.WIN_POS_CENTER) self.set_default_size(290, 512) titlebar = Titlebar(["min", "max", "close"], app_name="Baidu Hi for Linux") titlebar.min_button.connect("clicked", lambda w: self.min_window()) titlebar.max_button.connect("clicked", lambda w: self.toggle_max_window()) titlebar.close_button.connect("clicked", lambda w: gtk.main_quit()) self.add_move_event(titlebar.drag_box) self.add_toggle_event(titlebar.drag_box) banner_image = gtk.image_new_from_file(get_banner_image()) banner_box = set_widget_gravity(banner_image, (0,0,0,0), (10, 0, 0, 0)) user_box, self.user_entry = self.create_combo_entry("帐号:") passwd_box, self.passwd_entry = self.create_combo_entry("密码:") self.remember_passwd = CheckButton("记住密码") self.automatic_login = CheckButton("自动登录") self.status_box, self.status_combo_box = self.create_combo_widget("状态:", [(key, None) for key in "在线 忙碌 离开 隐身".split()], 0) check_box = gtk.HBox(spacing=10) check_box.pack_start(self.remember_passwd, False, False) check_box.pack_start(self.automatic_login, False, False) body_table = gtk.Table(5, 1) body_table.set_row_spacings(10) body_table.attach(banner_box, 0, 1, 0, 1, xoptions=gtk.FILL, yoptions=gtk.FILL) body_table.attach(user_box, 0, 1, 1, 2, xoptions=gtk.FILL, yoptions=gtk.FILL, xpadding=8) body_table.attach(passwd_box, 0, 1, 2, 3, xoptions=gtk.FILL, yoptions=gtk.FILL, xpadding=8) # body_table.attach(self.status_box, 0, 1, 3, 4, xoptions=gtk.FILL, yoptions=gtk.FILL, xpadding=8) body_table.attach(check_box, 0, 1, 4, 5, xoptions=gtk.FILL, yoptions=gtk.FILL) body_box_align = set_widget_gravity(set_widget_center(body_table), (1, 1, 0.5, 0.5), (0, 0, 30, 30)) self.login_button = Button("登录") self.login_button.set_size_request(95, 30) login_button_align = set_widget_gravity(set_widget_center(self.login_button), (1, 1, 0.5, 0.5), (30, 30, 0, 0)) main_box = gtk.VBox() main_box.connect("expose-event", self.draw_border_mask) main_box.pack_start(body_box_align, False, True) main_box.pack_start(login_button_align, False, True) self.window_frame.pack_start(titlebar, False, True) self.window_frame.pack_start(main_box)
def __init__(self, window_width, window_height): ''' init docs ''' # Init. Window.__init__( self, # shadow_visible=False, shape_frame_function=self.shape_completion_window_frame, expose_frame_function=self.expose_completion_window_frame) self.window_width = window_width self.window_height = window_height self.window_offset_x = 8 self.window_offset_y = 34 self.align_size = 2 self.treeview = TreeView( [], enable_highlight=False, enable_multiple_select=False, enable_drag_drop=False, expand_column=0, ) self.treeview.scrolled_window.tag_by_popup_grab_window = True self.treeview_align = gtk.Alignment() self.treeview_align.set(0.5, 0.5, 1, 1) self.treeview_align.set_padding(self.align_size, self.align_size, self.align_size, self.align_size) self.treeview_align.add(self.treeview) self.treeview.connect("press-return", self.treeview_press_return) self.treeview.draw_mask = self.draw_mask self.window_frame.pack_start(self.treeview_align, True, True) self.connect("realize", self.realize_completion_window) self.get_scrolledwindow = self.get_scrolledwindow wrap_grab_window(completion_grab_window, self) completion_grab_window.connect("input-method-focus-in", self.input_method_focus_in) completion_grab_window.connect("input-method-commit", self.input_method_commit) self.keymap = { "Home" : self.treeview.select_first_item, "End" : self.treeview.select_last_item, "Page_Up" : self.treeview.scroll_page_up, "Page_Down" : self.treeview.scroll_page_down, "Up" : self.treeview.select_prev_item, "Down" : self.treeview.select_next_item, }
def __init__(self, default_width=320, separate_text=" | "): Window.__init__(self, shadow_visible=False, shadow_radius=0, shape_frame_function=self.shape_panel_frame, expose_frame_function=self.expose_panel_frame, window_type=gtk.WINDOW_POPUP) self.set_size_request(300, 400) self.panel = gtk.Button() self.panel.tag_by_poup_panel_grab_window = True self.panel.add_events(gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK) self.panel.connect("expose-event", self.on_panel_expose_event) self.panel.connect("motion-notify-event", self.on_panel_motion_notify_event) self.panel.connect("button-press-event", self.on_panel_button_press_event) self.panel.connect("button-release-event", self.on_panel_button_release_event) # Init. self.padding_x = 10 self.padding_y = 5 self.separate_text = separate_text self.default_width = default_width self.separate_width, self.separate_height = get_content_size( self.separate_text) self.coords = {} self.range = namedtuple("coord", "start_x end_x start_y end_y") self.hover_item = None self.items = [] self.block_height = 5 self.item_interval_height = 12 # Redraw. self.redraw_delay = 100 # 100 milliseconds should be enough for redraw self.redraw_request_list = [] gobject.timeout_add(self.redraw_delay, self.update_redraw_request_list) self.window_frame.add(self.panel) # Wrap self in poup grab window. wrap_grab_window(popup_grab_window, self)
def __init__(self, default_width=320 ,separate_text=" | "): Window.__init__(self, shadow_visible=False, shadow_radius=0, shape_frame_function=self.shape_panel_frame, expose_frame_function=self.expose_panel_frame, window_type=gtk.WINDOW_POPUP) self.set_size_request(300, 400) self.panel = gtk.Button() self.panel.tag_by_poup_panel_grab_window = True self.panel.add_events(gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK) self.panel.connect("expose-event", self.on_panel_expose_event) self.panel.connect("motion-notify-event", self.on_panel_motion_notify_event) self.panel.connect("button-press-event", self.on_panel_button_press_event) self.panel.connect("button-release-event", self.on_panel_button_release_event) # Init. self.padding_x = 10 self.padding_y = 5 self.separate_text = separate_text self.default_width = default_width self.separate_width, self.separate_height = get_content_size(self.separate_text) self.coords = {} self.range = namedtuple("coord", "start_x end_x start_y end_y") self.hover_item = None self.items = [] self.block_height = 5 self.item_interval_height = 12 # Redraw. self.redraw_delay = 100 # 100 milliseconds should be enough for redraw self.redraw_request_list = [] gobject.timeout_add(self.redraw_delay, self.update_redraw_request_list) self.window_frame.add(self.panel) # Wrap self in poup grab window. wrap_grab_window(popup_grab_window, self)
def __init__(self): ''' init docs ''' Window.__init__(self, enable_resize=True) self.set_size_request(WINDOW_WIDTH, WINDOW_HEIGHT) self.set_position(gtk.WIN_POS_CENTER) self.set_skip_taskbar_hint(True) self.set_skip_pager_hint(True) self.resizable = True self.classified_items = None self.__init_pixbuf() self.main_box = gtk.VBox() self.titlebar_box = gtk.HBox() self.toolbar_box = gtk.HBox() self.toolbar_box.set_size_request(-1, TOOLBAR_HEIGHT) self.main_view_box = gtk.HBox() self.main_view_box.set_size_request(WINDOW_WIDTH, WINDOW_HEIGHT - TITLEBAR_HEIGHT - TOOLBAR_HEIGHT - 23) self.add_titlebar() self.treeview_box = gtk.VBox() self.main_view_box.pack_start(self.treeview_box, False, False) self.listview_box = gtk.VBox() self.main_view_box.pack_start(self.listview_box, True, True) self.refresh_view() #add treeview and listview self.main_box.pack_start(self.toolbar_box, False, False) # self.main_box.pack_start(self.main_view_box, False, False) self.main_box.pack_start(self.main_view_box, True, True) # self.main_box.connect("expose-event", self.on_main_box_expose_event) main_box_align = gtk.Alignment(0.5, 0.5, 1, 1) main_box_align.set_padding(2, 2, 2, 2) main_box_align.add(self.main_box) self.window_frame.pack_start(self.titlebar_box, False, False) self.window_frame.pack_start(main_box_align)
def __init__(self, window_width, window_height): ''' init docs ''' # Init. Window.__init__( self, shadow_visible=False, shadow_radius = 0, shape_frame_function=self.shape_completion_window_frame, expose_frame_function=self.expose_completion_window_frame, # window_type=gtk.WINDOW_POPUP, ) self.window_width = window_width self.window_height = window_height self.window_offset_x = 0 self.window_offset_y = 0 self.align_size = 2 self.treeview = TreeView( enable_highlight=False, enable_multiple_select=False, enable_drag_drop=False,) self.treeview.draw_mask = self.treeview_draw_mask self.treeview.scrolled_window.tag_by_popup_grab_window = True self.treeview_align = gtk.Alignment() self.treeview_align.set(0.5, 0.5, 1, 1) self.treeview_align.set_padding(self.align_size, self.align_size, self.align_size, self.align_size) self.treeview_align.add(self.treeview) self.window_frame.pack_start(self.treeview_align, True, True) self.connect("realize", self.realize_completion_window) self.get_scrolledwindow = self.get_scrolledwindow wrap_grab_window(completion_grab_window, self)
def __init__(self): ''' init docs ''' Window.__init__(self) self.window_width = 0 self.window_height = 0 self.max_columns = 4 self.max_rows = 3 self.iconview = IconView(mask_bound_height=0) self.iconview.draw_mask = self.draw_iconview_mask self.iconview.draw_background = self.draw_iconvew_background self.iconview_scrolledwindow = ScrolledWindow(0, 0) self.iconview_scrolledwindow.add_child(self.iconview) self.window_frame.add(self.iconview_scrolledwindow) self.connect("show", self.show_start_desktop_window) wrap_grab_window(start_desktop_grab_window, self)
def __init__(self): Window.__init__(self, window_type=gtk.WINDOW_POPUP, shape_frame_function=self.shape_mini_frame, expose_frame_function=self.expose_mini_frame) self.set_property("skip-pager-hint", True) self.set_property("skip-taskbar-hint", True) self.body_box = gtk.VBox() self.control_box = gtk.HBox() self.action_box = gtk.HBox() self.event_box = gtk.HBox() self.info_box = gtk.HBox() # Build info box self.logo_padding_left = 10 self.logo_padding_right = 10 logo_box = self.create_logo_box() logo_box_align = set_widget_gravity(logo_box, (0.5, 0.5, 0, 0), (0, 0, self.logo_padding_left, self.logo_padding_right)) self.playinfo = PlayInfo(239, None, 0, "#000000") self.info_box.pack_start(logo_box_align, False, False) self.info_box.pack_start(self.playinfo, False, False) # Build control box self.lyrics_button = self.create_lyrics_button() self.signal_auto = False if config.getboolean("lyrics", "status"): self.lyrics_button.set_active(True) self.signal_auto = True self.lyrics_padding_left = 10 self.lyrics_padding_right = 8 lyrics_button_align = set_widget_gravity(self.lyrics_button, (0.5, 0.5, 0, 0), (0, 0, self.lyrics_padding_left, self.lyrics_padding_right)) self.previous_button = self.create_button("previous") self.next_button = self.create_button("next") self.playpause_button = self.create_playpause_button() # swap played status handler self.__id_signal_play = self.playpause_button.connect("toggled", self.on_player_playpause) Player.connect("played", self.__swap_play_status, True) Player.connect("paused", self.__swap_play_status, False) Player.connect("stopped", self.__swap_play_status, False) Player.connect("play-end", self.__swap_play_status, False) self.volume_slider = VolumeSlider(auto_hide=False, mini_mode=True) self.volume_padding_left = 8 volume_slider_align = set_widget_gravity(self.volume_slider, (0.5, 0.5, 0, 0), (0, 0, self.volume_padding_left, 0)) self.action_box.pack_start(lyrics_button_align, False, False) self.action_box.pack_start(set_widget_vcenter(self.previous_button), False, False) self.action_box.pack_start(set_widget_vcenter(self.playpause_button), False, True) self.action_box.pack_start(set_widget_vcenter(self.next_button), False, False) self.action_box.pack_start(volume_slider_align, False, False) # Build event box. quell_button = QuellButton() quell_button.connect("clicked", self.on_quell_button_clicked) min_button = MinButton() min_button.connect("clicked", lambda w: self.min_window()) close_button = CloseButton() close_button.connect("clicked", self.try_to_quit) self.event_box.pack_start(quell_button, False, False) self.event_box.pack_start(min_button, False, False) self.event_box.pack_start(close_button, False, False) event_box_align = set_widget_gravity(self.event_box, paddings=(0, 0, 8, 0)) self.control_box.pack_start(self.action_box, False, True) self.control_box.pack_end(event_box_align, False, True) self.connect("configure-event", self.on_configure_event) self.connect("enter-notify-event", self.on_enter_notify_event) self.connect("leave-notify-event", self.on_leave_notify_event) self.connect("button-press-event", self.on_button_press_event) self.connect("motion-notify-event", self.on_motion_notify_event) self.connect("button-release-event", self.on_button_release_event) Dispatcher.connect("close-lyrics", lambda w : self.lyrics_button.set_active(False)) Dispatcher.connect("show-lyrics", lambda w: self.lyrics_button.set_active(True)) if config.get("mini", "x") == "-1": self.set_position(gtk.WIN_POS_CENTER) else: self.move(int(config.get("mini","x")),int(config.get("mini","y"))) # pixbufs self.info_pixbuf = None self.control_pixbuf = None self.body_box.add(self.info_box) self.window_frame.add(self.body_box) self.set_size_request(305, 40) # animation params. self.active_alpha = 1.0 self.target_alpha = 0.0 self.in_animation = False self.animation_time = 1000 self.animation_timeout_id = None self.draw_animation = False self.active_draw_func = None self.target_draw_func = None # drag params. self.drag_move = False self.old_x = self.old_y = self.mouse_x = self.mouse_y = 0