/usr/share/pyshared/softwareproperties/gtk/CdromProgress.py is in software-properties-gtk 0.82.7.
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 | # GtkCdomProgress - add a cdrom to the apt sources
#
# Copyright (c) 2004-2007 Canonical Ltd.
# 2004-2005 Michiel Sikkes
#
# Author: Michael Vogt <mvo@debian.org>
#
# 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 2 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, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
import apt
from gi.repository import Gtk
from gettext import gettext as _
from softwareproperties.gtk.utils import *
class CdromProgress(apt.progress.base.CdromProgress):
def __init__(self, datadir, parent):
# gtk stuff
setup_ui(self, os.path.join(datadir, "gtkbuilder", "dialog-cdrom-progress.ui"), domain="software-properties")
self.dialog_cdrom_progress.show()
self.dialog_cdrom_progress.set_transient_for(parent)
self.parent = parent
self.button_cdrom_close.set_sensitive(False)
def update(self, text, step):
""" update is called regularly so that the gui can be redrawn """
if step > 0:
self.progressbar_cdrom.set_fraction(step/float(self.totalSteps))
if step == self.totalSteps:
self.button_cdrom_close.set_sensitive(True)
if text != "":
self.label_cdrom.set_text(text)
while Gtk.events_pending():
Gtk.main_iteration()
def askCdromName(self):
dialog = Gtk.MessageDialog(parent=self.dialog_cdrom_progress,
flags=Gtk.DialogFlags.MODAL,
type=Gtk.MessageType.QUESTION,
buttons=Gtk.ButtonsType.OK_CANCEL,
message_format=None)
dialog.set_markup(_("Please enter a name for the disc"))
entry = Gtk.Entry()
entry.show()
dialog.vbox.pack_start(entry, True, True, 0)
res = dialog.run()
dialog.destroy()
if res == Gtk.ResponseType.OK:
name = entry.get_text()
return (True,name)
return (False,"")
def changeCdrom(self):
dialog = Gtk.MessageDialog(parent=self.dialog_cdrom_progress,
flags=Gtk.DialogFlags.MODAL,
type=Gtk.MessageType.QUESTION,
buttons=Gtk.ButtonsType.OK_CANCEL,
message_format=None)
dialog.set_markup(_("Please insert a disk in the drive:"))
dialog.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
res = dialog.run()
dialog.destroy()
if res == Gtk.ResponseType.OK:
return True
return False
|