Ejemplo n.º 1
0
    def __init__(self, parent, main_window):
        super().__init__()

        self.main_window = parent

        self.loaded = False
        self.default_width, self.default_height = parent.default_width, parent.default_height * 0.94
        self.default_x, self.default_y = 15, 15

        self.widgetlists = {
            "Big_Textbox": Big_Textbox,
            "Small_Textbox": Small_Textbox,
            "Titles": Titles,
            "Small_Titles": Small_Titles,
            "Slider": Slider,
            "DoubleSlider": DoubleSlider,
            "StartTimeSlider": StartTimeSlider,
            "EndTimeSlider": EndTimeSlider,
            "CheckBox": CheckBox
        }

        self.layout = QtWidgets.QHBoxLayout(parent)
        scrollAreaWidgetContents = QtWidgets.QWidget()
        scrollAreaWidgetContents.setStyleSheet(
            "background: transparent;border: none;")

        self.gridLayout = GridLayout(scrollAreaWidgetContents)

        self.scrollArea = Scrollbar(parent, self.gridLayout)
        self.scrollArea.setWidget(scrollAreaWidgetContents)
        self.layout.addWidget(self.scrollArea)
        self.scrollArea.horizontalScrollBar().setEnabled(False)
        self.setWidgetResizable(False)
Ejemplo n.º 2
0
    def __init__(self, parent, main_window):
        super().__init__(parent)

        self.main_window = parent

        self.loaded = False
        self.default_width, self.default_height = parent.default_width, parent.default_height - parent.ppsample.settings.height
        self.default_x, self.default_y = 10, parent.ppsample.settings.height

        self.widgetlists = {
            "Big_Textbox": BigTextBox,
            "Small_Textbox": SmallTextBox,
            "Titles": Titles,
            "Small_Titles": SmallTitles,
            "Slider": Slider,
            "PathBox": PathBox
        }

        self.layout = QtWidgets.QHBoxLayout(parent)
        scrollAreaWidgetContents = QtWidgets.QWidget()
        self.setStyleSheet("background: gray;")
        self.gridLayout = GridLayout(scrollAreaWidgetContents)

        parent.default_width = self.default_width
        parent.default_height = self.default_height
        self.scrollArea = Scrollbar(parent, self.gridLayout)
        self.scrollArea.setWidget(scrollAreaWidgetContents)
        self.layout.addWidget(self.scrollArea)
        self.scrollArea.horizontalScrollBar().setEnabled(False)
        self.setWidgetResizable(False)
        self.setup()
Ejemplo n.º 3
0
class ScrollArea(QtWidgets.QScrollArea):
    def __init__(self, parent, main_window):
        super().__init__()

        self.main_window = parent

        self.loaded = False
        self.default_width, self.default_height = parent.default_width, parent.default_height * 0.94
        self.default_x, self.default_y = 15, 15

        self.widgetlists = {
            "Big_Textbox": Big_Textbox,
            "Small_Textbox": Small_Textbox,
            "Titles": Titles,
            "Small_Titles": Small_Titles,
            "Slider": Slider,
            "DoubleSlider": DoubleSlider,
            "StartTimeSlider": StartTimeSlider,
            "EndTimeSlider": EndTimeSlider,
            "CheckBox": CheckBox
        }

        self.layout = QtWidgets.QHBoxLayout(parent)
        scrollAreaWidgetContents = QtWidgets.QWidget()
        scrollAreaWidgetContents.setStyleSheet(
            "background: transparent;border: none;")

        self.gridLayout = GridLayout(scrollAreaWidgetContents)

        self.scrollArea = Scrollbar(parent, self.gridLayout)
        self.scrollArea.setWidget(scrollAreaWidgetContents)
        self.layout.addWidget(self.scrollArea)
        self.scrollArea.horizontalScrollBar().setEnabled(False)
        self.setWidgetResizable(False)

    def setup(self):
        self.layout.setGeometry(
            QtCore.QRect(self.default_x, self.default_y, self.default_width,
                         self.default_height))

    def changesize(self):

        scale = self.main_window.height() / self.main_window.default_height

        self.gridLayout.changesize(scale)

        x = scale * self.default_x
        y = scale * self.default_y
        width = self.main_window.width()
        height = self.main_window.height() * 0.93
        self.layout.setGeometry(QtCore.QRect(x, y, width, height))
        self.scrollArea.changesize()

    def load_settings(self):
        if self.loaded:
            return
        self.loaded = True

        data_config = {"config": current_config, "settings": current_settings}

        with open(optionconfigpath) as f:
            data = json.load(f)

        for header in data:
            self.gridLayout.smart_addWidget(Titles(header), 0)
            self.gridLayout.smart_addWidget(Separator(), 0)
            for key in data[header]:
                column = data[header][key].get(
                    "Column", 0)  # default to 0 if column is not specified
                widgetname = data[header][key]["type"]

                jsondata = {
                    "option_config": data[header][key],
                    "data": data_config,
                    "key": key
                }
                widget = self.widgetlists[widgetname](jsondata=jsondata)

                if widgetname == "CheckBox":
                    self.gridLayout.smart_addWidget(
                        CheckBox(jsondata=jsondata), column)
                else:
                    self.gridLayout.smart_addWidget(Small_Titles(key + ":"),
                                                    column)
                    self.gridLayout.smart_addWidget(widget, column)
            self.gridLayout.smart_addWidget(Titles(" "), 0)

        self.scrollArea.hide()
        self.scrollArea.raise_()

        print("settings")

    def reload_settings(self):
        self.loaded = False
        self.load_settings()
