Commit 06363073 authored by Daniel Brötzmann's avatar Daniel Brötzmann Committed by Philipp Hörist

[preview] Add Open Folder to context menu

parent d9b146ee
......@@ -42,6 +42,7 @@ class UrlImagePreviewConfigDialog(SettingsDialog):
actions = [
('open_menuitem', _('Open')),
('save_as_menuitem', _('Save as')),
('open_folder_menuitem', _('Open Folder')),
('copy_link_location_menuitem', _('Copy Link Location')),
('open_link_in_browser_menuitem', _('Open Link in Browser')),
('open_file_in_browser_menuitem', _('Open File in Browser'))]
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<object class="GtkImage" id="image1">
......@@ -19,12 +20,17 @@
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-jump-to</property>
<property name="icon_name">emblem-symbolic-link</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-jump-to</property>
<property name="icon_name">emblem-symbolic-link</property>
</object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">folder-download</property>
</object>
<object class="GtkMenu" id="context_menu">
<property name="can_focus">False</property>
......@@ -50,6 +56,17 @@
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="open_folder_menuitem">
<property name="label" translatable="yes">Open _Folder</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="image">image6</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="encryption_separator">
<property name="visible">True</property>
......
......@@ -26,7 +26,10 @@ from io import BytesIO
import shutil
from functools import partial
from gi.repository import Gtk, Gdk, GLib, GdkPixbuf
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GLib
from gi.repository import GdkPixbuf
from gajim.common import app
from gajim.common import helpers
......@@ -39,7 +42,8 @@ from gajim.plugins import GajimPlugin
from gajim.plugins.helpers import log_calls
from gajim.plugins.plugins_i18n import _
from url_image_preview.http_functions import get_http_head, get_http_file
from url_image_preview.http_functions import get_http_head
from url_image_preview.http_functions import get_http_file
from url_image_preview.config_dialog import UrlImagePreviewConfigDialog
from gajim.gtk.filechoosers import FileSaveDialog
......@@ -95,7 +99,7 @@ class UrlImagePreviewPlugin(GajimPlugin):
(self.connect_with_history, self.disconnect_from_history),
'print_real_text': (self.print_real_text, None), }
self.config_default_values = {
'PREVIEW_SIZE': (150, 'Preview size(10-512)'),
'PREVIEW_SIZE': (150, 'Preview size (100-1000)'),
'MAX_FILE_SIZE': (5242880, 'Max file size for image preview'),
'ALLOW_ALL_IMAGES': (False, ''),
'LEFTCLICK_ACTION': ('open_menuitem', 'Open'),
......@@ -599,6 +603,7 @@ class Base(object):
open_menuitem = xml.get_object('open_menuitem')
save_as_menuitem = xml.get_object('save_as_menuitem')
open_folder_menuitem = xml.get_object('open_folder_menuitem')
copy_link_location_menuitem = \
xml.get_object('copy_link_location_menuitem')
open_link_in_browser_menuitem = \
......@@ -621,6 +626,9 @@ class Base(object):
id_ = save_as_menuitem.connect(
'activate', self.on_save_as_menuitem_activate_new, data)
self.handlers[id_] = save_as_menuitem
id_ = open_folder_menuitem.connect(
'activate', self._on_open_folder_menuitem_activate, data)
self.handlers[id_] = save_as_menuitem
id_ = copy_link_location_menuitem.connect(
'activate', self.on_copy_link_location_menuitem_activate, data)
self.handlers[id_] = copy_link_location_menuitem
......@@ -661,6 +669,9 @@ class Base(object):
file_name=original_filename,
transient_for=app.app.get_active_window())
def _on_open_folder_menuitem_activate(self, menu, data):
helpers.launch_file_manager(self.directory)
def on_copy_link_location_menuitem_activate(self, menu, data):
url = data["url"]
clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment