예제 #1
0
    def __init__(self, parent):
        #Qt.WindowModal
        super(SettingsWindow, self).__init__(parent)
        self.setWindowTitle("Settings")
        self.tabbar = QTabWidget(self)
        self.tab_app = VPage(self)
        self.tab_search = VPage(self)
        self.tab_style = VPage(self)

        self.container = QVBoxLayout(self)

        self.container.setSpacing(0)
        self.setFixedHeight(400)

        self.init_tab_app()
        self.init_tab_search()
        self.init_tab_style()

        # add widgets to scroll areas after initializing them

        self.tabbar.addTab(self.tab_app, "Application")
        self.tabbar.addTab(self.tab_search, "Search Preset")
        self.tabbar.addTab(self.tab_style, "Theme")

        self.hbox_dia = QHBoxLayout()
        self.btn_accept = QPushButton("Save & Close")
        self.btn_cancel = QPushButton("Cancel")
        self.hbox_dia = QHBoxLayout()
        self.hbox_dia.addWidget(self.btn_accept)
        self.hbox_dia.addWidget(self.btn_cancel)
        self.btn_accept.setFixedWidth(128)
        self.btn_cancel.setFixedWidth(128)

        self.container.addWidget(self.tabbar)
        self.container.addLayout(self.hbox_dia)

        self.btn_cancel.clicked.connect(self.reject)
        self.btn_accept.clicked.connect(self.accept)

        self.setData_app()
        self.setData_search()
        self.setData_style()
예제 #2
0
    def init_tab_style(self):

        self.cbox_theme = QComboBox(self)
        self.cbox_theme.addItem("default")

        for item in loadStyleDir():
            self.cbox_theme.addItem(item)

        self.btn_theme = QPushButton("Apply Custom Colors", self)
        self.btn_theme_reset = QPushButton("Default Colors", self)

        self.scroll_tstyle = QScrollArea(self)

        self.style_page = VPage()

        # ----------------------------------------------------------
        self.gbox_style1 = QGroupBox("Theme Colors", self)

        self.grid_themecolor = QGridLayout()
        self.grid_themecolor.setColumnMinimumWidth(0, 300)

        self.themeColors = []
        self.themeColors.append(ColorEdit(self))
        self.themeColors.append(ColorEdit(self))
        self.themeColors.append(ColorEdit(self))

        self.themeColors.append(ColorEdit(self))
        self.themeColors.append(ColorEdit(self))
        self.themeColors.append(ColorEdit(self))

        self.grid_themecolor.addWidget(QLabel("Primary Color"), 0, 0,
                                       Qt.AlignLeft)
        self.grid_themecolor.addWidget(self.themeColors[0].edit, 0, 1,
                                       Qt.AlignRight)

        self.grid_themecolor.addWidget(QLabel("Secondary Color"), 1, 0,
                                       Qt.AlignLeft)
        self.grid_themecolor.addWidget(self.themeColors[1].edit, 1, 1,
                                       Qt.AlignRight)

        self.grid_themecolor.addWidget(QLabel("Background Color"), 2, 0,
                                       Qt.AlignLeft)
        self.grid_themecolor.addWidget(self.themeColors[2].edit, 2, 1,
                                       Qt.AlignRight)

        self.grid_themecolor.addWidget(QLabel("Light Color"), 3, 0,
                                       Qt.AlignLeft)
        self.grid_themecolor.addWidget(self.themeColors[3].edit, 3, 1,
                                       Qt.AlignRight)

        self.grid_themecolor.addWidget(QLabel("Nuetral Color"), 4, 0,
                                       Qt.AlignLeft)
        self.grid_themecolor.addWidget(self.themeColors[4].edit, 4, 1,
                                       Qt.AlignRight)

        self.grid_themecolor.addWidget(QLabel("Dark Color"), 5, 0,
                                       Qt.AlignLeft)
        self.grid_themecolor.addWidget(self.themeColors[5].edit, 5, 1,
                                       Qt.AlignRight)

        self.gbox_style1.setLayout(self.grid_themecolor)

        self.gbox_style2 = QGroupBox("Text and Highlight", self)
        self.gbox_style2.setSizePolicy(QSizePolicy.Expanding,
                                       QSizePolicy.Minimum)
        self.grid_textcolor = QGridLayout()

        self.textColors = []
        self.textColors.append(ColorEdit(self))
        self.textColors.append(ColorEdit(self))
        self.textColors.append(ColorEdit(self))

        self.textColors.append(ColorEdit(self))
        self.textColors.append(ColorEdit(self))

        self.textColors.append(ColorEdit(self))
        self.textColors.append(ColorEdit(self))

        self.textColors.append(ColorEdit(self))
        self.textColors.append(ColorEdit(self))

        self.spin_font = QSpinBox(self)
        self.spin_font.setMaximum(16)
        self.spin_font.setMinimum(8)
        self.spin_font.setValue(12)
        self.spin_font.setFixedWidth(55)

        self.cbox_font = QFontComboBox()
        self.cbox_font.setEditable(False)
        filter = QFontComboBox.ScalableFonts | QFontComboBox.MonospacedFonts | QFontComboBox.ProportionalFonts
        self.cbox_font.setFontFilters(filter)

        self.grid_textcolor.addWidget(QLabel("Font Size", self), 0, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.cbox_font, 0, 1, Qt.AlignRight)
        self.grid_textcolor.addWidget(self.spin_font, 0, 2, Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Text Color"), 1, 0, Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[0].edit, 1, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Text Color - Light"), 2, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[1].edit, 2, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Text Color - Dark"), 3, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[2].edit, 3, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Important Text 1"), 4, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[3].edit, 4, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Important Text 2"), 5, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[4].edit, 5, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Highlight Color"), 6, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[5].edit, 6, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Highlight Invalid"), 7, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[6].edit, 7, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Highlight Special 1"), 8, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[7].edit, 8, 2,
                                      Qt.AlignRight)

        self.grid_textcolor.addWidget(QLabel("Highlight Special 2"), 9, 0,
                                      Qt.AlignLeft)
        self.grid_textcolor.addWidget(self.textColors[8].edit, 9, 2,
                                      Qt.AlignRight)

        self.gbox_style2.setLayout(self.grid_textcolor)

        self.style_page.addWidget(self.gbox_style1)
        self.style_page.addWidget(self.gbox_style2)

        self.scroll_tstyle.setWidget(self.style_page)
        self.scroll_tstyle.setSizePolicy(QSizePolicy.Expanding,
                                         QSizePolicy.Minimum)

        #--------------------------------
        #self.test = []
        #self.test.append(ColorEdit(self))
        #self.test.append(ColorEdit(self))
        #self.test.append(ColorEdit(self))
        #self.test.append(ColorEdit(self))
        #h = QHBoxLayout()
        #h.addWidget(self.test[0].edit)
        #h.addWidget(self.test[1].edit)
        #h.addWidget(self.test[2].edit)
        #h.addWidget(self.test[3].edit)
        #self.tab_style.addLayout(h)
        #--------------------------------

        self.tab_style.addWidget(self.cbox_theme)
        h = QHBoxLayout()
        h.addWidget(self.btn_theme_reset)
        h.addWidget(self.btn_theme)

        self.tab_style.addLayout(h)
        self.tab_style.addWidget(self.scroll_tstyle)

        self.btn_theme.clicked.connect(self.getData_style)
        self.btn_theme_reset.clicked.connect(self.button_theme_setDefault)
        self.cbox_theme.currentIndexChanged.connect(self.themeChanged)