Ejemplo n.º 4
0
class ScrollArea(QtWidgets.QScrollArea):
    def __init__(self, parent, main_window):
        super().__init__()

        self.main_window = main_window
        self.settingspage = parent

        self.loaded = False
        self.default_width, self.default_height = parent.default_width, parent.default_height * 0.94
        self.default_x, self.default_y = 15, 15

        self.widgetlists = {
            "BigTextBox": BigTextBox,
            "SmallTextBox": SmallTextBox,
            "CustomModsTextBox": CustomModsTextBox,
            "VeryBigTextBox": VeryBigTextBox,
            "AverageTextBox": AverageTextBox,
            "Titles": Titles,
            "SmallTitles": SmallTitles,
            "Slider": Slider,
            "DoubleSlider": DoubleSlider,
            "StartTimeSlider": StartTimeSlider,
            "EndTimeSlider": EndTimeSlider,
            "CheckBox": CheckBox,
            "UpdateButton": UpdateButton,
            "PathBox": PathBox
        }

        self.layout = QtWidgets.QHBoxLayout(parent)
        scrollAreaWidgetContents = QtWidgets.QWidget()
        scrollAreaWidgetContents.setStyleSheet(
            "background: transparent;border: none;")

        self.gridLayout = GridLayout(scrollAreaWidgetContents)

        self.scrollArea = Scrollbar(parent, self.gridLayout)
        self.scrollArea.setWidget(scrollAreaWidgetContents)
        self.layout.addWidget(self.scrollArea)
        self.scrollArea.horizontalScrollBar().setEnabled(False)
        self.setWidgetResizable(False)

    def setup(self):
        self.layout.setGeometry(
            QtCore.QRect(self.default_x, self.default_y, self.default_width,
                         self.default_height))

    def changesize(self):

        scale = self.settingspage.height() / self.settingspage.default_height

        self.gridLayout.changesize(scale)

        x = scale * self.default_x
        y = scale * self.default_y
        width = self.settingspage.width()
        height = self.settingspage.height() * 0.93
        self.layout.setGeometry(QtCore.QRect(x, y, width, height))
        self.scrollArea.changesize()

    def load_settings(self):
        if self.loaded:
            return
        self.loaded = True

        with open(optionconfigpath) as f:
            data = json.load(f)

        options, tooltips, headers = self.main_window.langs_dropdown.getlang()

        for header in data:
            self.gridLayout.smart_addWidget(
                Titles(headers.get(header, header)), 0)
            self.gridLayout.smart_addWidget(Separator(), 0)
            for key in data[header]:
                column = data[header][key].get(
                    "Column", 0)  # default to 0 if column is not specified
                widgetname = data[header][key]["type"]

                data[header][key]["desc"] = tooltips.get(key, "")
                data[header][key]["name"] = options.get(key, key)
                widget = self.widgetlists[widgetname](
                    key=key, jsondata=data[header][key])

                if widgetname == "CheckBox" or widgetname == "UpdateButton":
                    self.gridLayout.smart_addWidget(widget, column)
                else:
                    self.gridLayout.smart_addWidget(
                        SmallTitles(options.get(key, key) + ":"), column)
                    self.gridLayout.smart_addWidget(widget, column)
            self.gridLayout.smart_addWidget(Titles(" "), 0)

        self.scrollArea.hide()
        self.scrollArea.raise_()

    def reload_settings(self):
        self.loaded = False

        while self.gridLayout.count():
            child = self.gridLayout.takeAt(0)
            if child.widget():
                child.widget().deleteLater()

        EndTimeSlider.objs = []
        StartTimeSlider.objs = []

        self.load_settings()
Ejemplo n.º 5
0
class PPLayout(QtWidgets.QScrollArea):
    def __init__(self, parent, main_window):
        super().__init__(parent)

        self.main_window = parent

        self.loaded = False
        self.default_width, self.default_height = parent.default_width, parent.default_height - parent.ppsample.settings.height
        self.default_x, self.default_y = 10, parent.ppsample.settings.height

        self.widgetlists = {
            "Big_Textbox": BigTextBox,
            "Small_Textbox": SmallTextBox,
            "Titles": Titles,
            "Small_Titles": SmallTitles,
            "Slider": Slider,
            "PathBox": PathBox
        }

        self.layout = QtWidgets.QHBoxLayout(parent)
        scrollAreaWidgetContents = QtWidgets.QWidget()
        self.setStyleSheet("background: gray;")
        self.gridLayout = GridLayout(scrollAreaWidgetContents)

        parent.default_width = self.default_width
        parent.default_height = self.default_height
        self.scrollArea = Scrollbar(parent, self.gridLayout)
        self.scrollArea.setWidget(scrollAreaWidgetContents)
        self.layout.addWidget(self.scrollArea)
        self.scrollArea.horizontalScrollBar().setEnabled(False)
        self.setWidgetResizable(False)
        self.setup()

    def setup(self):
        self.layout.setGeometry(
            QtCore.QRect(self.default_x, self.default_y, self.default_width,
                         self.default_height))

    def load_settings(self, ppsettings):
        if self.loaded:
            return
        self.loaded = True

        with open(self.main_window.optionpath) as f:
            data = json.load(f)

        for header in data:
            self.gridLayout.smart_addWidget(Titles(header), 0)
            self.gridLayout.smart_addWidget(Separator(), 0)
            for key in data[header]:
                column = data[header][key].get(
                    "Column", 0)  # default to 0 if column is not specified
                widgetname = data[header][key]["type"]

                widget = self.widgetlists[widgetname](
                    key=key, jsondata=data[header][key], datadict=ppsettings)

                self.gridLayout.smart_addWidget(SmallTitles(key + ":"), column)
                self.gridLayout.smart_addWidget(widget, column + 1)
            self.gridLayout.smart_addWidget(Titles(" "), 0)

        self.updatevalue()
        self.scrollArea.show()

    def updatevalue(self):
        self.gridLayout.updatevalue()