def __init__(self, app):
super().__init__(_('Password:'), app.window, Gtk.DialogFlags.MODAL,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.set_default_response(Gtk.ResponseType.OK)
self.set_default_size(320, 100)
self.set_border_width(10)
box = self.get_content_area()
self.entry = Gtk.Entry()
self.entry.props.placeholder_text = _('Password ...')
box.pack_start(self.entry, False, False, 0)
box.show_all()
python类STOCK_OK的实例源码
def __init__(self, parent, app, path):
super().__init__(_('New Folder'), app.window, Gtk.DialogFlags.MODAL,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.set_default_response(Gtk.ResponseType.OK)
self.connect('show', self.on_show)
self.set_default_size(550, 200)
self.app = app
self.path = path
self.set_border_width(10)
box = self.get_content_area()
folder_name = _('New Folder')
abspath = os.path.join(path, folder_name)
self.entry = Gtk.Entry()
self.entry.set_text(abspath)
self.entry.connect('changed', self.on_entry_changed)
self.entry.connect('activate', self.on_entry_activated)
box.pack_start(self.entry, True, True, 10)
self.infobar = Gtk.InfoBar()
self.infobar.timestamp = 0
self.infobar.set_message_type(Gtk.MessageType.ERROR)
box.pack_start(self.infobar, False, False, 0)
self.info_label= Gtk.Label()
self.infobar.get_content_area().pack_start(self.info_label, False,
False, 0)
box.show_all()
self.infobar.hide()
def __init__(self, parent, app, info):
super().__init__(_('Verification..'), app.window,
Gtk.DialogFlags.MODAL,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.set_default_response(Gtk.ResponseType.OK)
self.set_default_size(320, 200)
self.set_border_width(10)
self.app = app
box = self.get_content_area()
box.set_spacing(10)
gutil.async_call(net.urlopen, info['img'],
{'Cookie': app.cookie.header_output()},
callback=self.update_img)
self.img = Gtk.Image()
box.pack_start(self.img, False, False, 0)
self.entry = Gtk.Entry()
self.entry.connect('activate',
lambda *args: self.response(Gtk.ResponseType.OK))
box.pack_start(self.entry, False, False, 0)
box.show_all()
def __init__(self, value):
#
Gtk.Dialog.__init__(self,
'Backlight Indicator | ' + _('Set backlight'),
None,
Gtk.DialogFlags.MODAL |
Gtk.DialogFlags.DESTROY_WITH_PARENT,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT,
Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT))
self.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
self.connect('close', self.close_ok)
self.set_icon_from_file(comun.ICON)
#
vbox0 = Gtk.VBox(spacing=5)
vbox0.set_border_width(5)
self.get_content_area().add(vbox0)
frame0 = Gtk.Frame()
vbox0.pack_start(frame0, False, True, 1)
table0 = Gtk.Table(2, 2, False)
frame0.add(table0)
label23 = Gtk.Label(_('Backlight') + ':')
label23.set_alignment(0, 0.5)
table0.attach(label23, 0, 1, 0, 1,
xpadding=5, ypadding=5)
configuration = Configuration()
minimum_backlight = configuration.get('minimum-backlight')
maximum_backlight = configuration.get('maximum-backlight')
ba = BacklightManager()
backlight = ba.get_backlight()
adjustment3 = Gtk.Adjustment(backlight,
minimum_backlight,
maximum_backlight, 5, 10, 1)
self.backlight = Gtk.Scale()
self.backlight.set_digits(0)
self.backlight.set_size_request(200, 10)
self.backlight.set_adjustment(adjustment3)
table0.attach(self.backlight, 1, 2, 0, 1,
xpadding=5, ypadding=5)
self.backlight.set_value(value)
self.show_all()
def __init__(self, main, title='Search results'):
super(SearchDialog,self).__init__(title, main.window, Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, (Gtk.STOCK_OK,Gtk.ResponseType.ACCEPT))
# the cancel button
self.butt_cancel = self.action_area.get_children()[0]
self.butt_cancel.connect("clicked", lambda x: self.destroy())
# Positions
self.resize(400, 400)
self.set_position(Gtk.WindowPosition.CENTER)
ui.gtk3.common.set_bokken_icon(self)
# Log TextView
#################################################################
self.output_text = Gtk.TextView(buffer=None)
self.output_text.set_wrap_mode(Gtk.WrapMode.NONE)
self.output_text.set_editable(False)
self.output_buffer = self.output_text.get_buffer()
self.scrolled_window = Gtk.ScrolledWindow()
self.scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.ALWAYS)
self.scrolled_window.is_visible = True
# Add Textview to Scrolled Window
self.scrolled_window.add_with_viewport(self.output_text)
#self.vbox.pack_start(self.output_text, True, True, 0)
self.vbox.pack_start(self.scrolled_window, True, True, 0)
self.show_all()
def __init__(self, title='Add comment'):
super(CommentsDialog,self).__init__(title, None, Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, (Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT, Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT))
# the cancel button
self.butt_cancel = self.action_area.get_children()[1]
self.butt_cancel.connect("clicked", lambda x: self.destroy())
# Positions
self.resize(400, 200)
self.set_position(Gtk.WindowPosition.CENTER)
ui.gtk3.common.set_bokken_icon(self)
# Log TextView
#################################################################
self.input_text = Gtk.TextView(buffer=None)
self.input_text.set_wrap_mode(Gtk.WrapMode.NONE)
self.input_text.set_left_margin(10)
self.input_buffer = self.input_text.get_buffer()
self.scrolled_window = Gtk.ScrolledWindow()
self.scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
self.scrolled_window.is_visible = True
# Add Textview to Scrolled Window
self.scrolled_window.add_with_viewport(self.input_text)
#self.vbox.pack_start(self.input_text, True, True, 0)
self.vbox.pack_start(self.scrolled_window, True, True, 0)
self.show_all()
def alert(parent = None, title="", text=""):
dialog = Gtk.Dialog(title, parent, 0)
dialog.set_default_size(150, 100)
dialog.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse("#FAFAFA"))
label = Gtk.Label()
label.set_markup('<span foreground="#494941" face="sans">' + text + '</span>')
box = dialog.get_content_area()
box.add(label)
btn = dialog.add_button(Gtk.STOCK_OK, Gtk.ResponseType.OK)
btn.set_relief(2)
box.show_all()
dialog.run()
dialog.destroy()
def __init__(self, tasklist = None):
Gtk.Dialog.__init__(self)
if tasklist == None:
self.set_title(comun.APPNAME + ' | '+_('Add new tasklist'))
else:
self.set_title(comun.APPNAME + ' | '+_('Edit tasklist'))
self.set_modal(True)
self.add_buttons(Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT,Gtk.STOCK_CANCEL,Gtk.ResponseType.CANCEL)
self.set_size_request(200, 80)
self.set_resizable(False)
self.set_icon_from_file(comun.ICON)
#
vbox0 = Gtk.VBox(spacing = 5)
vbox0.set_border_width(5)
self.get_content_area().add(vbox0)
#
table1 = Gtk.Table(n_rows = 1, n_columns = 2, homogeneous = False)
table1.set_border_width(5)
table1.set_col_spacings(5)
table1.set_row_spacings(5)
vbox0.add(table1)
#
label11 = Gtk.Label.new(_('Title')+':')
label11.set_alignment(0,.5)
table1.attach(label11,0,1,0,1, xoptions = Gtk.AttachOptions.FILL, yoptions = Gtk.AttachOptions.FILL)
#
self.entry1 = Gtk.Entry()
self.entry1.set_width_chars(60)
table1.attach(self.entry1,1,2,0,1, xoptions = Gtk.AttachOptions.EXPAND, yoptions = Gtk.AttachOptions.SHRINK)
#
if tasklist is not None:
if 'title' in tasklist.keys():
self.entry1.set_text(tasklist['title'])
self.show_all()
def get_moses_dir(self):
"""@brief Gets Moses directory."""
directory = self.moses_dir
response = Gtk.ResponseType.ACCEPT
while response == Gtk.ResponseType.ACCEPT and not self.is_moses_dir_valid(directory):
label = Gtk.Label("Enter MOSES installation directory")
entry = Gtk.Entry()
button = Gtk.Button("Choose File")
button.connect("clicked", self._on_dir_clicked, entry)
dialog = Gtk.Dialog("Moses configuration",
None,
Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT))
box = dialog.get_content_area()
box.add(label)
box.add(entry)
box.add(button)
label.show()
entry.show()
button.show()
response = dialog.run()
directory = entry.get_text()
dialog.destroy()
# If it is not valid, keep asking until valid or user leaves.
if response != Gtk.ResponseType.ACCEPT:
exit(1)
self.moses_dir = directory
return directory
national-geographic-wallpaper.py 文件源码
项目:national-geographic-wallpaper
作者: atareao
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def __init__(self):
Gtk.Dialog.__init__(
self,
_('National Geographic Wallpaper'),
None,
Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT,
Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT))
self.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
self.set_size_request(350, 80)
self.set_icon_from_file(comun.ICON)
self.connect('destroy', self.close_application)
self.config = Config()
self.croni = Croni()
self.autostart = Autostart()
grid = Gtk.Grid()
grid.set_row_spacing(5)
grid.set_column_spacing(5)
grid.set_border_width(5)
self.get_content_area().add(grid)
label10 = Gtk.Label(_('Change wallpaper automatically?') + ':')
label10.set_alignment(0, 0.5)
grid.add(label10)
self.switch = Gtk.Switch()
self.switch.set_active(self.croni.is_enabled())
hbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 5)
hbox.pack_start(self.switch, False, False, 0)
grid.attach(hbox, 1, 0, 1, 1)
label20 = Gtk.Label(_('Select backgrounds source') + ':')
label20.set_alignment(0, 0.5)
grid.attach(label20, 0, 1, 1, 1)
source_store = Gtk.ListStore(str, str)
source_store.append([_('National Geographic'), 'national-geographic'])
source_store.append([_('Bing'), 'bing'])
source_store.append([_('GoPro'), 'gopro'])
source_store.append([_('Powder'), 'powder'])
source_store.append([_('Fstoppers'), 'fstoppers'])
source_store.append([_('Desktoppr'), 'desktoppr'])
source_store.append([_('Nasa'), 'nasa'])
self.combobox_source = Gtk.ComboBox.new()
self.combobox_source.set_model(source_store)
cell1 = Gtk.CellRendererText()
self.combobox_source.pack_start(cell1, True)
self.combobox_source.add_attribute(cell1, 'text', 0)
grid.attach(self.combobox_source, 1, 1, 1, 1)
button = Gtk.Button(_('Change now'))
button.connect('clicked', self.button_pressed)
hbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 5)
hbox.pack_start(button, True, False, 0)
grid.attach(hbox, 0, 2, 2, 1)
self.load_preferences()
self.show_all()
def add_engine(self, widget, data=None):
dialog = Gtk.FileChooserDialog(
_("Add UCI Engine.."),
gv.gui.get_window(),
Gtk.FileChooserAction.OPEN,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OPEN, Gtk.ResponseType.OK)
)
dialog.set_default_response(Gtk.ResponseType.OK)
dialog.set_current_folder(os.path.expanduser("~"))
response = dialog.run()
if response == Gtk.ResponseType.OK:
fname = dialog.get_filename()
# print "attempting to add new engine"
path = dialog.get_filename()
# use a new uci object so not to mess with main game engine
u = uci.Uci("0")
u.set_engine("addengine", path)
errmsg, name = u.test_engine(path)
if errmsg != "":
err_dialog = Gtk.Dialog(_("Error Adding Engine"), None, 0,
(Gtk.STOCK_OK, Gtk.ResponseType.OK))
err_dialog.set_default_size(380, -1)
lbl = Gtk.Label(label=errmsg)
lbl.show()
al = Gtk.Alignment.new(xalign=0.0, yalign=0.5,
xscale=0.0, yscale=0.0)
al.set_padding(20, 20, 20, 20)
al.add(lbl)
al.show()
err_dialog.vbox.pack_start(al, True, False, 0)
response = err_dialog.run()
err_dialog.destroy()
else:
self.liststore.append([name, path])
self.add_engine_to_list([name, path, {}])
dialog.destroy()
# Called from this module by clicking 'configure' button
# or from gui.py by selecting configure engine from menu
SBrickConfigureDialog.py 文件源码
项目:sbrick-controller
作者: wintersandroid
项目源码
文件源码
阅读 24
收藏 0
点赞 0
评论 0
def __init__(self, parent, sbrick_configuration):
Gtk.Dialog.__init__(self, "Configure SBrick", parent, 0,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.sbrickConfiguration = sbrick_configuration
self.set_default_size(150, 100)
self.channelTypeStore = Gtk.ListStore(str, str)
self.channelTypeStore.append(["motor", "Motor"])
self.channelTypeStore.append(["servo", "Servo"])
self.content = self.get_content_area()
hbox = Gtk.FlowBox()
hbox.set_max_children_per_line(2)
hbox.set_min_children_per_line(2)
hbox.set_selection_mode(Gtk.SelectionMode.NONE)
hbox.add(Gtk.Label("Name:"))
self.edit_brick_name = Gtk.Entry()
self.edit_brick_name.set_max_length(20)
hbox.add(self.edit_brick_name)
hbox.add(Gtk.Label("Address:"))
self.edit_brick_address = Gtk.Entry()
self.edit_brick_address.set_max_length(17)
hbox.add(self.edit_brick_address)
self.content.pack_start(hbox, False, True, 0)
self.channel1_id_edit, self.channel1_name_edit, self.channel1_combo_type = self.create_channel_box(1)
self.channel2_id_edit, self.channel2_name_edit, self.channel2_combo_type = self.create_channel_box(2)
self.channel3_id_edit, self.channel3_name_edit, self.channel3_combo_type = self.create_channel_box(3)
self.channel4_id_edit, self.channel4_name_edit, self.channel4_combo_type = self.create_channel_box(4)
if "name" in self.sbrickConfiguration:
self.edit_brick_name.set_text(self.sbrickConfiguration["name"])
if "addr" in self.sbrickConfiguration:
self.edit_brick_address.set_text(self.sbrickConfiguration["addr"])
self.set_from_config(0, self.channel1_id_edit, self.channel1_name_edit, self.channel1_combo_type)
self.set_from_config(1, self.channel2_id_edit, self.channel2_name_edit, self.channel2_combo_type)
self.set_from_config(2, self.channel3_id_edit, self.channel3_name_edit, self.channel3_combo_type)
self.set_from_config(3, self.channel4_id_edit, self.channel4_name_edit, self.channel4_combo_type)
self.show_all()
self.connect('response', self.on_response)
# noinspection PyUnusedLocal
def __init__(self, parent):
Gtk.Dialog.__init__(self, "Alarms", parent, 0,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self._store = Gtk.ListStore(str, str, str, object)
for i, alarm in enumerate(config['alarms']):
row = self._build_row(alarm)
self._store.append(row)
self._tree = Gtk.TreeView(self._store)
self._selection = self._tree.get_selection()
self._selection.connect("changed", self._on_tree_selection_changed)
self._tree.set_size_request(300, 150)
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Exchange", renderer, text=self._EXCHANGE_COL)
self._tree.append_column(column)
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Market", renderer, text=self._MARKET_COL)
self._tree.append_column(column)
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Alarm Trigger", renderer, text=self._TRIGGER_COL)
self._tree.append_column(column)
vbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.VERTICAL)
new_button = Gtk.Button.new_with_label("New Alarm")
new_button.connect("clicked", self._on_new_button_clicked)
vbox.pack_start(new_button, False, False, 0)
self._remove_button = Gtk.Button.new_with_label("Remove Alarm")
self._remove_button.connect("clicked", self._on_remove_button_clicked)
vbox.pack_start(self._remove_button, False, False, 0)
self._market_combo, self._market_store = self._create_market_combo()
self._market_combo.connect("changed", self._on_market_changed)
vbox.pack_start(self._market_combo, False, False, 0)
self._above_radio = Gtk.RadioButton.new_with_label_from_widget(None, "Above")
self._above_radio.connect("clicked", self._on_type_radio_clicked)
self._below_radio = Gtk.RadioButton.new_with_label_from_widget(self._above_radio, "Below")
self._below_radio.connect("clicked", self._on_type_radio_clicked)
type_hbox = Gtk.Box(spacing=6, orientation=Gtk.Orientation.HORIZONTAL)
type_hbox.pack_start(self._above_radio, True, True, 0)
type_hbox.pack_start(self._below_radio, True, True, 0)
vbox.pack_start(type_hbox, False, False, 0)
self._price_entry = Gtk.Entry()
self._price_entry.connect("changed", self._on_price_changed)
_add_label_and_widget(vbox, "Price:", self._price_entry)
hbox = Gtk.Box(spacing=6)
hbox.pack_start(self._tree, True, True, 0)
hbox.pack_start(vbox, False, False, 0)
self.get_content_area().add(hbox)
self._set_inputs_sensitive(False)
self.show_all()
def __init__(self, parent, app, title, source_url, save_path):
'''???BT???????.
source_url - ???BT????, ?????????.
???????, ???magent:???????.
'''
super().__init__(title, app.window, Gtk.DialogFlags.MODAL,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.app = app
self.source_url = source_url
self.save_path = save_path
self.set_default_response(Gtk.ResponseType.OK)
self.set_default_size(520, 480)
self.set_border_width(10)
box = self.get_content_area()
select_all_button = Gtk.ToggleButton.new_with_label(_('Select All'))
select_all_button.props.halign = Gtk.Align.START
select_all_button.props.margin_bottom = 5
select_all_button.connect('toggled', self.on_select_all_toggled)
box.pack_start(select_all_button, False, False, 0)
scrolled_win = Gtk.ScrolledWindow()
box.pack_start(scrolled_win, True, True, 0)
# check, name, size, humansize
self.liststore = Gtk.ListStore(bool, str, GObject.TYPE_INT64, str)
self.treeview = Gtk.TreeView(model=self.liststore)
self.treeview.set_tooltip_column(NAME_COL)
scrolled_win.add(self.treeview)
check_cell = Gtk.CellRendererToggle()
check_cell.connect('toggled', self.on_check_cell_toggled)
check_col = Gtk.TreeViewColumn('', check_cell, active=CHECK_COL)
self.treeview.append_column(check_col)
name_cell = Gtk.CellRendererText(ellipsize=Pango.EllipsizeMode.END,
ellipsize_set=True)
name_col = Gtk.TreeViewColumn(_('Name'), name_cell, text=NAME_COL)
name_col.set_expand(True)
self.treeview.append_column(name_col)
size_cell = Gtk.CellRendererText()
size_col = Gtk.TreeViewColumn(_('Size'), size_cell, text=HUMANSIZE_COL)
self.treeview.append_column(size_col)
box.show_all()
self.request_data()
def __init__(self, parent, username, cookie, tokens, codeString, vcodetype):
super().__init__(_('Verification..'), parent, Gtk.DialogFlags.MODAL)
self.set_default_size(280, 130)
self.set_border_width(10)
self.username = username
self.cookie = cookie
self.tokens = tokens
self.codeString = codeString
self.vcodetype = vcodetype
box = self.get_content_area()
box.set_spacing(5)
self.vcode_img = Gtk.Image()
box.pack_start(self.vcode_img, True, True, 0)
button_box = Gtk.Box(spacing=5)
box.pack_start(button_box, True, True, 0)
self.vcode_entry = Gtk.Entry()
self.vcode_entry.connect('activate', self.check_entry)
button_box.pack_start(self.vcode_entry, True, True, 0)
if Config.GTK_GE_312:
vcode_refresh = Widgets.IconButton('view-refresh-symbolic')
else:
vcode_refresh = Gtk.Button.new_from_stock(Gtk.STOCK_REFRESH)
vcode_refresh.props.valign = Gtk.Align.CENTER
vcode_refresh.connect('clicked', self.on_vcode_refresh_clicked)
button_box.pack_start(vcode_refresh, False, False, 0)
# show loading process
self.loading_spin = Gtk.Spinner()
self.loading_spin.props.valign = Gtk.Align.CENTER
button_box.pack_start(self.loading_spin, False, False, 0)
vcode_confirm = Gtk.Button.new_from_stock(Gtk.STOCK_OK)
vcode_confirm.connect('clicked', self.on_vcode_confirm_clicked)
vcode_confirm.props.valign = Gtk.Align.END
box.pack_start(vcode_confirm, False, False, 10)
box.show_all()
self.loading_spin.hide()
gutil.async_call(auth.get_signin_vcode, cookie, codeString,
callback=self.update_img)
def __init__(self, parent, app, title=_('Save to..')):
self.parent = parent
self.app = app
super().__init__(title, app.window, Gtk.DialogFlags.MODAL,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.set_default_size(440, 480)
self.set_border_width(10)
self.set_default_response(Gtk.ResponseType.OK)
box = self.get_content_area()
control_box = Gtk.Box()
box.pack_start(control_box, False, False, 0)
mkdir_button = Gtk.Button.new_with_label(_('Create Folder'))
control_box.pack_end(mkdir_button, False, False, 0)
mkdir_button.connect('clicked', self.on_mkdir_clicked)
reload_button = Gtk.Button.new_with_label(_('Reload'))
control_box.pack_end(reload_button, False, False, 5)
reload_button.connect('clicked', self.on_reload_clicked)
scrolled_win = Gtk.ScrolledWindow()
box.pack_start(scrolled_win, True, True, 5)
# disname, path, empty, loaded
self.treestore = Gtk.TreeStore(str, str, bool, bool)
self.treeview = Gtk.TreeView(model=self.treestore)
self.selection = self.treeview.get_selection()
scrolled_win.add(self.treeview)
icon_cell = Gtk.CellRendererPixbuf(icon_name='folder')
name_cell = Gtk.CellRendererText()
name_col = Gtk.TreeViewColumn(_('Folder'))
name_col.pack_start(icon_cell, False)
name_col.pack_start(name_cell, True)
if Config.GTK_LE_36:
name_col.add_attribute(name_cell, 'text', NAME_COL)
else:
name_col.set_attributes(name_cell, text=NAME_COL)
self.treeview.append_column(name_col)
self.treeview.connect('row-expanded', self.on_row_expanded)
box.show_all()
self.reset()
def __init__(self, parent, preference):
gtk.Dialog.__init__(self, "Edit ping...", parent, 0,
(gtk.STOCK_CANCEL, gtk.ResponseType.CANCEL,
gtk.STOCK_OK, gtk.ResponseType.OK))
self.set_position(gtk.WindowPosition.CENTER)
# set ui to dialog
builder = gtk.Builder()
file_path = os.path.dirname(os.path.abspath(__file__))
builder.add_from_file(resource.ui_path("ping_edit_dialog"))
self.box1 = builder.get_object('box1')
self.box = self.get_content_area()
self.box.add(self.box1)
# get ui elements
self.entry_name = builder.get_object("entry_name")
self.entry_address = builder.get_object("entry_address")
self.spinbutton_update_rate = \
builder.get_object("spinbutton_update_rate")
self.spinbutton_number_of_pings = \
builder.get_object("spinbutton_number_of_pings")
self.radiobutton_yes = builder.get_object("radiobutton_yes")
self.radiobutton_no = builder.get_object("radiobutton_no")
self.radiobutton_show_text_yes = \
builder.get_object("radiobutton_show_text_yes")
self.radiobutton_show_text_no = \
builder.get_object("radiobutton_show_text_no")
self.radiobutton_activate_yes = \
builder.get_object("radiobutton_activate_yes")
self.radiobutton_activate_no = \
builder.get_object("radiobutton_activate_no")
# set data
self.entry_name.set_text(preference[0])
self.entry_address.set_text(preference[1])
self.spinbutton_update_rate.set_value(preference[2])
self.spinbutton_number_of_pings.set_value(preference[3])
if preference[4]:
self.radiobutton_yes.set_active(True)
else:
self.radiobutton_no.set_active(True)
if preference[5]:
self.radiobutton_show_text_yes.set_active(True)
else:
self.radiobutton_show_text_no.set_active(True)
if preference[6]:
self.radiobutton_activate_yes.set_active(True)
else:
self.radiobutton_activate_no.set_active(True)
# show dialog
self.show_all()
def save_pdf(self, html):
chooser = Gtk.FileChooserDialog("Export PDF", None, Gtk.FileChooserAction.SAVE,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
pdf_filter = Gtk.FileFilter()
pdf_filter.add_pattern("*.pdf")
pdf_filter.set_name("PDF Files")
chooser.add_filter(pdf_filter)
chooser.set_do_overwrite_confirmation(True)
response = chooser.run()
if response == Gtk.ResponseType.OK:
file_name = chooser.get_filename()
if not file_name.endswith(".pdf"):
file_name += ".pdf"
try:
pdfkit.from_string(html, file_name, options= {'quiet': '', 'page-size': 'Letter',
'margin-top': '0.75in',
'margin-right': '0.75in',
'margin-bottom': '0.75in',
'margin-left': '0.75in',
'encoding': "UTF-8",
'javascript-delay' : '550',
'no-outline': None})
except:
try:
#Failed so try with no options
pdfkit.from_string(html, file_name)
except:
#Pdf Export failed, show warning message
if not self.pdf_error_warning:
self.pdf_error_warning = True
print("\nRemarkable Error:\tPDF Export Failed!!")
pdf_fail_dialog = Gtk.MessageDialog(self, 0, Gtk.MessageType.ERROR,
Gtk.ButtonsType.CANCEL, "PDF EXPORT FAILED")
pdf_fail_dialog.format_secondary_text(
"File export to PDF was unsuccessful.")
pdf_fail_dialog.run()
pdf_fail_dialog.destroy()
elif response == Gtk.ResponseType.CANCEL:
pass
chooser.destroy()
self.window.set_sensitive(True)
VulnerabilitiesSpider.py 文件源码
项目:Vulnerabilities-spider
作者: muhammad-bouabid
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def __init__(self, parent):
Gtk.Dialog.__init__(self, "History Scanne Tables", parent,
Gtk.DialogFlags.MODAL, buttons=(
Gtk.STOCK_OK, Gtk.ResponseType.OK,
Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL))
self.set_default_size(500, 400)
box = self.get_content_area()
self.HoriBox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
box.add(self.HoriBox)
self.scrolledwindow = Gtk.ScrolledWindow()
self.scrolledwindow.set_hexpand(True)
self.scrolledwindow.set_vexpand(True)
self.HoriBox.pack_start(self.scrolledwindow, True, True, 0)
self.people_lst = []
#convert data to listStore Now (lists that TreeView can Display)
peoples_list_store = Gtk.ListStore(str, str, str, str)
for item in self.people_lst:
peoples_list_store.append(list(item))
#Make treeView for those item will display
people_tree_view = Gtk.TreeView(peoples_list_store)
for i, col_title in enumerate(["Website", "Point", "Faille","Payload"]):
#Render means how to draw the data
renderer = Gtk.CellRendererText()
#create columns
column = Gtk.TreeViewColumn(col_title, renderer, text=i)
column.set_sort_column_id(i) # Make the Columns Sortable just bech ywali bsort (option)
people_tree_view.append_column(column) # Add column to treeView
#Handel data
selected_row = people_tree_view.get_selection()
selected_row.connect("changed", self.the_item_selected)
# Add TreeView to main layout now
self.scrolledwindow.add(people_tree_view)
self.show_all()
#user selectred row method