Exemple #1
0
    def __init__(self):
        gobject.GObject.__init__(self)

        self.builder = get_builder("warehousing")
        self.window = None
        self.treestore = None

        #self.grpCodeEntry = numberentry.NumberEntry()
        #box = self.builder.get_object("grpCodeBox")
        #box.add(self.grpCodeEntry)
        #self.grpCodeEntry.show()

        self.sellCodeEntry = numberentry.NumberEntry()
        box = self.builder.get_object("sellCodeBox")
        box.add(self.sellCodeEntry)
        self.sellCodeEntry.show()
        self.sellCodeEntry.connect("activate", self.selectSellingSubject)
        self.sellCodeEntry.set_tooltip_text(
            _("Press Enter to see available subjects."))

        self.buyCodeEntry = numberentry.NumberEntry()
        box = self.builder.get_object("buyCodeBox")
        box.add(self.buyCodeEntry)
        self.buyCodeEntry.show()
        self.buyCodeEntry.connect("activate", self.selectBuyingSubject)
        self.buyCodeEntry.set_tooltip_text(
            _("Press Enter to see available subjects."))

        self.builder.connect_signals(self)
Exemple #2
0
    def __init__(self):
        customergroup.Group.__init__(self)

        self.custgrpentry = numberentry.NumberEntry(10)
        self.builder.get_object("custGrpBox").add(self.custgrpentry)
        self.custgrpentry.show()

        self.custIntroducerEntry = numberentry.NumberEntry(10)
        self.builder.get_object("custIntroducerBox").add(
            self.custIntroducerEntry)
        self.custIntroducerEntry.show()

        self.boxCommissionRateEntry = decimalentry.DecimalEntry(10)
        self.builder.get_object("boxCommissionRateEntry").add(
            self.boxCommissionRateEntry)
        self.boxCommissionRateEntry.show()

        self.boxDiscRateEntry = decimalentry.DecimalEntry(10)
        self.builder.get_object("boxDiscRateEntry").add(self.boxDiscRateEntry)
        self.boxDiscRateEntry.show()

        self.boxBalanceEntry = decimalentry.DecimalEntry(10)
        self.builder.get_object("boxBalanceEntry").add(self.boxBalanceEntry)
        self.boxBalanceEntry.show()

        self.boxCreditEntry = decimalentry.DecimalEntry(10)
        self.builder.get_object("boxCreditEntry").add(self.boxCreditEntry)
        self.boxCreditEntry.show()
Exemple #3
0
    def __init__(self):
        gobject.GObject.__init__(self)

        self.builder = get_builder("customers")
        self.window = None
        self.treestore = None

        self.grpCodeEntry = numberentry.NumberEntry()
        box = self.builder.get_object("grpCodeBox")
        box.add(self.grpCodeEntry)
        self.grpCodeEntry.show()

        self.builder.connect_signals(self)
Exemple #4
0
 def __init__(self):
     self.builder = get_builder("report")
     
     self.window = self.builder.get_object("window2")
     
     self.number = numberentry.NumberEntry()
     box = self.builder.get_object("numbox")
     box.add(self.number)
     self.number.set_activates_default(True)
     self.number.show()
     
     config.db.session = config.db.session
     self.window.show_all()
     self.builder.connect_signals(self)
