亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? btdownloadgui.py

?? BT的原代碼
?? PY
?? 第 1 頁 / 共 5 頁
字號:
        self.cancelbutton = gtk.Button()        self.cancelimage = gtk.Image()        if self.completion is not None and self.completion >= 1:            self.cancelimage.set_from_stock('bt-remove', gtk.ICON_SIZE_BUTTON)            self.main.tooltips.set_tip(self.cancelbutton,                                       'Remove torrent')        else:            self.cancelimage.set_from_stock(gtk.STOCK_CANCEL, gtk.ICON_SIZE_BUTTON)            self.main.tooltips.set_tip(self.cancelbutton,                                       'Abort torrent')                    self.cancelbutton.add(self.cancelimage)        self.cancelbutton.connect('clicked', self.confirm_remove)                self.buttonbox.pack_start(self.cancelbutton, expand=True, fill=False)        self.buttonevbox.add(self.buttonbox)        vbuttonbox = gtk.VBox(homogeneous=False)        vbuttonbox.pack_start(self.buttonevbox, expand=False, fill=False)        self.hbox.pack_end(vbuttonbox, expand=False, fill=False)        self.infobox.pack_start(self.progressbarbox, expand=False, fill=False)        self.hbox.pack_start(self.infobox, expand=True, fill=True)        self.add( self.vbox )        self.drag_source_set(gtk.gdk.BUTTON1_MASK,                             [BT_TARGET],                             gtk.gdk.ACTION_MOVE)        self.connect('drag_data_get', self.drag_data_get)        self.connect('drag_begin' , self.drag_begin )        self.connect('drag_end'   , self.drag_end   )        self.cursor_handler_id = self.connect('enter_notify_event', self.change_cursors)    def reset_progressbar_color(self):        # Hack around broken GTK-Wimp theme:        # make progress bar text always black        # see task #694        if is_frozen_exe and self.main.config['progressbar_hack']:            style = self.progressbar.get_style().copy()            black = style.black            self.progressbar.modify_fg(gtk.STATE_PRELIGHT, black)            def change_cursors(self, *args):        # BUG: this is in a handler that is disconnected because the        # window attributes are None until after show_all() is called        self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND2))        self.buttonevbox.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))        self.disconnect(self.cursor_handler_id)            def drag_data_get(self, widget, context, selection, targetType, eventTime):        selection.set(selection.target, 8, self.infohash)    def drag_begin(self, *args):        pass    def drag_end(self, *args):        self.main.drag_end()    def make_done_label(self, statistics=None):        s = ''        if statistics and statistics['timeEst'] is not None:            s = ', will seed for %s' % Duration(statistics['timeEst'])        elif statistics:            s = ', will seed indefinitely.'        if self.up_down_ratio is not None:            done_label = 'Done, share ratio: %d%%' % \                         (self.up_down_ratio*100) + s        elif statistics is not None:            done_label = 'Done, %s uploaded' % \                         Size(statistics['upTotal']) + s        else:            done_label = 'Done'        return done_label            def set_name(self):        max_title_width = 560        self.label.set_text(self.metainfo.name)        if self.label.size_request()[0] > max_title_width:            self.label.set_size_request(max_title_width, -1)    def make_menu(self):        filelistfunc = None        if self.is_batch:            filelistfunc = self.open_filelist        menu_items = [("Torrent _info", self.open_info),]        if OpenPath.can_open_files:            func = None            if self.can_open_dir():                func = self.open_dir            menu_items += [('_Open directory', func), ]        menu_items += [('----', None),                       ("_File list"  , filelistfunc),]        self.menu = build_menu(menu_items+self.menu_items)                        self.menu_handler = self.connect_object("event", self.show_menu, self.menu)            def open_info(self, widget=None):        if self.infowindow is None:            self.infowindow = TorrentInfoWindow(self, self.infoclosed)        def infoclosed(self, widget=None):        self.infowindow = None    def close_info(self):        if self.infowindow is not None:            self.infowindow.close()    def open_filelist(self, widget):        if not self.is_batch:            return        if self.filelistwindow is None:            self.filelistwindow = FileListWindow(self.metainfo,                                                 self.filelistclosed)            self.main.torrentqueue.check_completion(self.infohash, True)    def filelistclosed(self, widget):        self.filelistwindow = None    def close_filelist(self):        if self.filelistwindow is not None:            self.filelistwindow.close()    def close_child_windows(self):        self.close_info()        self.close_filelist()    def destroy(self):        if self.menu is not None:            self.menu.destroy()        self.menu = None        gtk.EventBox.destroy(self)    def show_menu(self, widget, event):        if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:            widget.popup(None, None, None, event.button, event.time)            return gtk.TRUE        return gtk.FALSE    def _short_path(self, dlpath):        path_length = 40        sep = '...'        ret = os.path.split(dlpath)[0]        if len(ret) > path_length+len(sep):            return ret[:int(path_length/2)]+sep+ret[-int(path_length/2):]        else:            return ret    def get_path_to_open(self):        path = self.dlpath        if not self.is_batch:            path = os.path.split(self.dlpath)[0]        return path    def can_open_dir(self):        return os.access(self.get_path_to_open(), os.F_OK|os.R_OK)            def open_dir(self, widget):        OpenPath.opendir(self.get_path_to_open())    def confirm_remove(self, widget):        message = 'Are you sure you want to remove "%s"?' % self.metainfo.name        if self.completion >= 1:            if self.up_down_ratio is not None:                message = 'Your share ratio for this torrent is %d%%. '%(self.up_down_ratio*100) + message            else:                message = 'You have uploaded %s to this torrent. '%(Size(self.uptotal)) + message                    d = MessageDialog(self.main.mainwindow,                          'Remove this torrent?',                          message,                           type=gtk.MESSAGE_QUESTION,                          buttons=gtk.BUTTONS_OK_CANCEL,                          yesfunc=self.remove,                          )    def remove(self):        self.main.torrentqueue.remove_torrent(self.infohash)class KnownTorrentBox(TorrentBox):    def __init__(self, infohash, metainfo, dlpath, completion, main):        TorrentBox.__init__(self, infohash, metainfo, dlpath, completion, main)        status_tip = ''        if completion >= 1:            self.icon.set_from_stock('bt-finished', gtk.ICON_SIZE_LARGE_TOOLBAR)            status_tip = 'Finished'            known_torrent_dnd_tip = 'drag into list to seed'        else:            self.icon.set_from_stock('bt-broken', gtk.ICON_SIZE_LARGE_TOOLBAR)            status_tip = 'Failed'            known_torrent_dnd_tip = 'drag into list to resume'        self.main.tooltips.set_tip(self.iconevbox,                                   torrent_tip_format % (status_tip,                                                         known_torrent_dnd_tip,                                                         torrent_menu_tip))        self.menu_items = [('----', None),                           #('Move to _start', self.move_to_start),                           ('Re_start'  , self.move_to_end  ),                           ('_Remove' , self.confirm_remove),                           ]        self.make_menu()        self.show_all()    def move_to_end(self, widget):        self.main.change_torrent_state(self.infohash, QUEUED)        class DroppableTorrentBox(TorrentBox):    def __init__(self, infohash, metainfo, dlpath, completion, main):        TorrentBox.__init__(self, infohash, metainfo, dlpath, completion, main)        self.drag_dest_set(gtk.DEST_DEFAULT_DROP,                           [BT_TARGET,],                           gtk.gdk.ACTION_MOVE)        self.connect('drag_data_received', self.drag_data_received)        self.connect('drag_motion', self.drag_motion)        self.index = None    def drag_data_received(self, widget, context, x, y, selection, targetType, time):        half_height = self.size_request()[1] // 2        where = cmp(y, half_height)        if where == 0: where = 1        self.parent.put_infohash_at_child(selection.data, self, where)    def drag_motion(self, widget, context, x, y, time):        self.get_current_index()        half_height = self.size_request()[1] // 2        if y < half_height:             self.parent.highlight_before_index(self.index)        else:            self.parent.highlight_after_index(self.index)        return gtk.FALSE    def drag_end(self, *args):        self.parent.highlight_child()        TorrentBox.drag_end(self, *args)    def get_current_index(self):        self.index = self.parent.get_index_from_child(self)class QueuedTorrentBox(DroppableTorrentBox):    icon_name = 'bt-queued'    state_name = 'Waiting'    def __init__(self, infohash, metainfo, dlpath, completion, main):        DroppableTorrentBox.__init__(self, infohash, metainfo, dlpath, completion, main)        self.main.tooltips.set_tip(self.iconevbox,                                   torrent_tip_format % (self.state_name,                                                         main_torrent_dnd_tip,                                                         torrent_menu_tip))        self.icon.set_from_stock(self.icon_name, gtk.ICON_SIZE_LARGE_TOOLBAR)        self.menu_items = [#('----', None),                           #("Change _location" , None),                           #("Start hash check", None),                           ("----"            , None),                           ('Download _now', self.start),                           ]        if self.completion is not None and self.completion >= 1:            self.menu_items += [('_Finish', self.finish),]            self.menu_items += [('_Remove', self.confirm_remove),]        else:            self.menu_items += [('_Abort', self.confirm_remove),]                    self.make_menu()        self.show_all()    def start(self, widget):        self.main.runbox.put_infohash_last(self.infohash)    def finish(self, widget):        self.main.change_torrent_state(self.infohash, KNOWN)class PausedTorrentBox(DroppableTorrentBox):    icon_name = 'bt-paused'    state_name = 'Paused'    def __init__(self, infohash, metainfo, dlpath, completion, main):        DroppableTorrentBox.__init__(self, infohash, metainfo, dlpath, completion, main)        self.main.tooltips.set_tip(self.iconevbox,                                   torrent_tip_format % (self.state_name,                                                         main_torrent_dnd_tip,                                                         torrent_menu_tip))        self.icon.set_from_stock(self.icon_name, gtk.ICON_SIZE_LARGE_TOOLBAR)                menu_items = [("Download _later", self.move_to_end   ),                      ("_Abort"        , self.confirm_remove),                      ]        if self.completion >= 1:            menu_items = [("_Finish", self.finish),                          ("_Remove", self.confirm_remove),                          ]        self.menu_items = [("----", None), ] + menu_items        self.make_menu()        self.show_all()    def move_to_end(self, widget):        self.main.change_torrent_state(self.infohash, QUEUED)    def finish(self, widget):        self.main.change_torrent_state(self.infohash, KNOWN)class RunningTorrentBox(DroppableTorrentBox):    def __init__(self, infohash, metainfo, dlpath, completion, main):        DroppableTorrentBox.__init__(self, infohash, metainfo, dlpath, completion, main)        self.main.tooltips.set_tip(self.iconevbox,                                   torrent_tip_format % ('Running',                                                         main_torrent_dnd_tip,                                   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月婷婷久久综合| 26uuu久久天堂性欧美| 中文字幕一区免费在线观看| 国产精品一线二线三线精华| 国产三级精品在线| 99re这里都是精品| 亚洲电影在线免费观看| 欧美美女一区二区| 狠狠色丁香婷综合久久| 中文字幕巨乱亚洲| 91久久精品一区二区三区| 丝袜亚洲另类欧美综合| 欧美日本一区二区三区四区| 精品一区二区三区久久| 国产女主播在线一区二区| 99精品视频一区| 日韩精品三区四区| 久久理论电影网| 91猫先生在线| 久久精品国产精品青草| 日本一区二区三区四区在线视频| 色综合久久中文综合久久97| 亚洲国产乱码最新视频| 久久婷婷一区二区三区| 91福利社在线观看| 精品一二线国产| 亚洲视频一区二区在线| 日韩午夜中文字幕| 99免费精品视频| 美女免费视频一区二区| 亚洲国产成人私人影院tom | 国产乱妇无码大片在线观看| 亚洲欧美日韩系列| 日韩一区二区免费在线观看| www.日韩精品| 麻豆精品一区二区三区| 亚洲另类在线一区| 精品久久人人做人人爱| 欧美亚洲综合在线| 成人a区在线观看| 麻豆91精品视频| 亚洲精品福利视频网站| 久久综合av免费| 欧美日韩一区三区| www.亚洲免费av| 国内精品国产成人| 天堂在线一区二区| 中文字幕av免费专区久久| 日韩午夜在线播放| 在线看日韩精品电影| 成人免费毛片片v| 六月丁香婷婷色狠狠久久| 一区二区三区四区精品在线视频| 久久久久国色av免费看影院| 7777精品伊人久久久大香线蕉经典版下载| 99精品视频一区二区| 国产福利一区二区三区在线视频| 日本女人一区二区三区| 亚洲一区二区三区美女| 综合婷婷亚洲小说| 国产欧美久久久精品影院| 欧美成人一级视频| 欧美日韩国产片| 欧美自拍偷拍午夜视频| 色综合中文字幕国产 | 国产一区二区三区观看| 亚洲大片在线观看| 亚洲激情一二三区| 中文字幕一区二区三区精华液| 久久久亚洲精华液精华液精华液 | 一区二区三区免费| 亚洲视频在线观看三级| 中文字幕在线一区二区三区| 国产日韩三级在线| 中文字幕av在线一区二区三区| 国产亚洲一二三区| 国产欧美日韩三级| 国产精品久久久久aaaa| 国产精品国产自产拍高清av| 久久精品夜夜夜夜久久| 欧美激情一区二区在线| 久久夜色精品一区| 久久久91精品国产一区二区精品 | 日韩高清不卡在线| 亚洲综合色成人| 亚洲精品视频一区二区| 亚洲欧美偷拍卡通变态| 亚洲精品一卡二卡| 亚洲国产日日夜夜| 亚洲国产精品一区二区www在线 | 久久久久亚洲综合| 精品久久久久久综合日本欧美| 精品国产伦一区二区三区观看体验| 日韩一区二区影院| 日韩欧美一区二区三区在线| 精品国产乱码久久久久久闺蜜| 久久日韩粉嫩一区二区三区| 久久久噜噜噜久久中文字幕色伊伊 | 成人av在线观| 色哟哟在线观看一区二区三区| 欧美日韩一区三区四区| 欧美二区三区91| 欧美一二三在线| 久久久久久久av麻豆果冻| 欧美激情一区在线观看| 一区二区三区免费观看| 首页综合国产亚洲丝袜| 国产麻豆精品theporn| 91免费看视频| 欧美日韩一区二区在线观看| 欧美日韩卡一卡二| 久久色在线观看| 亚洲女与黑人做爰| 日韩成人一区二区| 日本网站在线观看一区二区三区| 国产一区二区成人久久免费影院| 92精品国产成人观看免费| 在线中文字幕一区| 精品美女在线观看| 亚洲精品视频一区| 麻豆91免费看| 91在线精品秘密一区二区| 欧美日产在线观看| 欧美激情在线免费观看| 亚洲精品欧美专区| 秋霞av亚洲一区二区三| 成人app软件下载大全免费| 91 com成人网| 欧美国产一区视频在线观看| 亚洲精品写真福利| 国产一区二区剧情av在线| 欧美在线不卡一区| 久久久久久亚洲综合| 亚洲一本大道在线| 国产精品中文字幕日韩精品| 欧美做爰猛烈大尺度电影无法无天| 久久久电影一区二区三区| 日韩精品电影在线| 日本精品一级二级| 久久精品亚洲精品国产欧美kt∨| 丝袜美腿高跟呻吟高潮一区| 91影视在线播放| 国产日韩精品一区二区三区在线| 日本一区中文字幕| 欧美亚洲高清一区二区三区不卡| 国产精品久久久久影院色老大| 乱中年女人伦av一区二区| 欧美三级日本三级少妇99| 亚洲人妖av一区二区| 国产九色精品成人porny| 337p日本欧洲亚洲大胆精品| 洋洋av久久久久久久一区| 盗摄精品av一区二区三区| 亚洲精品一区二区三区影院| 日韩综合在线视频| 欧美精品自拍偷拍动漫精品| 亚洲综合视频网| 在线观看日韩av先锋影音电影院| 亚洲人成在线观看一区二区| 99精品国产热久久91蜜凸| 欧美激情中文字幕| 高清不卡一区二区| 日本一区二区三区高清不卡| 国产精品资源在线观看| 久久久另类综合| 色综合一区二区三区| 亚洲女爱视频在线| 色综合天天综合狠狠| 综合久久综合久久| 色综合视频在线观看| 日韩伦理av电影| 一本色道**综合亚洲精品蜜桃冫| 亚洲婷婷综合久久一本伊一区| 成人黄色一级视频| 亚洲欧美色图小说| 欧美丝袜自拍制服另类| 五月天视频一区| 91精品国产日韩91久久久久久| 日韩国产一二三区| 91精品国产色综合久久久蜜香臀| 欧美a一区二区| 精品国产网站在线观看| 高清在线观看日韩| 亚洲色图欧洲色图婷婷| 色婷婷av一区| 日本午夜精品视频在线观看| 久久先锋影音av| 99久久精品国产观看| 亚洲国产精品精华液网站| 欧美一区二区成人| 国产精品亚洲一区二区三区在线| 欧美激情综合在线| 欧洲生活片亚洲生活在线观看| 日韩电影一区二区三区四区| 久久只精品国产| 97久久精品人人澡人人爽| 视频在线观看国产精品| 国产日韩欧美激情| 91九色最新地址| 国产一区二区三区香蕉|