284 lines
18 KiB
Python
284 lines
18 KiB
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
# Copyright (C) 2007 Marcos Pinto ('markybob') <markybob@gmail.com>
|
|
#
|
|
# This file is part of Deluge and is licensed under GNU General Public License 3.0, or later, with
|
|
# the additional special exception to link portions of this program with the OpenSSL library.
|
|
# See LICENSE for more details.
|
|
#
|
|
|
|
import gtk
|
|
import pygtk
|
|
|
|
from deluge.common import get_pixmap, get_version, open_url_in_browser
|
|
from deluge.ui.client import client
|
|
from deluge.ui.gtkui.common import get_deluge_icon
|
|
|
|
pygtk.require('2.0')
|
|
|
|
|
|
class AboutDialog:
|
|
def __init__(self):
|
|
def url_hook(dialog, url):
|
|
open_url_in_browser(url)
|
|
gtk.about_dialog_set_url_hook(url_hook)
|
|
self.about = gtk.AboutDialog()
|
|
self.about.set_position(gtk.WIN_POS_CENTER)
|
|
self.about.set_name("Deluge")
|
|
self.about.set_program_name(_("Deluge"))
|
|
|
|
version = get_version()
|
|
|
|
self.about.set_copyright(
|
|
_("Copyright %(year_start)s-%(year_end)s Deluge Team") % {"year_start": 2007, "year_end": 2015})
|
|
self.about.set_comments(
|
|
_("A peer-to-peer file sharing program\nutilizing the BitTorrent protocol.")
|
|
+ "\n\n" + _("Client:") + " %s\n" % version)
|
|
self.about.set_version(version)
|
|
self.about.set_authors([
|
|
_("Current Developers:"), "Andrew Resch", "Damien Churchill",
|
|
"John Garland", "Calum Lind", "", "libtorrent (libtorrent.org):",
|
|
"Arvid Norberg", "", _("Past Developers or Contributors:"),
|
|
"Zach Tibbitts", "Alon Zakai", "Marcos Pinto", "Alex Dedul",
|
|
"Sadrul Habib Chowdhury", "Ido Abramovich", "Martijn Voncken"
|
|
])
|
|
self.about.set_artists(["Andrew Wedderburn", "Andrew Resch"])
|
|
self.about.set_translator_credits("\n".join([
|
|
"Aaron Wang Shi", "abbigss", "ABCdatos", "Abcx", "Actam", "Adam",
|
|
"adaminikisi", "adi_oporanu", "Adrian Goll", "afby", "Ahmades",
|
|
"Ahmad Farghal", "Ahmad Gharbeia أحمد غربية", "akira", "Aki Sivula",
|
|
"Alan Pepelko", "Alberto", "Alberto Ferrer", "alcatr4z", "AlckO",
|
|
"Aleksej Korgenkov", "Alessio Treglia", "Alexander Ilyashov",
|
|
"Alexander Matveev", "Alexander Saltykov", "Alexander Taubenkorb",
|
|
"Alexander Telenga", "Alexander Yurtsev", "Alexandre Martani",
|
|
"Alexandre Rosenfeld", "Alexandre Sapata Carbonell",
|
|
"Alexey Osipov", "Alin Claudiu Radut", "allah", "AlSim",
|
|
"Alvaro Carrillanca P.", "A.Matveev", "Andras Hipsag",
|
|
"András Kárász", "Andrea Ratto", "Andreas Johansson", "Andreas Str",
|
|
"André F. Oliveira", "AndreiF", "andrewh", "Angel Guzman Maeso",
|
|
"Aníbal Deboni Neto", "animarval", "Antonio Cono", "antoniojreyes",
|
|
"Anton Shestakov", "Anton Yakutovich", "antou",
|
|
"Arkadiusz Kalinowski", "Artin", "artir", "Astur",
|
|
"Athanasios Lefteris", "Athmane MOKRAOUI (ButterflyOfFire)",
|
|
"Augusta Carla Klug", "Avoledo Marco", "axaard", "AxelRafn",
|
|
"Axezium", "Ayont", "b3rx", "Bae Taegil", "Bajusz Tamás",
|
|
"Balaam's Miracle", "Ballestein", "Bent Ole Fosse", "berto89",
|
|
"bigx", "Bjorn Inge Berg", "blackbird", "Blackeyed", "blackmx",
|
|
"BlueSky", "Blutheo", "bmhm", "bob00work", "boenki",
|
|
"Bogdan Bădic-Spătariu", "bonpu", "Boone", "boss01",
|
|
"Branislav Jovanović", "bronze", "brownie", "Brus46", "bumper",
|
|
"butely", "BXCracer", "c0nfidencal", "Can Kaya",
|
|
"Carlos Alexandro Becker", "cassianoleal", "Cédric.h",
|
|
"César Rubén", "chaoswizard", "Chen Tao", "chicha",
|
|
"Chien Cheng Wei", "Christian Kopac", "Christian Widell",
|
|
"Christoffer Brodd-Reijer", "christooss", "CityAceE", "Clopy",
|
|
"Clusty", "cnu", "Commandant", "Constantinos Koniaris", "Coolmax",
|
|
"cosmix", "Costin Chirvasuta", "CoVaLiDiTy", "cow_2001",
|
|
"Crispin Kirchner", "crom", "Cruster", "Cybolic", "Dan Bishop",
|
|
"Danek", "Dani", "Daniel Demarco", "Daniel Ferreira",
|
|
"Daniel Frank", "Daniel Holm", "Daniel Høyer Iversen",
|
|
"Daniel Marynicz", "Daniel Nylander", "Daniel Patriche",
|
|
"Daniel Schildt", "Daniil Sorokin", "Dante Díaz", "Daria Michalska",
|
|
"DarkenCZ", "Darren", "Daspah", "David Eurenius", "davidhjelm",
|
|
"David Machakhelidze", "Dawid Dziurdzia", "Daya Adianto ", "dcruz",
|
|
"Deady", "Dereck Wonnacott", "Devgru", "Devid Antonio Filoni"
|
|
"DevilDogTG", "di0rz`", "Dialecti Valsamou", "Diego Medeiros",
|
|
"Dkzoffy", "Dmitrij D. Czarkoff", "Dmitriy Geels",
|
|
"Dmitry Olyenyov", "Dominik Kozaczko", "Dominik Lübben", "doomster",
|
|
"Dorota Król", "Doyen Philippe", "Dread Knight", "DreamSonic",
|
|
"duan", "Duong Thanh An", "DvoglavaZver", "dwori", "dylansmrjones",
|
|
"Ebuntor", "Edgar Alejandro Jarquin Flores", "Eetu", "ekerazha",
|
|
"Elias Julkunen", "elparia", "Emberke", "Emiliano Goday Caneda",
|
|
"EndelWar", "eng.essam", "enubuntu", "ercangun", "Erdal Ronahi",
|
|
"ergin üresin", "Eric", "Éric Lassauge", "Erlend Finvåg", "Errdil",
|
|
"ethan shalev", "Evgeni Spasov", "ezekielnin", "Fabian Ordelmans",
|
|
"Fabio Mazanatti", "Fábio Nogueira", "FaCuZ", "Felipe Lerena",
|
|
"Fernando Pereira", "fjetland", "Florian Schäfer", "FoBoS", "Folke",
|
|
"Force", "fosk", "fragarray", "freddeg", "Frédéric Perrin",
|
|
"Fredrik Kilegran", "FreeAtMind", "Fulvio Ciucci", "Gabor Kelemen",
|
|
"Galatsanos Panagiotis", "Gaussian", "gdevitis", "Georg Brzyk",
|
|
"George Dumitrescu", "Georgi Arabadjiev", "Georg Sieber",
|
|
"Gerd Radecke", "Germán Heusdens", "Gianni Vialetto",
|
|
"Gigih Aji Ibrahim", "Giorgio Wicklein", "Giovanni Rapagnani",
|
|
"Giuseppe", "gl", "glen", "granjerox", "Green Fish", "greentea",
|
|
"Greyhound", "G. U.", "Guillaume BENOIT", "Guillaume Pelletier",
|
|
"Gustavo Henrique Klug", "gutocarvalho", "Guybrush88",
|
|
"Hans Rødtang", "HardDisk", "Hargas Gábor",
|
|
"Heitor Thury Barreiros Barbosa", "helios91940", "helix84",
|
|
"Helton Rodrigues", "Hendrik Luup", "Henrique Ferreiro",
|
|
"Henry Goury-Laffont", "Hezy Amiel", "hidro", "hoball", "hokten",
|
|
"Holmsss", "hristo.num", "Hubert Życiński", "Hyo", "Iarwain", "ibe",
|
|
"ibear", "Id2ndR", "Igor Zubarev", "IKON (Ion)", "imen",
|
|
"Ionuț Jula", "Isabelle STEVANT", "István Nyitrai", "Ivan Petrovic",
|
|
"Ivan Prignano", "IvaSerge", "jackmc", "Jacks0nxD", "Jack Shen",
|
|
"Jacky Yeung", "Jacques Stadler", "Janek Thomaschewski", "Jan Kaláb",
|
|
"Jan Niklas Hasse", "Jasper Groenewegen", "Javi Rodríguez",
|
|
"Jayasimha (ಜಯಸಿಂಹ)", "jeannich", "Jeff Bailes", "Jesse Zilstorff",
|
|
"Joan Duran", "João Santos", "Joar Bagge", "Joe Anderson",
|
|
"Joel Calado", "Johan Linde", "John Garland", "Jojan", "jollyr0ger",
|
|
"Jonas Bo Grimsgaard", "Jonas Granqvist", "Jonas Slivka",
|
|
"Jonathan Zeppettini", "Jørgen", "Jørgen Tellnes", "josé",
|
|
"José Geraldo Gouvêa", "José Iván León Islas", "José Lou C.",
|
|
"Jose Sun", "Jr.", "Jukka Kauppinen", "Julián Alarcón",
|
|
"julietgolf", "Jusic", "Justzupi", "Kaarel", "Kai Thomsen",
|
|
"Kalman Tarnay", "Kamil Páral", "Kane_F", "kaotiks@gmail.com",
|
|
"Kateikyoushii", "kaxhinaz", "Kazuhiro NISHIYAMA", "Kerberos",
|
|
"Keresztes Ákos", "kevintyk", "kiersie", "Kimbo^", "Kim Lübbe",
|
|
"kitzOgen", "Kjetil Rydland", "kluon", "kmikz", "Knedlyk",
|
|
"koleoptero", "Kőrösi Krisztián", "Kouta", "Krakatos",
|
|
"Krešo Kunjas", "kripken", "Kristaps", "Kristian Øllegaard",
|
|
"Kristoffer Egil Bonarjee", "Krzysztof Janowski",
|
|
"Krzysztof Zawada", "Larry Wei Liu", "laughterwym", "Laur Mõtus",
|
|
"lazka", "leandrud", "lê bình", "Le Coz Florent", "Leo", "liorda",
|
|
"LKRaider", "LoLo_SaG", "Long Tran", "Lorenz", "Low Kian Seong",
|
|
"Luca Andrea Rossi", "Luca Ferretti", "Lucky LIX", "Luis Gomes",
|
|
"Luis Reis", "Łukasz Wyszyński", "luojie-dune", "maaark",
|
|
"Maciej Chojnacki", "Maciej Meller", "Mads Peter Rommedahl",
|
|
"Major Kong", "Malaki", "malde", "Malte Lenz", "Mantas Kriaučiūnas",
|
|
"Mara Sorella", "Marcin", "Marcin Falkiewicz", "marcobra",
|
|
"Marco da Silva", "Marco de Moulin", "Marco Rodrigues", "Marcos",
|
|
"Marcos Escalier", "Marcos Pinto", "Marcus Ekstrom",
|
|
"Marek Dębowski", "Mário Buči", "Mario Munda", "Marius Andersen",
|
|
"Marius Hudea", "Marius Mihai", "Mariusz Cielecki",
|
|
"Mark Krapivner", "marko-markovic", "Markus Brummer",
|
|
"Markus Sutter", "Martin", "Martin Dybdal", "Martin Iglesias",
|
|
"Martin Lettner", "Martin Pihl", "Masoud Kalali", "mat02",
|
|
"Matej Urbančič", "Mathias-K", "Mathieu Arès",
|
|
"Mathieu D. (MatToufoutu)", "Mathijs", "Matrik", "Matteo Renzulli",
|
|
"Matteo Settenvini", "Matthew Gadd", "Matthias Benkard",
|
|
"Matthias Mailänder", "Mattias Ohlsson", "Mauro de Carvalho",
|
|
"Max Molchanov", "Me", "MercuryCC", "Mert Bozkurt", "Mert Dirik",
|
|
"MFX", "mhietar", "mibtha", "Michael Budde", "Michael Kaliszka",
|
|
"Michalis Makaronides", "Michał Tokarczyk", "Miguel Pires da Rosa",
|
|
"Mihai Capotă", "Miika Metsälä", "Mikael Fernblad", "Mike Sierra",
|
|
"mikhalek", "Milan Prvulović", "Milo Casagrande", "Mindaugas",
|
|
"Miroslav Matejaš", "misel", "mithras", "Mitja Pagon", "M.Kitchen",
|
|
"Mohamed Magdy", "moonkey", "MrBlonde", "muczy", "Münir Ekinci",
|
|
"Mustafa Temizel", "mvoncken", "Mytonn", "NagyMarton", "neaion",
|
|
"Neil Lin", "Nemo", "Nerijus Arlauskas", "Nicklas Larsson",
|
|
"Nicolaj Wyke", "Nicola Piovesan", "Nicolas Sabatier",
|
|
"Nicolas Velin", "Nightfall", "NiKoB", "Nikolai M. Riabov",
|
|
"Niko_Thien", "niska", "Nithir", "noisemonkey", "nomemohes",
|
|
"nosense", "null", "Nuno Estêvão", "Nuno Santos", "nxxs", "nyo",
|
|
"obo", "Ojan", "Olav Andreas Lindekleiv", "oldbeggar",
|
|
"Olivier FAURAX", "orphe", "osantana", "Osman Tosun", "OssiR",
|
|
"otypoks", "ounn", "Oz123", "Özgür BASKIN", "Pablo Carmona A.",
|
|
"Pablo Ledesma", "Pablo Navarro Castillo", "Paco Molinero",
|
|
"Pål-Eivind Johnsen", "pano", "Paolo Naldini", "Paracelsus",
|
|
"Patryk13_03", "Patryk Skorupa", "PattogoTehen", "Paul Lange",
|
|
"Pavcio", "Paweł Wysocki", "Pedro Brites Moita",
|
|
"Pedro Clemente Pereira Neto", "Pekka \"PEXI\" Niemistö", "Penegal",
|
|
"Penzo", "perdido", "Peter Kotrcka", "Peter Skov",
|
|
"Peter Van den Bosch", "Petter Eklund", "Petter Viklund",
|
|
"phatsphere", "Phenomen", "Philipi", "Philippides Homer", "phoenix",
|
|
"pidi", "Pierre Quillery", "Pierre Rudloff", "Pierre Slamich",
|
|
"Pietrao", "Piotr Strębski", "Piotr Wicijowski", "Pittmann Tamás",
|
|
"Playmolas", "Prescott", "Prescott_SK", "pronull",
|
|
"Przemysław Kulczycki", "Pumy", "pushpika", "PY", "qubicllj",
|
|
"r21vo", "Rafał Barański", "rainofchaos", "Rajbir", "ras0ir", "Rat",
|
|
"rd1381", "Renato", "Rene Hennig", "Rene Pärts", "Ricardo Duarte",
|
|
"Richard", "Robert Hrovat", "Roberth Sjonøy", "Robert Lundmark",
|
|
"Robin Jakobsson", "Robin Kåveland", "Rodrigo Donado",
|
|
"Roel Groeneveld", "rohmaru", "Rolf Christensen", "Rolf Leggewie",
|
|
"Roni Kantis", "Ronmi", "Rostislav Raykov", "royto", "RuiAmaro",
|
|
"Rui Araújo", "Rui Moura", "Rune Svendsen", "Rusna", "Rytis",
|
|
"Sabirov Mikhail", "salseeg", "Sami Koskinen", "Samir van de Sand",
|
|
"Samuel Arroyo Acuña", "Samuel R. C. Vale", "Sanel", "Santi",
|
|
"Santi Martínez Cantelli", "Sardan", "Sargate Kanogan",
|
|
"Sarmad Jari", "Saša Bodiroža", "sat0shi", "Saulius Pranckevičius",
|
|
"Savvas Radevic", "Sebastian Krauß", "Sebastián Porta", "Sedir",
|
|
"Sefa Denizoğlu", "sekolands", "Selim Suerkan", "semsomi",
|
|
"Sergii Golovatiuk", "setarcos", "Sheki", "Shironeko", "Shlomil",
|
|
"silfiriel", "Simone Tolotti", "Simone Vendemia", "sirkubador",
|
|
"Sławomir Więch", "slip", "slyon", "smoke", "Sonja", "spectral",
|
|
"spin_555", "spitf1r3", "Spiziuz", "Spyros Theodoritsis", "SqUe",
|
|
"Squigly", "srtck", "Stefan Horning", "Stefano Maggiolo",
|
|
"Stefano Roberto Soleti", "steinberger", "Stéphane Travostino",
|
|
"Stephan Klein", "Steven De Winter", "Stevie", "Stian24", "stylius",
|
|
"Sukarn Maini", "Sunjae Park", "Susana Pereira", "szymon siglowy",
|
|
"takercena", "TAS", "Taygeto", "temy4", "texxxxxx", "thamood",
|
|
"Thanos Chatziathanassiou", "Tharawut Paripaiboon", "Theodoor",
|
|
"Théophane Anestis", "Thor Marius K. Høgås", "Tiago Silva",
|
|
"Tiago Sousa", "Tikkel", "tim__b", "Tim Bordemann", "Tim Fuchs",
|
|
"Tim Kornhammar", "Timo", "Timo Jyrinki", "Timothy Babych",
|
|
"TitkosRejtozo", "Tom", "Tomas Gustavsson", "Tomas Valentukevičius",
|
|
"Tomasz Dominikowski", "Tomislav Plavčić", "Tom Mannerhagen",
|
|
"Tommy Mikkelsen", "Tom Verdaat", "Tony Manco",
|
|
"Tor Erling H. Opsahl", "Toudi", "tqm_z", "Trapanator", "Tribaal",
|
|
"Triton", "TuniX12", "Tuomo Sipola", "turbojugend_gr", "Turtle.net",
|
|
"twilight", "tymmej", "Ulrik", "Umarzuki Mochlis", "unikob",
|
|
"Vadim Gusev", "Vagi", "Valentin Bora", "Valmantas Palikša",
|
|
"VASKITTU", "Vassilis Skoullis", "vetal17", "vicedo", "viki",
|
|
"villads hamann", "Vincent Garibal", "Vincent Ortalda", "vinchi007",
|
|
"Vinícius de Figueiredo Silva", "Vinzenz Vietzke", "virtoo",
|
|
"virtual_spirit", "Vitor Caike", "Vitor Lamas Gatti",
|
|
"Vladimir Lazic", "Vladimir Sharshov", "Wanderlust", "Wander Nauta",
|
|
"Ward De Ridder", "WebCrusader", "webdr", "Wentao Tang", "wilana",
|
|
"Wilfredo Ernesto Guerrero Campos", "Wim Champagne", "World Sucks",
|
|
"Xabi Ezpeleta", "Xavi de Moner", "XavierToo", "XChesser",
|
|
"Xiaodong Xu", "xyb", "Yaron", "Yasen Pramatarov", "YesPoX",
|
|
"Yuren Ju", "Yves MATHIEU", "zekopeko", "zhuqin", "Zissan",
|
|
"Γιάννης Κατσαμπίρης", "Артём Попов", "Миша", "Шаймарданов Максим",
|
|
"蔡查理"
|
|
]))
|
|
self.about.set_wrap_license(True)
|
|
self.about.set_license(_(
|
|
"This program is free software; you can redistribute it and/or "
|
|
"modify it under the terms of the GNU General Public License as "
|
|
"published by the Free Software Foundation; either version 3 of "
|
|
"the License, or (at your option) any later version. \n\n"
|
|
"This program "
|
|
"is distributed in the hope that it will be useful, but WITHOUT "
|
|
"ANY WARRANTY; without even the implied warranty of "
|
|
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU "
|
|
"General Public License for more details. \n\n"
|
|
"You should have received "
|
|
"a copy of the GNU General Public License along with this program; "
|
|
"if not, see <http://www.gnu.org/licenses>. \n\n"
|
|
"In addition, as a "
|
|
"special exception, the copyright holders give permission to link "
|
|
"the code of portions of this program with the OpenSSL library. "
|
|
"You must obey the GNU General Public License in all respects for "
|
|
"all of the code used other than OpenSSL. \n\n"
|
|
"If you modify file(s) "
|
|
"with this exception, you may extend this exception to your "
|
|
"version of the file(s), but you are not obligated to do so. If "
|
|
"you do not wish to do so, delete this exception statement from "
|
|
"your version. If you delete this exception statement from all "
|
|
"source files in the program, then also delete it here."
|
|
))
|
|
self.about.set_website("http://deluge-torrent.org")
|
|
self.about.set_website_label("deluge-torrent.org")
|
|
|
|
self.about.set_icon(get_deluge_icon())
|
|
self.about.set_logo(gtk.gdk.pixbuf_new_from_file(get_pixmap("deluge-about.png")))
|
|
|
|
if client.connected():
|
|
if not client.is_classicmode():
|
|
self.about.set_comments(
|
|
self.about.get_comments() + _("Server:") + " %coreversion%\n")
|
|
|
|
self.about.set_comments(
|
|
self.about.get_comments() + "\n" + _("libtorrent:") + " %ltversion%\n")
|
|
|
|
def on_lt_version(result):
|
|
c = self.about.get_comments()
|
|
c = c.replace("%ltversion%", result)
|
|
self.about.set_comments(c)
|
|
|
|
def on_info(result):
|
|
c = self.about.get_comments()
|
|
c = c.replace("%coreversion%", result)
|
|
self.about.set_comments(c)
|
|
client.core.get_libtorrent_version().addCallback(on_lt_version)
|
|
|
|
if not client.is_classicmode():
|
|
client.daemon.info().addCallback(on_info)
|
|
else:
|
|
client.core.get_libtorrent_version().addCallback(on_lt_version)
|
|
|
|
def run(self):
|
|
self.about.show_all()
|
|
self.about.run()
|
|
self.about.destroy()
|