Exemple #5
0
    def __init__(self, number=0, background=None):
        self.main_window_background = background
        self.new_items = []
        self.deleted_items = []
        self.edit_items = []
        self.builder = get_builder("document")
        
        self.window = self.builder.get_object("window1")
        self.window.set_title(_("Register new document"))
        
        self.date = dateentry.DateEntry()
        box = self.builder.get_object("datebox")
        box.add(self.date)
        self.date.show()
        
        self.code = numberentry.NumberEntry()
        box = self.builder.get_object("codebox")
        box.add(self.code)
        self.code.show()
        self.code.connect("activate", self.selectSubject)
        self.code.set_tooltip_text(_("Press Enter to see available subjects."))
        
        self.amount = numberentry.NumberEntry()
        box = self.builder.get_object("amountbox")
        box.add(self.amount)
        self.amount.set_activates_default(True)
        self.amount.show()
        
        self.treeview = self.builder.get_object("treeview")
        #self.treeview.set_direction(gtk.TEXT_DIR_LTR)
        if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL :
            halign = 1
        else:
            halign = 0
        self.liststore = gtk.ListStore(str, str, str, str, str, str, str)
        
        column = gtk.TreeViewColumn(_("Index"), gtk.CellRendererText(), text=0)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Subject Code"), gtk.CellRendererText(), text=1)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Subject Name"), gtk.CellRendererText(), text=2)
        column.set_spacing(5)
        column.set_resizable(True)
        
        money_cell_renderer = gtk.CellRendererText()
        #money_cell_renderer.set_alignment(1.0, 0.5) #incompatible with pygtk2.16
        
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Debt"), money_cell_renderer, text=3)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Credit"), money_cell_renderer, text=4)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Description"), gtk.CellRendererText(), text=5)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        #column = gtk.TreeViewColumn(_("Notebook ID") , gtk.CellRendererText(), text=6)
        #column.set_alignment(halign)
        #column.set_spacing(5)
        #column.set_resizable(True)
        #self.treeview.append_column(column)

        self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE)
        
        self.debt_sum   = 0
        self.credit_sum = 0
        self.numrows    = 0
        
        self.auto_win   = None
        self.cl_document = class_document.Document()

        if number > 0:
            if self.cl_document.set_bill(number):
                self.showRows()
                self.window.set_title(_("Edit document"))
            else:
                numstring = utility.LN(number)
                msg = _("No document found with number %s\nDo you want to register a document with this number?") % numstring
                msgbox = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK_CANCEL, msg)
                msgbox.set_title(_("No Documents found"))
                result = msgbox.run()
                msgbox.destroy()
                if result == gtk.RESPONSE_CANCEL:
                    return
                else:
                    self.builder.get_object("docnumber").set_text (numstring)
    
        self.treeview.set_model(self.liststore)
        self.window.show_all()
        
        if self.cl_document.permanent:
            self.builder.get_object("editable").hide()
            self.builder.get_object("non-editable").show()
        else:
            self.builder.get_object("editable").show()
            self.builder.get_object("non-editable").hide()
        
        self.builder.connect_signals(self)
