mirror of
https://github.com/codex-storage/deluge.git
synced 2025-01-14 13:34:21 +00:00
Various interface improvements.
Initial import of SideBar.
This commit is contained in:
parent
2815d8f19f
commit
fe33a72022
@ -52,7 +52,7 @@ class AboutDialog:
|
||||
self.about.set_name("Deluge")
|
||||
self.about.set_version(deluge.common.get_version())
|
||||
self.about.set_authors(["Andrew Resch", "Marcos Pinto"])
|
||||
self.about.set_artists(["Andrew Wedderburn"])
|
||||
self.about.set_artists(["Andrew Wedderburn", "Andrew Resch"])
|
||||
self.about.set_translator_credits(_("translator-credits"))
|
||||
self.about.set_license(_("Deluge is free software, you can redistribute \
|
||||
it and/or\nmodify it under the terms of the GNU General Public\n License as \
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -45,6 +45,7 @@ from menubar import MenuBar
|
||||
from toolbar import ToolBar
|
||||
from torrentview import TorrentView
|
||||
from torrentdetails import TorrentDetails
|
||||
from sidebar import SideBar
|
||||
from preferences import Preferences
|
||||
from systemtray import SystemTray
|
||||
from statusbar import StatusBar
|
||||
@ -121,6 +122,7 @@ class GtkUI:
|
||||
self.toolbar = ToolBar()
|
||||
self.torrentview = TorrentView()
|
||||
self.torrentdetails = TorrentDetails()
|
||||
self.sidebar = SideBar()
|
||||
self.preferences = Preferences()
|
||||
self.systemtray = SystemTray()
|
||||
self.statusbar = StatusBar()
|
||||
|
@ -77,9 +77,14 @@ class MenuBar(component.Component):
|
||||
|
||||
## View Menu
|
||||
"on_menuitem_toolbar_toggled": self.on_menuitem_toolbar_toggled,
|
||||
"on_menuitem_sidebar_toggled": self.on_menuitem_sidebar_toggled,
|
||||
"on_menuitem_infopane_toggled": self.on_menuitem_infopane_toggled,
|
||||
|
||||
## Help Menu
|
||||
"on_menuitem_homepage_activate": self.on_menuitem_homepage_activate,
|
||||
"on_menuitem_faq_activate": self.on_menuitem_faq_activate,
|
||||
"on_menuitem_community_activate": \
|
||||
self.on_menuitem_community_activate,
|
||||
"on_menuitem_about_activate": self.on_menuitem_about_activate
|
||||
})
|
||||
|
||||
@ -209,12 +214,28 @@ class MenuBar(component.Component):
|
||||
def on_menuitem_toolbar_toggled(self, value):
|
||||
log.debug("on_menuitem_toolbar_toggled")
|
||||
component.get("ToolBar").visible(value.get_active())
|
||||
|
||||
|
||||
def on_menuitem_sidebar_toggled(self, value):
|
||||
log.debug("on_menuitem_sidebar_toggled")
|
||||
component.get("SideBar").visible(value.get_active())
|
||||
|
||||
def on_menuitem_infopane_toggled(self, value):
|
||||
log.debug("on_menuitem_infopane_toggled")
|
||||
component.get("TorrentDetails").visible(value.get_active())
|
||||
|
||||
## Help Menu ##
|
||||
def on_menuitem_homepage_activate(self, data=None):
|
||||
log.debug("on_menuitem_homepage_activate")
|
||||
client.open_url_in_browser("http://deluge-torrent.org")
|
||||
|
||||
def on_menuitem_faq_activate(self, data=None):
|
||||
log.debug("on_menuitem_faq_activate")
|
||||
client.open_url_in_browser("http://deluge-torrent.org/faq")
|
||||
|
||||
def on_menuitem_community_activate(self, data=None):
|
||||
log.debug("on_menuitem_community_activate")
|
||||
client.open_url_in_browser("http://forum.deluge-torrent.org/")
|
||||
|
||||
def on_menuitem_about_activate(self, data=None):
|
||||
log.debug("on_menuitem_about_activate")
|
||||
from aboutdialog import AboutDialog
|
||||
|
73
deluge/ui/gtkui/sidebar.py
Normal file
73
deluge/ui/gtkui/sidebar.py
Normal file
@ -0,0 +1,73 @@
|
||||
#
|
||||
# sidebar.py
|
||||
#
|
||||
# Copyright (C) 2007 Andrew Resch ('andar') <andrewresch@gmail.com>
|
||||
#
|
||||
# Deluge is free software.
|
||||
#
|
||||
# You may redistribute it and/or modify it under the terms of the
|
||||
# GNU General Public License, as published by the Free Software
|
||||
# Foundation; either version 2 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# deluge 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with deluge. If not, write to:
|
||||
# The Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# 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. 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.
|
||||
|
||||
import gtk
|
||||
import gtk.glade
|
||||
|
||||
import deluge.ui.component as component
|
||||
from deluge.log import LOG as log
|
||||
|
||||
class SideBar(component.Component):
|
||||
def __init__(self):
|
||||
component.Component.__init__(self, "SideBar")
|
||||
self.window = component.get("MainWindow")
|
||||
glade = self.window.main_glade
|
||||
self.label_view = glade.get_widget("label_view")
|
||||
self.hpaned = glade.get_widget("hpaned")
|
||||
self.scrolled = glade.get_widget("scrolledwindow_sidebar")
|
||||
self.is_visible = True
|
||||
|
||||
# Create the liststore
|
||||
self.liststore = gtk.ListStore(str, gtk.gdk.Pixbuf)
|
||||
|
||||
# Create the column
|
||||
column = gtk.TreeViewColumn(_("Labels"))
|
||||
render = gtk.CellRendererPixbuf()
|
||||
column.pack_start(render, expand=False)
|
||||
column.add_attribute(render, 'pixbuf', 1)
|
||||
render = gtk.CellRendererText()
|
||||
column.pack_start(render, expand=True)
|
||||
column.add_attribute(render, 'text', 0)
|
||||
self.label_view.append_column(column)
|
||||
|
||||
self.label_view.set_model(self.liststore)
|
||||
|
||||
def visible(self, visible):
|
||||
if visible:
|
||||
self.scrolled.show()
|
||||
else:
|
||||
self.scrolled.hide()
|
||||
self.hpaned.set_position(-1)
|
||||
|
||||
self.is_visible = visible
|
||||
|
@ -52,6 +52,10 @@ class TorrentDetails(component.Component):
|
||||
self.notebook = glade.get_widget("torrent_info")
|
||||
self.details_tab = glade.get_widget("torrentdetails_tab")
|
||||
|
||||
# Don't show tabs if there is only 1
|
||||
if self.notebook.get_n_pages() < 2:
|
||||
self.notebook.set_show_tabs(False)
|
||||
|
||||
self.is_visible = True
|
||||
|
||||
# Get the labels we need to update.
|
||||
@ -88,6 +92,10 @@ class TorrentDetails(component.Component):
|
||||
self.clear()
|
||||
|
||||
def update(self):
|
||||
# Show tabs if more than 1 page
|
||||
if self.notebook.get_n_pages() > 1:
|
||||
self.notebook.set_show_tabs(True)
|
||||
|
||||
# Only update if this page is showing
|
||||
if self.notebook.page_num(self.details_tab) is \
|
||||
self.notebook.get_current_page() and \
|
||||
|
Loading…
x
Reference in New Issue
Block a user