def mousePressEvent(self, event):
     if self.onForm:
         self.setStatus(not self.onForm)
         eventSystem.dispatch("triggerResultPanel")
     else:
         self.setStatus(not self.onForm)
         eventSystem.dispatch("triggerFormPanel")
Example #2
0
 def stopSearch(self):
     if self.worker is not None:
         self.worker.quit()
         self.worker.wait()
         self.worker = None
         self.setSubmitState(WAITING)
         eventSystem.dispatch("notifyStop")
 def clickedSubmit(self):
     state = self.submitState
     if state == WAITING:
         eventSystem.dispatch("triggerFormPanel")
     elif state == SEARCHING:
         self.setSubmitState(WAITING)
         eventSystem.dispatch("stopSearch")
         self.stopInsertTimer()
Example #4
0
 def clickedSubmit(self):
     state = self.submitState
     if state == WAITING:
         self.search()
     elif state == SEARCHING:
         self.stopSearch()
     elif state == FILTER:
         self.filter()
     eventSystem.dispatch("triggerResultPanel")
    def printChildren(self, row):
        data = self.parent().model.rowData(row)
        dialog = self.dialog
        h = 50 * len(data["children"]) + 130 + config('gui.topBorderHeight')

        dialog.load(data["children"], self.w, h)
        if dialog.exec_():  # 执行方法,成为模态对话框,用户点击OK后,返回1
            eventSystem.dispatch("addChildrenCheckList", row,
                                 dialog.getCheckedList())
 def _classify(self, rawData):
     worker = TextClusterThread()
     worker.initialize(rawData["classifyDirs"], rawData["cluster_n"],
                       ["updatedTime", "accessTime"])
     worker.start()
     worker.finishedTrigger.connect(
         lambda results: eventSystem.dispatch("finishTextCluster", results))
     self.worker = worker
     eventSystem.dispatch("setTextCluster", rawData["cluster_n"])
     return worker
    def _classify(self, rawData):
        worker = ImageClusterThread()
        worker.initialize(rawData["clusterDir"], int(rawData["cluster_n"]))
        worker.start()
        worker.finishedTrigger.connect(lambda results: eventSystem.dispatch("finishImageCluster", results))
        self.worker = worker
        eventSystem.dispatch("setImageCluster", rawData["cluster_n"])

        print("classify!")
        return worker
 def search(self):
     eventSystem.dispatch("triggerResultPanel")
     workThread = SimilarImageSearchThread()
     data = self.getForm()
     workThread.initialize(data["compareObj"], data["searchRoot"],
                           int(data["similarScore"]), int(data["quantity"]))
     workThread.start()
     workThread.finishedTrigger.connect(
         lambda results: eventSystem.dispatch("finishedSimilarImageSearch",
                                              results))
     self.workThread = workThread