Exemple #6
0
    def __init__(self, number=0):
        self.builder = get_builder("document")

        self.window = self.builder.get_object("window1")
        self.window.set_title(_("Register new document"))

        self.date = dateentry.DateEntry()
        box = self.builder.get_object("datebox")
        box.add(self.date)
        self.date.show()

        self.code = numberentry.NumberEntry()
        box = self.builder.get_object("codebox")
        box.add(self.code)
        self.code.show()
        self.code.connect("activate", self.selectSubject)
        self.code.set_tooltip_text(_("Press Enter to see available subjects."))

        self.amount = numberentry.NumberEntry()
        box = self.builder.get_object("amountbox")
        box.add(self.amount)
        self.amount.set_activates_default(True)
        self.amount.show()

        self.treeview = self.builder.get_object("treeview")
        self.treeview.set_direction(gtk.TEXT_DIR_LTR)
        if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
            halign = 1
        else:
            halign = 0
        self.liststore = gtk.ListStore(str, str, str, str, str, str)

        column = gtk.TreeViewColumn(_("Index"), gtk.CellRendererText(), text=0)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Subject Code"),
                                    gtk.CellRendererText(),
                                    text=1)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Subject Name"),
                                    gtk.CellRendererText(),
                                    text=2)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)

        money_cell_renderer = gtk.CellRendererText()
        #money_cell_renderer.set_alignment(1.0, 0.5) #incompatible with pygtk2.16

        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Debt"), money_cell_renderer, text=3)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Credit"), money_cell_renderer, text=4)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Description"),
                                    gtk.CellRendererText(),
                                    text=5)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)

        self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE)

        #        self.session = config.db.session
        self.debt_sum = 0
        self.credit_sum = 0
        self.numrows = 0
        self.permanent = False

        if number > 0:
            query = config.db.session.query(Bill).select_from(Bill)
            bill = query.filter(Bill.number == number).first()
            self.docnumber = number
            if bill == None:
                numstring = str(number)
                if config.digittype == 1:
                    numstring = utility.convertToPersian(numstring)
                msg = _(
                    "No document found with number %s\nDo you want to register a document with this number?"
                ) % numstring
                msgbox = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL,
                                           gtk.MESSAGE_WARNING,
                                           gtk.BUTTONS_OK_CANCEL, msg)
                msgbox.set_title(_("No Documents found"))
                result = msgbox.run()
                msgbox.destroy()
                if result == gtk.RESPONSE_CANCEL:
                    return
                else:
                    self.docid = 0
                    docnum = str(self.docnumber)
                    if config.digittype == 1:
                        docnum = utility.convertToPersian(docnum)
                    self.builder.get_object("docnumber").set_text(docnum)
            else:
                self.showRows(number)
                self.permanent = bill.permanent
                self.window.set_title(_("Edit document"))
        else:
            self.docnumber = 0
            self.docid = 0

        self.treeview.set_model(self.liststore)
        self.window.show_all()
        if self.permanent:
            self.builder.get_object("editable").hide()
            self.builder.get_object("non-editable").show()
        else:
            self.builder.get_object("editable").show()
            self.builder.get_object("non-editable").hide()

        self.builder.connect_signals(self)
    def __init__(self, type=1):
        self.builder = get_builder("report")

        self.window = self.builder.get_object("window1")

        self.code = numberentry.NumberEntry()
        box = self.builder.get_object("codebox")
        box.add(self.code)
        self.code.show()
        self.code.connect("activate", self.selectSubject)
        self.code.set_tooltip_text(_("Press Enter to see available subjects."))

        self.date = DateEntry()
        box = self.builder.get_object("datebox")
        box.add(self.date)
        self.date.set_sensitive(False)
        self.date.set_activates_default(True)
        self.date.show()

        self.fdate = DateEntry()
        box = self.builder.get_object("fdatebox")
        box.add(self.fdate)
        self.fdate.set_sensitive(False)
        self.fdate.set_activates_default(True)
        self.fdate.show()

        self.tdate = DateEntry()
        box = self.builder.get_object("tdatebox")
        box.add(self.tdate)
        self.tdate.set_sensitive(False)
        self.tdate.set_activates_default(True)
        self.tdate.show()

        self.fnum = numberentry.NumberEntry()
        box = self.builder.get_object("fnumbox")
        box.add(self.fnum)
        self.fnum.set_sensitive(False)
        self.fnum.set_activates_default(True)
        self.fnum.show()

        self.tnum = numberentry.NumberEntry()
        box = self.builder.get_object("tnumbox")
        box.add(self.tnum)
        self.tnum.set_sensitive(False)
        self.tnum.set_activates_default(True)
        self.tnum.show()

        self.builder.get_object("allcontent").set_active(True)

        self.type = type
        self.subcode = ""
        self.subname = ""

        self.window.show_all()
        self.builder.connect_signals(self)

        if type == self.__class__.DAILY:
            self.builder.get_object("subjectbox").hide()
            self.window.set_title(_("Daily NoteBook"))
        elif type == self.__class__.LEDGER:
            self.window.set_title(_("Ledgers NoteBook"))
        else:
            self.window.set_title(_("Sub-ledgers NoteBook"))
Exemple #8
0
    def __init__(self, ledgers_only=False):
        gobject.GObject.__init__(self)

        self.builder = get_builder("notebook")

        self.window = self.builder.get_object("subjectswindow")
        self.window.set_modal(True)

        self.treeview = self.builder.get_object("treeview")
        self.treeview.set_direction(gtk.TEXT_DIR_LTR)
        if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
            halign = 1
        else:
            halign = 0

        self.treestore = gtk.TreeStore(str, str, str, str)
        column = gtk.TreeViewColumn(_("Subject Code"),
                                    gtk.CellRendererText(),
                                    text=0)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Subject Name"),
                                    gtk.CellRendererText(),
                                    text=1)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Debtor or Creditor"),
                                    gtk.CellRendererText(),
                                    text=2)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = gtk.TreeViewColumn(_("Sum"), gtk.CellRendererText(), text=3)
        column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE)

        self.code = numberentry.NumberEntry()
        box = self.builder.get_object("codebox")
        box.add(self.code)
        self.code.show()

        config.db.session = config.db.session

        Subject1 = aliased(Subject, name="s1")
        Subject2 = aliased(Subject, name="s2")

        #Find top level ledgers (with parent_id equal to 0)
        query = config.db.session.query(Subject1.code, Subject1.name,
                                        Subject1.type, Subject1.lft,
                                        Subject1.rgt, count(Subject2.id))
        query = query.select_from(
            outerjoin(Subject1, Subject2, Subject1.id == Subject2.parent_id))
        result = query.filter(Subject1.parent_id == 0).group_by(
            Subject1.id).all()
        for a in result:
            type = _(self.__class__.subjecttypes[a[2]])
            code = a[0]
            if config.digittype == 1:
                code = utility.convertToPersian(code)
            #--------
            subject_sum = config.db.session.query(sum(
                Notebook.value)).select_from(
                    outerjoin(Subject, Notebook,
                              Subject.id == Notebook.subject_id))
            subject_sum = subject_sum.filter(
                and_(Subject.lft >= a.lft, Subject.lft <= a.rgt)).first()
            subject_sum = subject_sum[0]

            if (subject_sum == None):
                subject_sum = utility.showNumber("0")
            else:
                if (subject_sum < 0):
                    subject_sum = "( -" + utility.showNumber(
                        -subject_sum) + " )"
                else:
                    subject_sum = utility.showNumber(subject_sum)

            iter = self.treestore.append(None, (code, a[1], type, subject_sum))
            if (a[5] != 0 and ledgers_only == False):
                #Add empty subledger to show expander for ledgers which have chidren
                self.treestore.append(iter, ("", "", "", ""))

        if ledgers_only == True:
            btn = self.builder.get_object("addsubtoolbutton")
            btn.hide()

        self.treeview.set_model(self.treestore)
        self.treestore.set_sort_column_id(0, gtk.SORT_ASCENDING)
        self.window.show_all()
        self.builder.connect_signals(self)
