Fix #2260 : Add dialog pulling main window to active workspace
This commit is contained in:
parent
8ba5e78610
commit
12365241a5
|
@ -169,7 +169,11 @@ class AddTorrentDialog(component.Component):
|
|||
self.glade.get_widget("button_move_completed_location").hide()
|
||||
self.glade.get_widget("entry_move_completed_path").show()
|
||||
|
||||
if component.get("MainWindow").is_on_active_workspace():
|
||||
self.dialog.set_transient_for(component.get("MainWindow").window)
|
||||
else:
|
||||
self.dialog.set_transient_for(None)
|
||||
|
||||
self.dialog.present()
|
||||
if focus:
|
||||
self.dialog.window.focus()
|
||||
|
|
|
@ -40,6 +40,11 @@ import gtk, gtk.glade
|
|||
import gobject
|
||||
import pkg_resources
|
||||
|
||||
try:
|
||||
import wnck
|
||||
except ImportError:
|
||||
wnck = None
|
||||
|
||||
from deluge.ui.client import client
|
||||
import deluge.component as component
|
||||
from deluge.configmanager import ConfigManager
|
||||
|
@ -54,6 +59,8 @@ from deluge.log import LOG as log
|
|||
|
||||
class MainWindow(component.Component):
|
||||
def __init__(self):
|
||||
if wnck:
|
||||
self.screen = wnck.screen_get_default()
|
||||
component.Component.__init__(self, "MainWindow", interval=2)
|
||||
self.config = ConfigManager("gtkui.conf")
|
||||
# Get the glade file for the main window
|
||||
|
@ -108,7 +115,6 @@ class MainWindow(component.Component):
|
|||
component.resume("TorrentDetails")
|
||||
except:
|
||||
pass
|
||||
|
||||
self.window.show()
|
||||
|
||||
|
||||
|
@ -272,3 +278,11 @@ class MainWindow(component.Component):
|
|||
def on_torrentfinished_event(self, torrent_id):
|
||||
from deluge.ui.gtkui.notification import Notification
|
||||
Notification().notify(torrent_id)
|
||||
|
||||
def is_on_active_workspace(self):
|
||||
# Returns True if mainwindow is on active workspace or wnck module not available
|
||||
if not wnck:
|
||||
return True
|
||||
for win in self.screen.get_windows():
|
||||
if win.get_xid() == self.window.window.xid:
|
||||
return win.is_on_workspace(win.get_screen().get_active_workspace())
|
||||
|
|
Loading…
Reference in New Issue