def __init__(self, parent=None): builder = Gtk.Builder() builder.add_from_file(get_ui_file("account/category_assignments_dialog.glade")) builder.connect_signals(self) # get gui objects sw = builder.get_object("scrolledwindow") dlg = builder.get_object("dialog") self.searchstring_entry = builder.get_object("searchstring_entry") self.priority_entry = builder.get_object("priority_entry") self.category_combobox = builder.get_object("category_combobox") self.preview_sw = builder.get_object("preview_sw") self.active_rule = None self.preview_active = None # create gui elements self._init_tree() self._init_combobox() sw.add(self.rules_tree) # setup and show dialog dlg.set_transient_for(parent) dlg.add_buttons(Gtk.STOCK_CLOSE, Gtk.ResponseType.ACCEPT) dlg.show_all() dlg.run() dlg.destroy()
def __init__(self, account, parent): self.account = account builder = Gtk.Builder() builder.add_from_file(get_ui_file("account/edit_account_dialog.glade")) self.dlg = builder.get_object("dialog") self.dlg.set_transient_for(parent.tree.get_toplevel()) self.name_entry = builder.get_object("name_entry") self.name_entry.set_text(account.name) self.balance_entry = builder.get_object("balance_entry") adjustment = builder.get_object("adjustment1") adjustment.set_value(account.balance) self.combobox = builder.get_object("type_combobox") liststore = Gtk.ListStore(int, str) self.combobox.set_model(liststore) cell = Gtk.CellRendererText() self.combobox.pack_start(cell, True) self.combobox.add_attribute(cell, "text", 1) for account_type, name in account_m.yield_account_types(): iterator = liststore.append([account_type, name]) if account_type == account.type: self.combobox.set_active_iter(iterator) self.dlg.add_buttons(Gtk.STOCK_CLOSE, Gtk.ResponseType.ACCEPT) self.dlg.connect("response", self.on_response) self.dlg.show()
def __init__(self, pf, transaction=None, parent=None): self.pf = pf self.transaction = transaction builder = Gtk.Builder() builder.add_from_file(get_ui_file("portfolio/buy_dialog.glade")) self.dlg = builder.get_object("dialog") self.shares_entry = builder.get_object("shares_entry") self.price_entry = builder.get_object("price_entry") self.costs_entry = builder.get_object("costs_entry") self.total_entry = builder.get_object("total_entry") self.calendar = builder.get_object("calendar") grid = builder.get_object("grid") self.dlg.set_transient_for(parent) self.dlg.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT, Gtk.STOCK_APPLY, Gtk.ResponseType.ACCEPT) self.dlg.set_response_sensitive(Gtk.ResponseType.ACCEPT, False) self.on_change() # asset entry if not self.transaction: self.asset_selector = dialogs.StockSelector() grid.attach(self.asset_selector, 0, 1, 3, 1) self.asset_selector.result_tree.connect('cursor-changed', self.on_asset_selection) self.asset_selector.result_tree.get_model().connect('row-deleted', self.on_asset_deselection) else: self.shares_entry.set_value(self.transaction.quantity) self.total_entry.set_value(-self.transaction.total) self.costs_entry.set_value(self.transaction.cost) self.calendar.select_month(self.transaction.date.month - 1, self.transaction.date.year) self.calendar.select_day(self.transaction.date.day) self.on_change() # info bar to show warnings self.infobar = Gtk.InfoBar() self.infobar.set_message_type(Gtk.MessageType.WARNING) content = self.infobar.get_content_area() label = Gtk.Label(label=_('Buy dates can not be in the future.')) image = Gtk.Image() image.set_from_stock(Gtk.STOCK_DIALOG_WARNING, Gtk.IconSize.DIALOG) content.pack_start(image, True, True, 0) content.pack_start(label, True, True, 0) self.dlg.get_content_area().pack_start(self.infobar, True, True, 0) builder.connect_signals(self) self.date_ok = True if self.transaction: self.asset_ok = True self.position = transaction.position self.dlg.set_response_sensitive(Gtk.ResponseType.ACCEPT, True) else: self.asset_ok = False self.position = None self.dlg.set_response_sensitive(Gtk.ResponseType.ACCEPT, False) self.dlg.run()
def __init__(self, account=None, parent=None): self.builder = Gtk.Builder() self.builder.add_from_file(get_ui_file("account/import_csv_dialog.glade")) self.dlg = self.builder.get_object("dialog") self.dlg.set_transient_for(parent) self.import_button = self.builder.get_object("import_button") self.builder.connect_signals(self) self.account = account self.config = config.avernusConfig() self.importer = csvimporter.CsvImporter() self.b_categories = self.config.get_option('category_assignments_on_import') == 'True' self.importer.do_categories = self.b_categories self.b_file = False self.b_account = not account is None self._init_widgets() self.dlg.show_all() response = self.dlg.run() self.process_result(response=response)
def __init__(self, parent=None): self.parent = parent builder = Gtk.Builder() builder.add_from_file(get_ui_file("portfolio/asset_manager_dialog.glade")) self.tree = gui_utils.Tree() self.tree.set_headers_visible(True) model = Gtk.ListStore(object, str, str, str, str) self.tree.set_model(model) self.tree.create_column(_('Name'), 1) self.tree.create_column(_('ISIN'), 2) self.tree.create_column(_('Type'), 3) self.tree.create_column(_('Currency'), 4) sw = builder.get_object("scrolledwindow") sw.add(self.tree) tb = builder.get_object("toolbar") tb.get_style_context().add_class("inline-toolbar") # connect signals handlers = { "on_delete_clicked": self.on_delete, "on_edit_clicked": self.on_edit } builder.connect_signals(handlers) self.tree.connect("button-press-event", self.on_button_press_event) # load items for asset in asset_m.get_all_assets(): model.append(self.get_row(asset)) dlg = builder.get_object("dialog") dlg.set_transient_for(parent) dlg.add_buttons( Gtk.STOCK_CLOSE, Gtk.ResponseType.ACCEPT) dlg.show_all() dlg.run() dlg.destroy()