Example #1
0
    def setup_widget(self):
        self.layout = QtGui.QHBoxLayout()
        self.layout.setContentsMargins(0, 0, 0, 0)
        #
        # Setup label
        #
        self.label = QtGui.QLabel(self)
        self.label.installEventFilter(self)
        self.layout.addWidget(self.label)
        self.label.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
        #
        # Setup buttons
        #
        button_layout = QtGui.QVBoxLayout()
        button_layout.setSpacing(0)
        button_layout.setMargin(0)

        self.open_button = QtGui.QToolButton()
        self.open_button.setIcon(self.open_icon)
        self.open_button.setAutoRaise(True)
        self.open_button.setToolTip(unicode(_('open image')))
        self.open_button.clicked.connect(self.open_button_clicked)

        self.clear_button = QtGui.QToolButton()
        self.clear_button.setIcon(self.clear_icon)
        self.clear_button.setToolTip(unicode(_('delete image')))
        self.clear_button.setAutoRaise(True)
        self.clear_button.clicked.connect(self.clear_button_clicked)

        copy_button = QtGui.QToolButton()
        copy_button.setDefaultAction(
            ActionFactory.copy(self, self.copy_to_clipboard))
        copy_button.setAutoRaise(True)

        paste_button = QtGui.QToolButton()
        paste_button.setDefaultAction(
            ActionFactory.paste(self, self.paste_from_clipboard))
        paste_button.setAutoRaise(True)
        paste_button.setObjectName('paste')

        button_layout.addStretch()
        button_layout.addWidget(self.open_button)
        button_layout.addWidget(self.clear_button)
        button_layout.addWidget(copy_button)
        button_layout.addWidget(paste_button)

        self.layout.addLayout(button_layout)
        self.layout.addStretch()
        self.setLayout(self.layout)
        self.clear_image()
        QtGui.QApplication.clipboard().dataChanged.connect(
            self.clipboard_data_changed)
        self.clipboard_data_changed()
Example #2
0
    def setup_widget(self):
        layout = QtWidgets.QHBoxLayout()
        #
        # Setup label
        #
        self.label = QtWidgets.QLabel(self)
        self.label.installEventFilter(self)
        self.label.setAlignment( Qt.AlignHCenter|Qt.AlignVCenter )
        layout.addWidget(self.label)
        
        self.filename = DecoratedLineEdit( self )
        self.filename.setVisible( False )
        #
        # Setup buttons
        #
        button_layout = QtWidgets.QVBoxLayout()
        button_layout.setSpacing( 0 )
        button_layout.setContentsMargins( 0, 0, 0, 0)
        
        copy_button = QtWidgets.QToolButton()
        copy_button.setDefaultAction( ActionFactory.copy(self, self.copy_to_clipboard ) )
        copy_button.setAutoRaise(True)
        copy_button.setFocusPolicy(Qt.ClickFocus)

        paste_button = QtWidgets.QToolButton()
        paste_button.setDefaultAction( ActionFactory.paste(self, self.paste_from_clipboard ) )
        paste_button.setAutoRaise(True)
        paste_button.setObjectName('paste')
        paste_button.setFocusPolicy(Qt.ClickFocus)
        
        self.add_actions(self.actions, button_layout)
        button_layout.addWidget(copy_button)
        button_layout.addWidget(paste_button)
        button_layout.addStretch()

        layout.addLayout(button_layout)
        #label_button_layout.addStretch()
        self.setLayout( layout )
        self.clear_image()
        QtWidgets.QApplication.clipboard().dataChanged.connect( self.clipboard_data_changed )
        self.clipboard_data_changed()

        # horizontal policy is always expanding, to fill the width of a column
        # in a form
        vertical_size_policy = QtGui.QSizePolicy.Expanding

        if self.preview_width != 0:
            self.label.setMinimumWidth(self.preview_width)
        if self.preview_height != 0:
            self.label.setFixedHeight(self.preview_height)
            vertical_size_policy = QtGui.QSizePolicy.Fixed
        self.setSizePolicy(QtGui.QSizePolicy.Expanding, vertical_size_policy)
        self.label.setSizePolicy(QtGui.QSizePolicy.Expanding, vertical_size_policy)
