[GTKUI] Fix adding from clipboard
This commit is contained in:
parent
5a3625f6cd
commit
e5e49f68ba
|
@ -23,7 +23,7 @@ from deluge.configmanager import ConfigManager
|
||||||
from deluge.httpdownloader import download_file
|
from deluge.httpdownloader import download_file
|
||||||
from deluge.ui.client import client
|
from deluge.ui.client import client
|
||||||
from deluge.ui.common import TorrentInfo
|
from deluge.ui.common import TorrentInfo
|
||||||
from deluge.ui.gtkui.common import listview_replace_treestore, reparent_iter
|
from deluge.ui.gtkui.common import get_clipboard_text, listview_replace_treestore, reparent_iter
|
||||||
from deluge.ui.gtkui.dialogs import ErrorDialog
|
from deluge.ui.gtkui.dialogs import ErrorDialog
|
||||||
from deluge.ui.gtkui.edittrackersdialog import trackers_tiers_from_text
|
from deluge.ui.gtkui.edittrackersdialog import trackers_tiers_from_text
|
||||||
from deluge.ui.gtkui.path_chooser import PathChooser
|
from deluge.ui.gtkui.path_chooser import PathChooser
|
||||||
|
@ -559,12 +559,9 @@ class AddTorrentDialog(component.Component):
|
||||||
dialog.set_transient_for(self.dialog)
|
dialog.set_transient_for(self.dialog)
|
||||||
entry.grab_focus()
|
entry.grab_focus()
|
||||||
|
|
||||||
text = (gtk.clipboard_get(selection='PRIMARY').wait_for_text() or
|
text = get_clipboard_text()
|
||||||
gtk.clipboard_get().wait_for_text())
|
if text and deluge.common.is_url(text) or deluge.common.is_magnet(text):
|
||||||
if text:
|
entry.set_text(text)
|
||||||
text = text.strip()
|
|
||||||
if deluge.common.is_url(text) or deluge.common.is_magnet(text):
|
|
||||||
entry.set_text(text)
|
|
||||||
|
|
||||||
dialog.show_all()
|
dialog.show_all()
|
||||||
response = dialog.run()
|
response = dialog.run()
|
||||||
|
@ -646,8 +643,7 @@ class AddTorrentDialog(component.Component):
|
||||||
dialog.set_transient_for(self.dialog)
|
dialog.set_transient_for(self.dialog)
|
||||||
entry.grab_focus()
|
entry.grab_focus()
|
||||||
|
|
||||||
text = (gtk.clipboard_get(selection='PRIMARY').wait_for_text() or
|
text = get_clipboard_text()
|
||||||
gtk.clipboard_get().wait_for_text()).strip()
|
|
||||||
if deluge.common.is_infohash(text):
|
if deluge.common.is_infohash(text):
|
||||||
entry.set_text(text)
|
entry.set_text(text)
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,8 @@ import shutil
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from gobject import GError
|
from gobject import GError
|
||||||
from gtk import SORT_ASCENDING, Menu, MenuItem, RadioMenuItem, SeparatorMenuItem, icon_theme_get_default
|
from gtk import SORT_ASCENDING, Menu, MenuItem, RadioMenuItem, SeparatorMenuItem, clipboard_get, icon_theme_get_default
|
||||||
from gtk.gdk import COLORSPACE_RGB, Pixbuf, pixbuf_new_from_file, pixbuf_new_from_file_at_size
|
from gtk.gdk import COLORSPACE_RGB, SELECTION_PRIMARY, Pixbuf, pixbuf_new_from_file, pixbuf_new_from_file_at_size
|
||||||
|
|
||||||
from deluge.common import get_pixmap, osx_check, windows_check
|
from deluge.common import get_pixmap, osx_check, windows_check
|
||||||
|
|
||||||
|
@ -323,3 +323,8 @@ def listview_replace_treestore(listview):
|
||||||
|
|
||||||
listview.set_model(treestore)
|
listview.set_model(treestore)
|
||||||
listview.thaw_child_notify()
|
listview.thaw_child_notify()
|
||||||
|
|
||||||
|
|
||||||
|
def get_clipboard_text():
|
||||||
|
text = clipboard_get(selection=SELECTION_PRIMARY).wait_for_text() or clipboard_get().wait_for_text()
|
||||||
|
return text.strip()
|
||||||
|
|
|
@ -25,7 +25,7 @@ from deluge.configmanager import ConfigManager, get_config_dir
|
||||||
from deluge.error import AuthenticationRequired, BadLoginError, IncompatibleClient
|
from deluge.error import AuthenticationRequired, BadLoginError, IncompatibleClient
|
||||||
from deluge.ui.client import Client, client
|
from deluge.ui.client import Client, client
|
||||||
from deluge.ui.common import get_localhost_auth
|
from deluge.ui.common import get_localhost_auth
|
||||||
from deluge.ui.gtkui.common import get_deluge_icon, get_logo
|
from deluge.ui.gtkui.common import get_clipboard_text, get_deluge_icon, get_logo
|
||||||
from deluge.ui.gtkui.dialogs import AuthenticationDialog, ErrorDialog
|
from deluge.ui.gtkui.dialogs import AuthenticationDialog, ErrorDialog
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
@ -237,7 +237,7 @@ class ConnectionManager(component.Component):
|
||||||
self.__update_list()
|
self.__update_list()
|
||||||
|
|
||||||
def on_entry_host_paste_clipboard(self, widget):
|
def on_entry_host_paste_clipboard(self, widget):
|
||||||
text = gtk.clipboard_get().wait_for_text().strip()
|
text = get_clipboard_text()
|
||||||
log.debug('on_entry_proxy_host_paste-clipboard: got paste: %s', text)
|
log.debug('on_entry_proxy_host_paste-clipboard: got paste: %s', text)
|
||||||
text = text if '//' in text else '//' + text
|
text = text if '//' in text else '//' + text
|
||||||
parsed = urlparse(text)
|
parsed = urlparse(text)
|
||||||
|
|
|
@ -24,7 +24,7 @@ from deluge.configmanager import ConfigManager, get_config_dir
|
||||||
from deluge.error import AuthManagerError, NotAuthorizedError
|
from deluge.error import AuthManagerError, NotAuthorizedError
|
||||||
from deluge.ui.client import client
|
from deluge.ui.client import client
|
||||||
from deluge.ui.common import DISK_CACHE_KEYS
|
from deluge.ui.common import DISK_CACHE_KEYS
|
||||||
from deluge.ui.gtkui.common import associate_magnet_links, get_deluge_icon
|
from deluge.ui.gtkui.common import associate_magnet_links, get_clipboard_text, get_deluge_icon
|
||||||
from deluge.ui.gtkui.dialogs import AccountDialog, ErrorDialog, InformationDialog, YesNoDialog
|
from deluge.ui.gtkui.dialogs import AccountDialog, ErrorDialog, InformationDialog, YesNoDialog
|
||||||
from deluge.ui.gtkui.path_chooser import PathChooser
|
from deluge.ui.gtkui.path_chooser import PathChooser
|
||||||
from deluge.ui.translations_util import get_languages
|
from deluge.ui.translations_util import get_languages
|
||||||
|
@ -954,7 +954,7 @@ class Preferences(component.Component):
|
||||||
self.builder.get_object(entry).hide()
|
self.builder.get_object(entry).hide()
|
||||||
|
|
||||||
def on_entry_proxy_host_paste_clipboard(self, widget):
|
def on_entry_proxy_host_paste_clipboard(self, widget):
|
||||||
text = gtk.clipboard_get().wait_for_text().strip()
|
text = get_clipboard_text()
|
||||||
log.debug('on_entry_proxy_host_paste-clipboard: got paste: %s', text)
|
log.debug('on_entry_proxy_host_paste-clipboard: got paste: %s', text)
|
||||||
text = text if '//' in text else '//' + text
|
text = text if '//' in text else '//' + text
|
||||||
parsed = urlparse(text)
|
parsed = urlparse(text)
|
||||||
|
|
Loading…
Reference in New Issue