Example #9
0
 def search(self):
     searcher = self.getSearcher()
     worker = SearchThread()
     worker.initialize(searcher)
     worker.start()
     eventSystem.dispatch("startInsert")
     worker.putResultTrigger.connect(
         lambda item: eventSystem.dispatch("getPartialResult", item))
     worker.finishedTrigger.connect(
         lambda: eventSystem.dispatch("finishNormalSearch"))
     self.worker = worker
 def classify(self):
     if self.searching:
         eventSystem.dispatch("stopTextCluster")
         self.worker.quit()
         self.worker.wait()
         self.reset()
     else:
         self.searching = True
         self.submitButton.setText("停止分类")
         eventSystem.dispatch("triggerResultPanel")
         self.worker = self._classify(self.getForm())
         self.worker.finishedTrigger.connect(self.reset)
    def changeTab(self, tabId):
        if self.active is not None:
            print("hide {0}".format(self.active.id))
            self.active.hide()

        w, h = self.size().width(), self.size().height() - config("gui.mainContentTabMarginBottom")
        self.tabs.setdefault(tabId, self.constructors[tabId](self, QSize(w, h)))
        current = self.tabs[tabId]
        current.show()
        self.active = current
        print("show {0}".format(tabId))

        if tabId in self.idMenuMap:
            tabId = self.idMenuMap[tabId]

        eventSystem.dispatch("selectedMenu", tabId)
 def _search(self, rawData):
     worker = RepeatFileSearchThread()
     worker.initialize(rawData["root"])
     worker.start()
     worker.finishedTrigger.connect(lambda results: eventSystem.dispatch("finishRepeatSearch", results))
     self.worker = worker
     print("search!")
     return worker
 def _classify(self, rawData):
     root = rawData["classifyDirs"]
     worker = TextClassifyThread()
     worker.initialize(root,[rawData["predictDir"]], ["updatedTime","accessTime"])
     worker.start()
     classNames = []
     classDirs = []
     for item in os.listdir(root):
         if item[0] == ".": continue
         p = os.path.join(root, item)
         if not os.path.isdir(p): continue
         classNames.append(item)
         classDirs.append(p)
     eventSystem.dispatch("setTextClass", classNames, classDirs)
     worker.finishedTrigger.connect(lambda results: eventSystem.dispatch("finishTextClassify", results))
     self.worker = worker
     print("classify!")
     return worker
    def getBtns(self):
        searchBtn = getBtn(PRIMARY, "开始搜索", self)
        normalFileSearchBtn = getBtn(INFO, "一般文件搜索", self)

        searchBtn.clicked.connect(self.search)
        normalFileSearchBtn.clicked.connect(
            lambda: eventSystem.dispatch("changeTab", "normalSearch"))

        return (searchBtn, normalFileSearchBtn)
    def getBtns(self):
        submitButton = getBtn(PRIMARY, "开始自动分类", self)
        submitButton.clicked.connect(self.classify)

        textClassifyBtn = getBtn(INFO, "文本自动归类", self)
        textClassifyBtn.clicked.connect(
            lambda: eventSystem.dispatch("changeTab", "textClassify"))

        imageClassifyBtn = getBtn(INFO, "图像自动分类", self)
        imageClassifyBtn.clicked.connect(
            lambda: eventSystem.dispatch("changeTab", "imageClassify"))

        imageClusterBtn = getBtn(INFO, "图像自动归类", self)
        imageClusterBtn.clicked.connect(
            lambda: eventSystem.dispatch("changeTab", "imageCluster"))
        self.submitButton = submitButton
        return [
            submitButton, textClassifyBtn, imageClassifyBtn, imageClusterBtn
        ]
Example #16
0
    def getBtns(self):
        submitButton = getBtn(PRIMARY, "开始搜索", self)
        submitButton.clicked.connect(self.clickedSubmit)

        similarSearchBtn = getBtn(INFO, "相似图片搜索", self)
        similarSearchBtn.clicked.connect(
            lambda: eventSystem.dispatch("changeTab", "similarImageSearch"))

        resetButton = getBtn(DEFAULT, "重置", self)

        self.submitButton = submitButton
        return (submitButton, resetButton, similarSearchBtn)
    def getBtns(self):
        similarSearchBtn = getBtn(INFO,"相似图片搜索")
        similarSearchBtn.clicked.connect(lambda : eventSystem.dispatch("changeTab", "similarImageSearch"))

        submitBtn = getBtn(PRIMARY, "开始搜索")
        submitBtn.clicked.connect(self.clickedSubmit)

        self.submitBtn = submitBtn
        filterBtn = getBtn(DEFAULT,"在结果中筛选")
        filterBtn.clicked.connect(self.clickedFilter)
        return [
            submitBtn,
            filterBtn,
            similarSearchBtn
        ]
 def clickedFilter(self):
     eventSystem.dispatch("triggerFormPanel")
     eventSystem.dispatch("notifyFilter", self.model.files)
Example #19
0
 def filter(self):
     search = self.getSearcher()
     print("lastItem len {0}".format(len(self.lastItems)))
     eventSystem.dispatch("notifyFilterResult",
                          search.filterItems(self.lastItems))
Example #20
0
    def getBtns(self):
        similarSearchBtn = getBtn(INFO, "一般文件搜索")
        similarSearchBtn.clicked.connect(
            lambda: eventSystem.dispatch("changeTab", "normalSearch"))

        return [similarSearchBtn]
 def mousePressEvent(self, event):
     eventSystem.dispatch("changeTab", self.tabId)
 def _getBtns(self):
     submitBtn = getBtn(PRIMARY, "开始搜索")
     submitBtn.clicked.connect(lambda : eventSystem.dispatch("researchRepeatDetect"))
     return self.getBtns() + [submitBtn]