Example #3
0
    def setup_widget(self):
        self.layout = QtGui.QHBoxLayout()
        self.layout.setContentsMargins( 0, 0, 0, 0 )
        #
        # Setup label
        #
        self.label = QtGui.QLabel(self)
        self.label.installEventFilter(self)
        self.layout.addWidget(self.label)
        self.label.setAlignment(Qt.AlignHCenter|Qt.AlignVCenter)
        #
        # Setup buttons
        #
        button_layout = QtGui.QVBoxLayout()
        button_layout.setSpacing(0)
        button_layout.setMargin(0)

        self.open_button = QtGui.QToolButton()
        self.open_button.setIcon(self.open_icon)
        self.open_button.setAutoRaise(True)
        self.open_button.setToolTip(unicode(_('open image')))
        self.open_button.clicked.connect(self.open_button_clicked)

        self.clear_button = QtGui.QToolButton()
        self.clear_button.setIcon(self.clear_icon)
        self.clear_button.setToolTip(unicode(_('delete image')))
        self.clear_button.setAutoRaise(True)
        self.clear_button.clicked.connect(self.clear_button_clicked)
        
        copy_button = QtGui.QToolButton()
        copy_button.setDefaultAction( ActionFactory.copy(self, self.copy_to_clipboard ) )
        copy_button.setAutoRaise(True)

        paste_button = QtGui.QToolButton()
        paste_button.setDefaultAction( ActionFactory.paste(self, self.paste_from_clipboard ) )
        paste_button.setAutoRaise(True)
        paste_button.setObjectName('paste')
        
        button_layout.addStretch()
        button_layout.addWidget(self.open_button)
        button_layout.addWidget(self.clear_button)
        button_layout.addWidget(copy_button)
        button_layout.addWidget(paste_button)

        self.layout.addLayout(button_layout)
        self.layout.addStretch()
        self.setLayout(self.layout)
        self.clear_image()
        QtGui.QApplication.clipboard().dataChanged.connect( self.clipboard_data_changed )
        self.clipboard_data_changed()
Example #4
0
    def get_tree_widget(self):
        tw = ModelTree(parent=self)
        tw.setObjectName('PaneTree')

        # i hate the sunken frame style
        tw.setFrameShape(QFrame.NoFrame)
        tw.setFrameShadow(QFrame.Plain)

        tw.contextmenu = QMenu(self)
        act = ActionFactory.new_tab(self, self.open_in_new_view)
        tw.contextmenu.addAction(act)
        tw.setContextMenuPolicy(Qt.CustomContextMenu)
        tw.customContextMenuRequested.connect(self.create_context_menu)

        return tw
Example #5
0
 def __init__(self, parent, section, workspace):
     super(PaneSection, self).__init__(parent)
     self._items = []
     self._workspace = workspace
     layout = QVBoxLayout()
     layout.setContentsMargins(0, 0, 0, 0)
     section_tree = ModelTree(parent=self)
     # i hate the sunken frame style
     section_tree.setFrameShape(QFrame.NoFrame)
     section_tree.setFrameShadow(QFrame.Plain)
     section_tree.contextmenu = QMenu(self)
     act = ActionFactory.new_tab(self, self.open_in_new_view)
     section_tree.contextmenu.addAction( act )
     section_tree.setContextMenuPolicy(Qt.CustomContextMenu)
     section_tree.customContextMenuRequested.connect(self.create_context_menu)
     section_tree.setObjectName( 'SectionTree' )
     section_tree.itemClicked.connect( self.open_in_current_view )
     layout.addWidget( section_tree )
     self.setLayout(layout)
     post( section.get_items, self.set_items )
