/usr/share/gEcrit/data/plugins/ClipboardViewer.py is in gecrit 2.8.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | # Copyright (C) 2011 Groza Cristian
#
# 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.
#
# 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.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#!/usr/bin/python
# -*- coding: utf-8 -*-
from data.plugins.categories import Passive
import yapsy.IPlugin
import wx
class ClipboardViewer(wx.Frame, Passive, yapsy.IPlugin.IPlugin):
def __init__(self):
self.name = "Clipboard Viewer"
def Init(self, parent):
self.parent = parent
wx.Frame.__init__(self, self.parent)
self.main_panel = wx.Panel(self)
self.main_sizer = wx.BoxSizer(wx.VERTICAL)
self.button_sizer = wx.BoxSizer(wx.HORIZONTAL)
self.clip_view_descr = wx.StaticText(self.main_panel, -1,
"Clipboard Contents:", size = (-1, -1))
self.clip_view = wx.TextCtrl(self.main_panel, -1,
style = wx.TE_MULTILINE)
self.update_clp = wx.Button(self.main_panel, -1, "Update Clipboard")
self.refresh_view = wx.Button(self.main_panel, -1, "Refresh")
self.update_clp.Bind(wx.EVT_BUTTON, self.OnUpdate)
self.refresh_view.Bind(wx.EVT_BUTTON, self.OnRefresh)
self.plugins_menu = wx.Menu()
show_entry = self.plugins_menu.Append(-1,"Show Clipboard")
self.menu_item = self.parent.AddToMenuBar("Clipboard Viewer",
self.plugins_menu)
self.parent.BindMenubarEvent(show_entry, self.ShowMe)
self.button_sizer.Add(self.update_clp)
self.button_sizer.AddSpacer(5)
self.button_sizer.Add(self.refresh_view)
self.main_sizer.Add(self.clip_view_descr)
self.main_sizer.AddSpacer(10)
self.main_sizer.Add(self.clip_view, 1, wx.EXPAND)
self.main_sizer.Add(self.button_sizer)
self.main_panel.SetSizerAndFit(self.main_sizer)
self.Bind(wx.EVT_CLOSE, self.HideMe)
self.Hide()
def ReadClipboard(self):
#opening the clipboard
if not wx.TheClipboard.IsOpened():
wx.TheClipboard.Open()
#reading the clipboard
txt = wx.TextDataObject()
success = wx.TheClipboard.GetData(txt)
#loading the text to the clip_view
if success:
self.clip_view.SetValue( txt.GetText() )
def OnRefresh(self, event):
self.ReadClipboard()
def OnUpdate(self, event):
#creating the data object
data = wx.TextDataObject()
#settinc the data object value
data.SetText(self.clip_view.GetValue())
#writing the data object to clipboard
if not wx.TheClipboard.IsOpened():
wx.TheClipboard.Open()
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
def HideMe(self, event):
self.Hide()
def ShowMe(self, event):
self.ReadClipboard()
self.Show()
|