def onBackupDirsBtnClicked(self, widget):
        dialog = Gtk.FileChooserDialog(
            "Choose Another Folder: ", None,
            Gtk.FileChooserAction.SELECT_FOLDER,
            (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, "Select",
             Gtk.ResponseType.OK))
        dialog.set_default_size(800, 600)

        response = dialog.run()
        filename = ""
        if response == Gtk.ResponseType.OK:
            print(dialog.get_filename())
            filename = dialog.get_filename()
        elif response == Gtk.ResponseType.CANCEL:
            print("Cancel clicked")
        if config.get_value('folderstobak').strip() == "":
            config.set_value('folderstobak', filename.strip())
        else:
            config.set_value(
                'folderstobak',
                config.get_value("folderstobak").strip() + ";" +
                filename.strip())

        builder.get_object("entry").set_text(config.get_value("folderstobak"))
        dialog.destroy()
    def onSelectBackupLocationBtnClicked(self, widget):
        dialog = Gtk.FileChooserDialog(
            "Choose a Folder: ", None, Gtk.FileChooserAction.SELECT_FOLDER,
            (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, "Select",
             Gtk.ResponseType.OK))
        dialog.set_default_size(800, 600)

        response = dialog.run()
        filename = ""
        if response == Gtk.ResponseType.OK:
            print(dialog.get_filename())
            filename = dialog.get_filename()
            config.set_value('backuploc', filename)
        elif response == Gtk.ResponseType.CANCEL:
            print("Cancel clicked")

        builder.get_object("entry1").set_text(config.get_value("backuploc"))
        dialog.destroy()
    def onBackupDirsBtnClicked(self, widget):
        dialog = Gtk.FileChooserDialog(
            "Choose Another Folder: ", None,
            Gtk.FileChooserAction.SELECT_FOLDER,
            (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, "Select",
             Gtk.ResponseType.OK))
        dialog.set_default_size(800, 600)

        response = dialog.run()
        filename = ""
        if response == Gtk.ResponseType.OK:
            print(dialog.get_filename())
            filename = dialog.get_filename()
            if filename in config.get_value('folderstobak').split(';'):
                print("DEBUG: Already added, skipping...")
            else:
                if config.get_value('folderstobak').strip() == "":
                    config.set_value('folderstobak', filename.strip())
                #foldertobak previously set
                else:
                    config.set_value(
                        'folderstobak',
                        config.get_value("folderstobak").strip() + ";" +
                        filename.strip())

                filename_label = Gtk.Label(filename)
                label_dict[filename] = filename_label
                filler_listboxrow = Gtk.ListBoxRow()
                filler_listboxrow.add(filename_label)
                print("DEBUG: adding filler listboxrow to folders listbox")
                builder.get_object("folders_listbox").add(filler_listboxrow)
                builder.get_object("folders_listbox").show_all()

                #update dicts
                lbr_dict[filler_listboxrow] = filename_label
                label_dict[filename] = filename_label
        elif response == Gtk.ResponseType.CANCEL:
            print("Cancel clicked")

        dialog.destroy()
    def onRemoveBackupDirsBtnClicked(self, widget):
        corresponding_label = lbr_dict.get(
            builder.get_object('folders_listbox').get_selected_row())
        corresponding_folder = corresponding_label.get_text()

        selected_row = builder.get_object('folders_listbox').get_selected_row()
        print("DEBUG: Removing selected row")

        builder.get_object('folders_listbox').remove(selected_row)
        del lbr_dict[selected_row]
        del label_dict[corresponding_folder]

        #build folderstobak_str
        folderstobak_str = ""
        len_folders = len(label_dict)
        current_folder = 0
        for key, value in label_dict.items():
            folderstobak_str += key
            if len_folders - 1 != current_folder:
                folderstobak_str += ";"
            current_folder += 1
        print("DEBUG: new folders to bak str is: " + folderstobak_str)
        #write to config.cfg
        config.set_value('folderstobak', folderstobak_str)