Example #6
0
    def __init__(self, title, admin, model, index):
        AbstractView.__init__(self)

        layout = QtGui.QVBoxLayout()
        form_and_actions_layout = QtGui.QHBoxLayout()
        form_and_actions_layout.setObjectName('form_and_actions_layout')
        layout.addLayout(form_and_actions_layout)

        self.model = model
        self.admin = admin
        self.title_prefix = title

        form = FormWidget(self, admin)
        form.setObjectName('form')
        form.changed_signal.connect(self.update_title)
        form.set_model(model)
        form.set_index(index)
        form_and_actions_layout.addWidget(form)

        statusbar = StatusBar(self)
        statusbar.setObjectName('statusbar')
        statusbar.setSizeGripEnabled(False)
        layout.addWidget(statusbar)
        layout.setAlignment(statusbar, Qt.AlignBottom)
        self.setLayout(layout)

        self.change_title(title)

        if hasattr(admin, 'form_size') and admin.form_size:
            self.setMinimumSize(admin.form_size[0], admin.form_size[1])

        self.validator = admin.create_validator(model)
        self.validate_before_close = True

        def get_actions():
            return admin.get_form_actions(None)

        post(get_actions, self.setActions)
        self.update_title()
        #
        # Define actions
        #
        self.setContextMenuPolicy(Qt.ActionsContextMenu)
        self.addAction(ActionFactory.view_first(self, self.viewFirst))
        self.addAction(ActionFactory.view_last(self, self.viewLast))
        self.addAction(ActionFactory.view_next(self, self.viewNext))
        self.addAction(ActionFactory.view_previous(self, self.viewPrevious))
        self.addAction(ActionFactory.refresh(self, self.refresh_session))
        self.addAction(ActionFactory.export_ooxml(self, form.export_ooxml))
Example #7
0
    def __init__(self, title, admin, model, index):
        AbstractView.__init__(self)

        layout = QtGui.QVBoxLayout()
        form_and_actions_layout = QtGui.QHBoxLayout()
        form_and_actions_layout.setObjectName('form_and_actions_layout')
        layout.addLayout(form_and_actions_layout)

        self.model = model
        self.admin = admin
        self.title_prefix = title

        form = FormWidget(self, admin)
        form.setObjectName( 'form' )
        form.changed_signal.connect( self.update_title )
        form.set_model(model)
        form.set_index(index)
        form_and_actions_layout.addWidget(form)

        statusbar = StatusBar(self)
        statusbar.setObjectName('statusbar')
        statusbar.setSizeGripEnabled(False)
        layout.addWidget(statusbar)
        layout.setAlignment(statusbar, Qt.AlignBottom)
        self.setLayout(layout)

        self.change_title(title)

        if hasattr(admin, 'form_size') and admin.form_size:
            self.setMinimumSize(admin.form_size[0], admin.form_size[1])

        self.validator = admin.create_validator(model)
        self.validate_before_close = True

        def get_actions():
            return admin.get_form_actions(None)

        post(get_actions, self.setActions)
        self.update_title()
        #
        # Define actions
        #
        self.setContextMenuPolicy(Qt.ActionsContextMenu)
        self.addAction( ActionFactory.view_first(self, self.viewFirst) )
        self.addAction( ActionFactory.view_last(self, self.viewLast) )
        self.addAction( ActionFactory.view_next(self, self.viewNext) )
        self.addAction( ActionFactory.view_previous(self, self.viewPrevious) )
        self.addAction( ActionFactory.refresh(self, self.refresh_session) )
        self.addAction( ActionFactory.export_ooxml(self, form.export_ooxml) )
Example #8
0
 def __init__(self, parent, section, workspace):
     super(PaneSection, self).__init__(parent)
     self._items = []
     self._workspace = workspace
     layout = QVBoxLayout()
     layout.setContentsMargins(0, 0, 0, 0)
     section_tree = ModelTree(parent=self)
     # i hate the sunken frame style
     section_tree.setFrameShape(QFrame.NoFrame)
     section_tree.setFrameShadow(QFrame.Plain)
     section_tree.contextmenu = QMenu(self)
     act = ActionFactory.new_tab(self, self.open_in_new_view)
     section_tree.contextmenu.addAction(act)
     section_tree.setContextMenuPolicy(Qt.CustomContextMenu)
     section_tree.customContextMenuRequested.connect(
         self.create_context_menu)
     section_tree.setObjectName('SectionTree')
     section_tree.itemClicked.connect(self.open_in_current_view)
     layout.addWidget(section_tree)
     self.setLayout(layout)
     post(section.get_items, self.set_items)