Exemple #9
0
    def __init__(self, number=0, background=None):
        self.main_window_background = background
        self.new_items = []
        self.deleted_items = []
        self.edit_items = []
        self.builder = get_builder("document")

        self.window = self.builder.get_object("window1")
        # self.window.set_title(_("Register new document"))

        self.date = dateentry.DateEntry()
        box = self.builder.get_object("datebox")
        box.add(self.date)
        self.date.show()

        self.code = numberentry.NumberEntry()
        box = self.builder.get_object("codebox")
        box.add(self.code)
        self.code.show()
        self.code.connect("activate", self.selectSubject)
        self.code.set_tooltip_text(_("Press Enter to see available subjects."))

        self.amount = decimalentry.DecimalEntry()
        box = self.builder.get_object("amountbox")
        box.add(self.amount)
        self.amount.set_activates_default(True)
        self.amount.show()

        self.treeview = self.builder.get_object("treeview")
        #self.treeview.set_direction(Gtk.TextDirection.LTR)
        # if Gtk.widget_get_default_direction() == Gtk.TextDirection.RTL :
        #     halign = 1
        # else:
        #     halign = 0
        self.liststore = Gtk.ListStore(str, str, str, str, str, str, str)

        column = Gtk.TreeViewColumn(_("Index"), Gtk.CellRendererText(), text=0)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Subject Code"),
                                    Gtk.CellRendererText(),
                                    text=1)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Subject Name"),
                                    Gtk.CellRendererText(),
                                    text=2)
        column.set_spacing(5)
        column.set_resizable(True)

        money_cell_renderer = Gtk.CellRendererText()
        #money_cell_renderer.set_alignment(1.0, 0.5) #incompatible with pygtk2.16

        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Debt"), money_cell_renderer, text=3)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Credit"), money_cell_renderer, text=4)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Description"),
                                    Gtk.CellRendererText(),
                                    text=5)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        #column = Gtk.TreeViewColumn(_("Notebook ID") , Gtk.CellRendererText(), text=6)
        #column.set_alignment(halign)
        #column.set_spacing(5)
        #column.set_resizable(True)
        #self.treeview.append_column(column)

        self.treeview.get_selection().set_mode(Gtk.SelectionMode.SINGLE)

        self.debt_sum = 0
        self.credit_sum = 0
        self.numrows = 0

        self.auto_win = None
        self.cl_document = class_document.Document()

        if number > 0:
            if self.cl_document.set_bill(number):
                self.showRows()
                self.window.set_title(_("Edit document"))
            else:
                numstring = utility.LN(number)
                msg = _(
                    "No document found with number %s\nDo you want to register a document with this number?"
                ) % numstring
                msgbox = Gtk.MessageDialog(self.window, Gtk.DialogFlags.MODAL,
                                           Gtk.MessageType.WARNING,
                                           Gtk.ButtonsType.OK_CANCEL, msg)
                msgbox.set_title(_("No Documents found"))
                result = msgbox.run()
                msgbox.destroy()
                if result == Gtk.ResponseType.CANCEL:
                    return
                else:
                    self.builder.get_object("docnumber").set_text(numstring)

        self.treeview.set_model(self.liststore)
        self.window.show_all()

        self.builder.get_object("editable").hide()
        self.builder.get_object("non-editable").hide()
        if self.cl_document.permanent:
            # Pbill = config.db.session.query(Notebook).filter(Notebook.bill_id ==1).filter(or_(Notebook.chqId != 0 , Notebook.factorId != 0 ) ).first()
            # if Pbill  :
            if number != 1:
                self.builder.get_object("non-editable").show()
        else:
            self.builder.get_object("editable").show()

        self.builder.connect_signals(self)
