예제 #1
0
class ConfigDialog(QtGui.QDialog):
    def __init__(self, data={}):
        QtGui.QDialog.__init__(self)
        # Set up the UI from designer
        self.ui=Ui_ConfigDialog()
        self.ui.setupUi(self)
        self.curPageWidget=None
        self.scale=.3
        self.data=data

        # Load all config things
        self.pages={
            'Stylesheets':StyleSheets,
            'Page Setup':PageSetup,
            'Page Templates':PageTemplates,
        }
        keys=list(self.pages.keys())
        keys.sort()
        for page in keys:
            self.ui.pagelist.addItem(page)

    def on_pagelist_currentTextChanged(self, text=None):
        if text is None: return

        fd, style_file=tempfile.mkstemp()
        os.write(fd,json.dumps(self.data))
        os.close(fd)
        self.styles = StyleSheet([style_file])
        os.unlink(style_file)

        text=str(text)
        if self.curPageWidget:
            self.curPageWidget.hide()
            self.curPageWidget.deleteLater()
        widget=self.pages[text]
        self.curPageWidget=widget(self.styles,
                                  self.data,
                                  self.ui.preview,
                                  self.ui.snippet)
        self.ui.layout.addWidget(self.curPageWidget)
        self.curPageWidget.show()
        self.curPageWidget.updatePreview()

    def on_zoomin_clicked(self):
        self.scale=self.scale*1.25
        if self.curPageWidget:
            self.curPageWidget.scale=self.scale
            self.curPageWidget.updatePreview()

    def on_zoomout_clicked(self):
        self.scale=self.scale/1.25
        if self.curPageWidget:
            self.curPageWidget.scale=self.scale
            self.curPageWidget.updatePreview()
예제 #2
0
    def __init__(self, data={}):
        QtGui.QDialog.__init__(self)
        # Set up the UI from designer
        self.ui=Ui_ConfigDialog()
        self.ui.setupUi(self)
        self.curPageWidget=None
        self.scale=.3
        self.data=data

        # Load all config things
        self.pages={
            'Stylesheets':StyleSheets,
            'Page Setup':PageSetup,
            'Page Templates':PageTemplates,
        }
        keys=list(self.pages.keys())
        keys.sort()
        for page in keys:
            self.ui.pagelist.addItem(page)