Example #9
0
    def setup_widget(self):
        layout = QtGui.QVBoxLayout()
        layout.setSpacing( 0 )
        label_button_layout = QtGui.QHBoxLayout()
        #
        # Setup label
        #
        self.label = QtGui.QLabel(self)
        self.label.installEventFilter(self)
        self.label.setAlignment( Qt.AlignHCenter|Qt.AlignVCenter )
        label_button_layout.addWidget(self.label)
        
        self.filename = DecoratedLineEdit( self )
        self.filename.setVisible( False )
        #
        # Setup buttons
        #
        button_layout = QtGui.QVBoxLayout()
        button_layout.setSpacing( 0 )
        button_layout.setContentsMargins( 0, 0, 0, 0)

        self.save_as_button = QtGui.QToolButton()
        self.save_as_button.setFocusPolicy( Qt.ClickFocus )
        self.save_as_button.setIcon(self.save_as_icon.getQIcon())
        self.save_as_button.setToolTip(_('Save file as'))
        self.save_as_button.setAutoRaise(True)
        self.save_as_button.clicked.connect(self.save_as_button_clicked)
        
        self.open_button = QtGui.QToolButton()
        self.open_button.setIcon(self.open_icon.getQIcon())
        self.open_button.setAutoRaise(True)
        self.open_button.setToolTip(unicode(_('open image')))
        self.open_button.clicked.connect(self.open_button_clicked)

        self.add_button = QtGui.QToolButton()
        self.add_button.setFocusPolicy( Qt.StrongFocus )
        self.add_button.setIcon(self.add_icon.getQIcon())
        self.add_button.setToolTip(_('Attach file'))
        self.add_button.clicked.connect(self.add_button_clicked)
        self.add_button.setAutoRaise(True)
        
        self.clear_button = QtGui.QToolButton()
        self.clear_button.setIcon(self.clear_icon.getQIcon())
        self.clear_button.setToolTip(unicode(_('delete image')))
        self.clear_button.setAutoRaise(True)
        self.clear_button.clicked.connect(self.clear_button_clicked)
        self.clear_button.setFocusPolicy(Qt.ClickFocus)
        
        copy_button = QtGui.QToolButton()
        copy_button.setDefaultAction( ActionFactory.copy(self, self.copy_to_clipboard ) )
        copy_button.setAutoRaise(True)
        copy_button.setFocusPolicy(Qt.ClickFocus)

        paste_button = QtGui.QToolButton()
        paste_button.setDefaultAction( ActionFactory.paste(self, self.paste_from_clipboard ) )
        paste_button.setAutoRaise(True)
        paste_button.setObjectName('paste')
        paste_button.setFocusPolicy(Qt.ClickFocus)
        
        #button_layout.addStretch()
        button_layout.addWidget(self.open_button)
        button_layout.addWidget(self.save_as_button)
        button_layout.addWidget(self.add_button)
        button_layout.addWidget(self.clear_button)
        button_layout.addWidget(copy_button)
        button_layout.addWidget(paste_button)

        label_button_layout.addLayout(button_layout)
        label_button_layout.addStretch()
        layout.addLayout( label_button_layout )
        #layout.addStretch()
        self.setLayout( layout )
        self.clear_image()
        QtGui.QApplication.clipboard().dataChanged.connect( self.clipboard_data_changed )
        self.clipboard_data_changed()
