예제 #1
0
파일: photag.py 프로젝트: mikesbytes/photag
    def main(self):
        self.app = QApplication(sys.argv)
        self.form = MainInterface()
        self.form.show()

        # db stuff
        self.db = PhotagDB()

        #setup thumbnailer
        self.thumbnailerThread = QThread()
        self.thumbnailer = Thumbnailer()
        self.thumbnailer.moveToThread(self.thumbnailerThread)
        self.thumbnailer.thumbnailFetched.connect(self.addThumb)
        self.thumbnailerThread.started.connect(
            self.thumbnailer.processRequests)
        self.thumbnailerThread.start()

        # context menu
        self.form.image_tree_view.customContextMenuRequested.connect(
            self.imageTreeContextMenu)

        baseQuery = WholeTreeQuery(self.db)
        self.form.image_tree_view.setModel(ImageViewModel(baseQuery))
        self.form.tag_tree_view.setModel(TagViewModel(self.db))

        self.form.image_tree_view.selectionModel().currentChanged.connect(
            self.updateMediaLabel)
        self.form.action_new_tag.triggered.connect(self.newTag)
        self.form.action_walk_roots.triggered.connect(self.walkAllRoots)
        self.form.tag_tree_view.doubleClicked.connect(self.tagCurrentSelected)
        self.form.query_bar.returnPressed.connect(self.enterQuery)

        self.form.action_manage_roots.triggered.connect(self.manageRoots)

        self.app.exec_()