Exemple #10
0
    def __init__(self, ledgers_only=False,
                 parent_id=[
                     0,
                 ], multiselect=False):
        GObject.GObject.__init__(self)

        self.builder = get_builder("notebook")

        self.window = self.builder.get_object("subjectswindow")
        self.window.set_modal(True)

        self.treeview = self.builder.get_object("treeview")

        # if Gtk.widget_get_default_direction() == Gtk.TextDirection.RTL :
        #     halign = 1
        # else:
        #     halign = 0

        self.treestore = Gtk.TreeStore(str, str, str, str, str)
        column = Gtk.TreeViewColumn(_("Subject Code"),
                                    Gtk.CellRendererText(),
                                    text=0)
        # column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Subject Name"),
                                    Gtk.CellRendererText(),
                                    text=1)
        # column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Debtor or Creditor"),
                                    Gtk.CellRendererText(),
                                    text=2)
        # column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Sum"), Gtk.CellRendererText(), text=3)
        # column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        column = Gtk.TreeViewColumn(_("Permanent"),
                                    Gtk.CellRendererText(),
                                    text=4)
        # column.set_alignment(halign)
        column.set_spacing(5)
        column.set_resizable(True)
        self.treeview.append_column(column)
        self.treeview.get_selection().set_mode(Gtk.SelectionMode.SINGLE)

        self.code = numberentry.NumberEntry()
        box = self.builder.get_object("codebox")
        box.add(self.code)
        self.code.show()

        #config.db.session = config.db.session

        Subject1 = aliased(Subject, name="s1")
        Subject2 = aliased(Subject, name="s2")

        #Find top level ledgers (with parent_id equal to 0)
        query = config.db.session.query(Subject1.code, Subject1.name,
                                        Subject1.type,
                                        Subject1.lft, Subject1.rgt,
                                        count(Subject2.id), Subject1.permanent)
        query = query.select_from(
            outerjoin(Subject1, Subject2, Subject1.id == Subject2.parent_id))
        if len(parent_id) == 1:
            result = query.filter(Subject1.parent_id == parent_id[0]).group_by(
                Subject1.id).all()
        else:
            result = query.filter(Subject1.id.in_(parent_id)).group_by(
                Subject1.id).all()

        for a in result:
            type = _(self.subjecttypes[a[2]])
            permanent = _("Permanent") if a[6] == True else "-"
            code = LN(a[0], False)
            #--------
            subject_sum = config.db.session.query(sum(
                Notebook.value)).select_from(
                    outerjoin(Subject, Notebook,
                              Subject.id == Notebook.subject_id))
            subject_sum = subject_sum.filter(
                and_(Subject.lft >= a.lft, Subject.lft <= a.rgt)).first()
            subject_sum = subject_sum[0]

            if (subject_sum == None):
                subject_sum = LN("0")
            else:
                if (subject_sum < 0):
                    subject_sum = "( -" + LN(-subject_sum) + " )"
                else:
                    subject_sum = LN(subject_sum)

            iter = self.treestore.append(
                None, (code, a[1], type, subject_sum, permanent))
            if (a[5] != 0 and ledgers_only == False):
                #Add empty subledger to show expander for ledgers which have chidren
                self.treestore.append(iter, ("", "", "", "", ""))

        if ledgers_only == True:
            btn = self.builder.get_object("addsubtoolbutton")
            btn.hide()

        self.treeview.set_model(self.treestore)
        self.treestore.set_sort_column_id(0, Gtk.SortType.ASCENDING)
        self.window.show_all()
        self.builder.connect_signals(self)
        #self.rebuild_nested_set(0, 0)

        if multiselect:
            self.treeview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE)
            self.builder.get_object('toolbar4').hide()
            self.builder.get_object('statusbar1').hide()
        else:
            self.builder.get_object('hbox5').hide()