Example #10
0
    def setup_widget(self):
        layout = QtGui.QVBoxLayout()
        layout.setSpacing(0)
        label_button_layout = QtGui.QHBoxLayout()
        #
        # Setup label
        #
        self.label = QtGui.QLabel(self)
        self.label.installEventFilter(self)
        self.label.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
        label_button_layout.addWidget(self.label)

        self.filename = DecoratedLineEdit(self)
        self.filename.setVisible(False)
        #
        # Setup buttons
        #
        button_layout = QtGui.QVBoxLayout()
        button_layout.setSpacing(0)
        button_layout.setContentsMargins(0, 0, 0, 0)

        self.save_as_button = QtGui.QToolButton()
        self.save_as_button.setFocusPolicy(Qt.ClickFocus)
        self.save_as_button.setIcon(self.save_as_icon.getQIcon())
        self.save_as_button.setToolTip(_('Save file as'))
        self.save_as_button.setAutoRaise(True)
        self.save_as_button.clicked.connect(self.save_as_button_clicked)

        self.open_button = QtGui.QToolButton()
        self.open_button.setIcon(self.open_icon.getQIcon())
        self.open_button.setAutoRaise(True)
        self.open_button.setToolTip(unicode(_('open image')))
        self.open_button.clicked.connect(self.open_button_clicked)

        self.add_button = QtGui.QToolButton()
        self.add_button.setFocusPolicy(Qt.StrongFocus)
        self.add_button.setIcon(self.add_icon.getQIcon())
        self.add_button.setToolTip(_('Attach file'))
        self.add_button.clicked.connect(self.add_button_clicked)
        self.add_button.setAutoRaise(True)

        self.clear_button = QtGui.QToolButton()
        self.clear_button.setIcon(self.clear_icon.getQIcon())
        self.clear_button.setToolTip(unicode(_('delete image')))
        self.clear_button.setAutoRaise(True)
        self.clear_button.clicked.connect(self.clear_button_clicked)
        self.clear_button.setFocusPolicy(Qt.ClickFocus)

        copy_button = QtGui.QToolButton()
        copy_button.setDefaultAction(
            ActionFactory.copy(self, self.copy_to_clipboard))
        copy_button.setAutoRaise(True)
        copy_button.setFocusPolicy(Qt.ClickFocus)

        paste_button = QtGui.QToolButton()
        paste_button.setDefaultAction(
            ActionFactory.paste(self, self.paste_from_clipboard))
        paste_button.setAutoRaise(True)
        paste_button.setObjectName('paste')
        paste_button.setFocusPolicy(Qt.ClickFocus)

        #button_layout.addStretch()
        button_layout.addWidget(self.open_button)
        button_layout.addWidget(self.save_as_button)
        button_layout.addWidget(self.add_button)
        button_layout.addWidget(self.clear_button)
        button_layout.addWidget(copy_button)
        button_layout.addWidget(paste_button)

        label_button_layout.addLayout(button_layout)
        label_button_layout.addStretch()
        layout.addLayout(label_button_layout)
        #layout.addStretch()
        self.setLayout(layout)
        self.clear_image()
        QtGui.QApplication.clipboard().dataChanged.connect(
            self.clipboard_data_changed)
        self.clipboard_data_changed()
Example #11
0
    def createActions(self):
        self.backupAct = ActionFactory.backup(self, self.backup)
        self.restoreAct = ActionFactory.restore(self, self.restore)
        self.pageSetupAct = ActionFactory.page_setup(self, self.pageSetup)
        self.printAct = ActionFactory.print_(self, self.printDoc)
        self.previewAct = ActionFactory.print_preview(self, self.previewDoc)
        self.exitAct = ActionFactory.exit(self, slot=self.close)
        self.copyAct = ActionFactory.copy(self, slot=self.copy)
        self.selectAllAct = ActionFactory.select_all(self,
                                                     slot=self.select_all)
        self.separatorAct = QtGui.QAction(self)
        self.separatorAct.setSeparator(True)
        self.aboutAct = ActionFactory.about(self, slot=self.about)
        self.whats_new_action = ActionFactory.whats_new(self,
                                                        slot=self.whats_new)
        self.affiliated_website_action = ActionFactory.affiliated_website(
            self, slot=self.affiliated_website)
        self.remote_support_action = ActionFactory.remote_support(
            self, slot=self.remote_support)
        self.helpAct = ActionFactory.help(self, slot=self.help)
        self.newAct = ActionFactory.new(self, slot=self.new)
        self.deleteAct = ActionFactory.delete(self, slot=self.delete)
        self.viewFirstAct = ActionFactory.view_first(self, self.viewFirst)
        self.viewLastAct = ActionFactory.view_last(self, self.viewLast)
        self.viewNextAct = ActionFactory.view_next(self, self.viewNext)
        self.viewPreviousAct = ActionFactory.view_previous(
            self, self.viewPrevious)
        self.viewFirstAct.setIconVisibleInMenu(False)
        self.viewLastAct.setIconVisibleInMenu(False)
        self.viewNextAct.setIconVisibleInMenu(False)
        self.viewPreviousAct.setIconVisibleInMenu(False)
        self.updateValueAct = ActionFactory.update_values(
            self, slot=self.updateValue)
        self.mergeDocumentAct = ActionFactory.merge_document(
            self, slot=self.merge_document)
        self.exportToExcelAct = ActionFactory.export_excel(
            self, slot=self.exportToExcel)
        self.exportToWordAct = ActionFactory.export_word(
            self, slot=self.exportToWord)
        self.exportToMailAct = ActionFactory.export_mail(
            self, slot=self.exportToMail)
        self.importFromFileAct = ActionFactory.import_file(
            self, slot=self.importFromFile)
        self.sessionRefreshAct = ActionFactory.refresh(
            self, slot=self.refresh_session)

        self.app_actions = []
        for action in self.app_admin.get_actions():

            def bind_action(parent, action):
                def slot(*args):
                    action.run(parent)

                return slot

            self.app_actions.append(
                ActionFactory.create_action(
                    parent=self,
                    text=unicode(action.get_verbose_name()),
                    slot=bind_action(self, action),
                    actionicon=action.get_icon(),
                    tip=unicode(action.get_verbose_name())))
Example #12
0
    def createActions(self):
        self.backupAct = ActionFactory.backup(self, self.backup)
        self.restoreAct = ActionFactory.restore(self, self.restore)
        self.pageSetupAct = ActionFactory.page_setup(self, self.pageSetup)
        self.printAct = ActionFactory.print_(self, self.printDoc)
        self.previewAct = ActionFactory.print_preview(self, self.previewDoc)
        self.exitAct= ActionFactory.exit(self, slot=self.close)
        self.copyAct = ActionFactory.copy(self, slot=self.copy)
        self.selectAllAct = ActionFactory.select_all(self, slot=self.select_all)
        self.separatorAct = QtGui.QAction(self)
        self.separatorAct.setSeparator(True)
        self.aboutAct = ActionFactory.about(self, slot=self.about)
        self.whats_new_action = ActionFactory.whats_new(self, slot=self.whats_new)
        self.affiliated_website_action = ActionFactory.affiliated_website(self, slot=self.affiliated_website)
        self.remote_support_action =ActionFactory.remote_support(self, slot=self.remote_support)
        self.helpAct = ActionFactory.help(self, slot=self.help)
        self.newAct = ActionFactory.new(self, slot=self.new)
        self.deleteAct = ActionFactory.delete(self, slot=self.delete)
        self.viewFirstAct = ActionFactory.view_first(self, self.viewFirst)
        self.viewLastAct = ActionFactory.view_last(self, self.viewLast)
        self.viewNextAct = ActionFactory.view_next(self, self.viewNext)
        self.viewPreviousAct = ActionFactory.view_previous(self, self.viewPrevious)
        self.viewFirstAct.setIconVisibleInMenu(False)
        self.viewLastAct.setIconVisibleInMenu(False)
        self.viewNextAct.setIconVisibleInMenu(False)
        self.viewPreviousAct.setIconVisibleInMenu(False)
        self.updateValueAct = ActionFactory.update_values(self, slot = self.updateValue)
        self.mergeDocumentAct = ActionFactory.merge_document(self, slot = self.merge_document)
        self.exportToExcelAct = ActionFactory.export_excel(self, slot=self.exportToExcel)
        self.exportToWordAct = ActionFactory.export_word(self, slot=self.exportToWord)
        self.exportToMailAct = ActionFactory.export_mail(self, slot=self.exportToMail)
        self.importFromFileAct = ActionFactory.import_file(self, slot=self.importFromFile)
        self.sessionRefreshAct = ActionFactory.refresh(self, slot=self.refresh_session)

        self.app_actions = []
        for action in self.app_admin.get_actions():

            def bind_action(parent, action):

                def slot(*args):
                    action.run(parent)

                return slot

            self.app_actions.append(
                ActionFactory.create_action(
                    parent=self,
                    text=unicode(action.get_verbose_name()),
                    slot=bind_action(self, action),
                    actionicon=action.get_icon(),
                    tip=unicode(action.get_verbose_name())
                )
            )