Esempio n. 1
0
    def __evt_category_contextMenu(self, p):
        """
        yeahdoc class context menu
        """
        item = self.yeahdoccategorylist.currentItem()

        if item and item.getMark():

            menu = QMenu()

            action = QAction(QIcon(getPath("iconDir", "yeahdoc/item.png")), item.text(), self)
            action.setIconVisibleInMenu(True)
            menu.addAction(action)

            menu.addSeparator()

            action = QAction(QIcon(getPath("iconDir", "yeahdoc/open.png")),
                             QApplication.translate("YeahdocList", "Open"), self, \
                             triggered=lambda re, id=item.getMark(): self.__setupyeahdoclisttreeDatas(id))
            action.setIconVisibleInMenu(True)
            menu.addAction(action)

            action = QAction(QIcon(getPath("iconDir", "yeahdoc/refresh.png")),
                             QApplication.translate("YeahdocList", "Refresh"), self, \
                             triggered=self.refreshClasslist)
            action.setIconVisibleInMenu(True)
            menu.addAction(action)

            menu.addSeparator()

            # merge class
            merge_class_menu = QMenu()
            current_categoryid = item.getMark()
            for class_item in YeahdocDatasSupply().bc_list():
                if not str(class_item['id']) == current_categoryid:
                    action = QAction(class_item["title"], self, \
                                     triggered=lambda re, item=item, categoryid=str(class_item["id"]): \
                                         YeahdocDatasSupply().bc_merge(current_categoryid, categoryid))
                    action.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % str(class_item["img"]))))
                    action.setIconVisibleInMenu(True)
                    merge_class_menu.addAction(action)

            action = QAction(QIcon(getPath("iconDir", "yeahdoc/merge.png")),
                             QApplication.translate("YeahdocList", "Merge"), self)
            action.setIconVisibleInMenu(True)
            action.setMenu(merge_class_menu)
            menu.addAction(action)
            menu.addAction(self.__actions["__yeahdoc_c_cleardatas__"])
            menu.addSeparator()

            menu.addAction(self.__actions["__yeahdoc_c_new__"])
            menu.addAction(self.__actions["__yeahdoc_c_edit__"])
            menu.addAction(self.__actions["__yeahdoc_c_rename__"])
            menu.addAction(self.__actions["__yeahdoc_c_delete__"])

            menu.exec_(self.mapToGlobal(self.yeahdoccategorylist.mapTo(self, p)))
Esempio n. 2
0
 def __evt_toggle_view(self):
     """
     show or hide the right part
     """
     if self.rightpart.isVisible():
         self.rightpart.setVisible(False)
         self.togglebtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/left.png")))
     else:
         self.rightpart.setVisible(True)
         self.togglebtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/right.png")))
Esempio n. 3
0
    def __richflag(self):
        """
        Show many many colorfull icon to make the yeahdoc flag . 
        """
        menu = QMenu(self)

        for item in os.listdir(getPath("iconDir", "yeahdoc/flag")):
            if item.endswith("png"):
                action = QAction(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % item)), item, self, \
                                 triggered=lambda re, item=item: self.__evt_richflag_menu_click(item))
                action.setIconVisibleInMenu(True)
                menu.addAction(action)
        return menu
Esempio n. 4
0
    def __richflag(self):
        """
        Show many many colorfull icon to make the yeahdoc flag . 
        """
        menu = QMenu(self)

        for item in os.listdir(getPath("iconDir", "yeahdoc/flag")):
            if item.endswith("png"):
                action = QAction(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % item)), item, self, \
                                 triggered=lambda re, item=item: self.__evt_richflag_menu_click(item))
                action.setIconVisibleInMenu(True)
                menu.addAction(action)
        return menu
Esempio n. 5
0
def activate():
    """
    used to make use of the plugin
    """
    def __evt_new():
        """
        new yeahdoc evt 
        """
        yeahdoc = AdapterYeahdocItemViewerAndEditor(":new[Yeahdoc]")
        yeahdoc.setBufferon(True)
        yeahdoc.execute(":new[Yeahdoc]",
                        QIcon(getPath('iconDir', 'yeahdoc/btn-new.png')))

    def __evt_list():
        """
        show yeahdoc list
        """
        yeahdoclist = AdapterMainYeahdocListView()
        yeahdoclist.execute(QApplication.translate("YeahdocList", "Yeahdoc"),
                            QIcon(getPath('iconDir', 'yeahdoc/btn-list.png')))

    # setup the mainwindow UI
    # New global action can be added to the list of global action
    sk = Seeking.new()

    sk.regAction("__yeahdoc_new", \
                 QAction(QIcon(getPath('iconDir', 'yeahdoc/btn-new.png')), \
                         QApplication.translate("YeahdocEditor", "New Yeahdoc"), sk, \
                         triggered=__evt_new))
    sk.regAction("__yeahdoc_list", \
                 QAction(QIcon(getPath('iconDir', 'yeahdoc/btn-list.png')), \
                         QApplication.translate("YeahdocList", "Yeahdoc"), sk, \
                         triggered=__evt_list))

    # set default shortcut
    sk.getAction("__yeahdoc_new").setShortcut(Prefs.new().getShortcut(
        "__yeahdoc_new", "Ctrl+N"))
    sk.getAction("__yeahdoc_list").setShortcut(Prefs.new().getShortcut(
        "__yeahdoc_list", "Ctrl+L"))

    # global toolbar
    toolbar = sk.addToolBar(QApplication.translate("Yeahdoc", "Yeahdoc"))
    toolbar.addAction(sk.getAction("__yeahdoc_new"))
    toolbar.addAction(sk.getAction("__yeahdoc_list"))

    # global menu
    sk.getMenu("file").addAction(sk.getAction("__yeahdoc_new"))
    sk.getMenu("file").addAction(sk.getAction("__yeahdoc_list"))
    sk.getMenu("file").addSeparator()
Esempio n. 6
0
    def invoke(self):

        self.setupUi(self)

        # our wysiwys editor
        self.__htmlWYSIWYG = HtmlWYSIWYG(self)
        self.layout().addWidget(self.__htmlWYSIWYG)

        self.passwordMore.setIcon(QIcon(getPath("iconDir", "yeahdoc/lock.png")))
        self.passwordWidget.setVisible(False)

        self.downloadBtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/download.png")))
        self.saveBtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/save.png")))

        self.__initData()
        self.__initAction()
Esempio n. 7
0
    def invoke(self):
        """
        the real setup function to show someting.
        """
        self.setupUi(self)

        # make sure the first col show full
        self.yeahdoclisttree.header().setResizeMode(0, QHeaderView.ResizeToContents)

        self.__initAction()

        # toolbar .
        classToolbar = QToolBar()
        classToolbar.setIconSize(QSize(16, 16))
        classToolbar.setMovable(False)
        self.rightsplitter.insertWidget(0, classToolbar)

        classToolbar.addAction(self.__actions["__yeahdoc_c_new__"])
        classToolbar.addAction(self.__actions["__yeahdoc_c_edit__"])
        classToolbar.addAction(self.__actions["__yeahdoc_c_rename__"])
        classToolbar.addAction(self.__actions["__yeahdoc_c_delete__"])
        classToolbar.addWidget(self.__evt_category_view())

        # More useful gadgets
        self.togglebtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/right.png")))

        # read datas from db .
        self.__setupYeahdocCategoryDatas()
        self.__setupyeahdoclisttreeDatas()
Esempio n. 8
0
 def __evt_richflag_menu_click(self, item):
     """
     IF ICON CHANGED , save flag will be active .
     """
     self.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % item)))
     self.setText(item)
     self.emit(SIGNAL("onbuffer()"))
Esempio n. 9
0
 def __evt_list():
     """
     show yeahdoc list
     """
     yeahdoclist = AdapterMainYeahdocListView()
     yeahdoclist.execute(QApplication.translate("YeahdocList", "Yeahdoc"),
                         QIcon(getPath('iconDir', 'yeahdoc/btn-list.png')))
Esempio n. 10
0
        def __init__(self, parent=None, id="~"):
            """
            init
            """
            QWidget.__init__(self, parent)
            self.setupUi(self)

            # center this window
            screen = QDesktopWidget().screenGeometry()
            size = self.geometry()
            self.move((screen.width() - size.width()) / 2, (screen.height() - size.height()) / 2)

            self.id = id
            self.flagBtn = RichFlagButton(self)
            self.linelayout.addWidget(self.flagBtn)
            self.desc = HtmlWYSIWYG()
            self.desc.setMinimumHeight(200)
            self.desclayout.addWidget(self.desc)

            if not self.id == "~":
                restore = YeahdocDatasSupply().bc_read1(self.id)
                self.flagBtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % str(restore['img']))))
                self.flagBtn.setText(restore['img'])
                self.title.setText(restore['title'])
                self.desc.fill(restore['desc'])

            QObject.connect(self.btn, SIGNAL("clicked (QAbstractButton *)"), self.__evt_btn_click)
Esempio n. 11
0
def activate():
    def evt_adminscan():
        Scanner()

    def evt_portscan():
        PortScanner()

    sk = Seeking.new()
    sk.regAction("__webadminscan",
                 QAction(QIcon(getPath('pluginsDir', 'webscan/admin.png')), "Admin Scan", Seeking.new(),
                         triggered=evt_adminscan))
    sk.regAction("__portscan", QAction(QIcon(getPath('pluginsDir', 'webscan/port.png')), "Port Scan", Seeking.new(),
                                       triggered=evt_portscan))
    toolbar = sk.addToolBar("WebScan")
    toolbar.addAction(sk.getAction("__webadminscan"))
    toolbar.addAction(sk.getAction("__portscan"))
Esempio n. 12
0
 def __evt_richflag_menu_click(self, item):
     """
     IF ICON CHANGED , save flag will be active .
     """
     self.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % item)))
     self.setText(item)
     self.emit(SIGNAL("onbuffer()"))
Esempio n. 13
0
 def __init__(self):
     QWidget.__init__(self)
     PluginBase.__init__(self)
     
     self.setKeepme("__portscan_scanner__")
     self.setupUi(self)
     
     self.execute("Port Scanner",QIcon(getPath('pluginsDir','webscan/port.png')))
Esempio n. 14
0
 def __evt_new():
     """
     new yeahdoc evt 
     """
     yeahdoc = AdapterYeahdocItemViewerAndEditor(":new[Yeahdoc]")
     yeahdoc.setBufferon(True)
     yeahdoc.execute(":new[Yeahdoc]",
                     QIcon(getPath('iconDir', 'yeahdoc/btn-new.png')))
Esempio n. 15
0
    def __init__(self):
        QWidget.__init__(self)
        PluginBase.__init__(self)

        self.setKeepme("__portscan_scanner__")
        self.setupUi(self)

        self.execute("Port Scanner",
                     QIcon(getPath('pluginsDir', 'webscan/port.png')))
Esempio n. 16
0
    def save(self):
        """
        Handle save event . Before saved , checked if has password set . 
        The password is encrypt with pyDes
        """
        if self.bufferon():
            # get the password
            password = ""
            password1 = self.password1.text()
            password2 = self.password2.text()

            if not password1 == "" or not password2 == "":
                if password1 == password2:
                    password = password1
                else:
                    QMessageBox.warning(Seeking.new(), "error", "Not match")
                    return

            # loading effert
            Seeking.new().overlay.show()

            # if it's a new yeahdoc item instance
            if self.keepme() is "" or self.keepme().startswith(":"):
                idx = "~"
            # notice we contact the str at __init__ method
            else:
                idx = self.keepme().split('~')[0]

            # Values
            title = self.titleInput.text()
            content = self.__htmlWYSIWYG.accessPoint().mainFrame().toHtml()

            img = self.flagBtn.text()
            tags = self.tagsInput.text()
            categoryid = self.classlist.itemData(self.classlist.currentIndex())

            # Just save will change it , update opreation will just repeat it
            self.setKeepme(
                YeahdocDatasSupply().bb_save(categoryid.toString(), title, tags, img, content, password, idx) + \
                self.__Y_MARK_SUBFIX)

            # in order to make the suitable width of tab.
            title = "%s.." % title[0:8] if len(title) > 8 else title
            index = Seeking.new().tabs.indexOf(self)

            Seeking.new().tabs.setTabIcon(index, QIcon(getPath("iconDir", "yeahdoc/flag/%s" % img)))
            Seeking.new().tabs.setTabText(index, title)

            self.setBufferon(False)

            Seeking().new().overlay.hidestop()
        else:
            pass

        self.baseUrl = getMyBaseUrl() + "yeahdoc-images/" + self.keepme().split("~")[0]
        self.__htmlWYSIWYG.setBaseUrl(self.baseUrl)
Esempio n. 17
0
    def __initData(self):
        """
        If the `url` is supplied , I will read datas from db and render it 
        otherwise , I just show a empty entry . and noramlly ,setHtml->"" to make it editable
        """

        # setup The classlist
        for item in YeahdocDatasSupply().bc_list():
            self.classlist.addItem(item['title'], item['id'])

        # the flag menu
        self.flagBtn = RichFlagButton(self)
        self.linelayout.insertWidget(0, self.flagBtn)

        # if not new .
        if self.keepme() and not self.keepme().startswith(":"):
            self.baseUrl = getMyBaseUrl() + "yeahdoc-images/" + self.keepme().split("~")[0]
            self.__htmlWYSIWYG.setBaseUrl(self.baseUrl)

            yeahdoc = YeahdocDatasSupply().bb_read1(self.keepme().split("~")[0])

            content = yeahdoc['content']

            if yeahdoc["lock"] == 1:
                password, ok = QInputDialog(self).getText(self, "", "", QLineEdit.Password, "")
                if ok:
                    try:
                        content = sk_decode(content, password)
                        self.password1.setText(password)
                        self.password2.setText(password)

                    except:
                        QMessageBox.warning(Seeking.new(), "error", "Error password")
                        raise Exception
                else:
                    raise Exception
            else:
                self.password1.setText("")
                self.password2.setText("")

            self.flagBtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % yeahdoc['img'])))
            self.flagBtn.setText(yeahdoc['img'])

            self.titleInput.setText(yeahdoc['title'])
            self.__htmlWYSIWYG.fill(content)

            # flag restore
            for i in range(self.classlist.count()):
                if self.classlist.itemData(i) == yeahdoc['categoryid']:
                    self.classlist.setCurrentIndex(i)
                    break

        else:

            self.titleInput.setText("")
            self.__htmlWYSIWYG.fill("")
Esempio n. 18
0
 def __evt_yeahdoc_star(self):
     """
     star it 
     TODO:
     """
     item = self.yeahdoclisttree.currentItem()
     if 0 == YeahdocDatasSupply().bb_toggle_star(item.getMark()):
         item.setIcon(2, QIcon(getPath("iconDir", "yeahdoc/star.png")))
     else:
         item.setIcon(2, QIcon(None))
Esempio n. 19
0
    def __init__(self, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)

        # center this window
        screen = QDesktopWidget().screenGeometry()
        size = self.geometry()
        self.move((screen.width() - size.width()) / 2, (screen.height() - size.height()) / 2)

        self.title.setText("<img width='48' src='%s'/><b>%s-%s</b>" % (getPath("iconDir", "logo.png"), Name, Version))
Esempio n. 20
0
def activate():
    def _evt_help(self):
        """
        Help event
        """
        Help().execute(QApplication.translate("AboutSeeking", "Help"), QIcon(getPath("iconDir", 'help.png')))

    def _evt_checkupdate(self):
        """
        Check update
        """
        Update().execute(QApplication.translate("AboutSeeking", "Check for Updates..."),
                         QIcon(getPath("iconDir", 'help.png')))

    def _evt_bug(self):
        """
        Bug event
        """
        Bug().execute(QApplication.translate("AboutSeeking", "Report bug"), QIcon(getPath("iconDir", 'help.png')))

    def _evt_showversions(self):
        """
        Show versions
        """
        ShowVersions().execute(QApplication.translate("AboutSeeking", "Show Versions"),
                               QIcon(getPath("iconDir", 'help.png')))

    def _evt_aboutseeking(self):
        """
        About Seeking
        """
        About(Seeking.new()).show()

    sk = Seeking.new()
    sk.regAction("help", \
                 QAction(QIcon(getPath("iconDir", 'help.png')), QApplication.translate("AboutSeeking", "Help"), sk,
                         triggered=_evt_help))

    menu_about = sk.getMenu("help")
    menu_about.addAction(QAction(QApplication.translate("AboutSeeking", "About Seeking"), sk, \
                                 triggered=_evt_aboutseeking))
    menu_about.addAction(QAction(QApplication.translate("AboutSeeking", "About Qt"), sk, \
                                 triggered=qApp.aboutQt))
    menu_about.addAction(QAction(QApplication.translate("AboutSeeking", "Show Versions"), sk, \
                                 triggered=_evt_showversions))
    menu_about.addSeparator()
    menu_about.addAction(QAction(QApplication.translate("AboutSeeking", "Check for Updates..."), sk, \
                                 triggered=_evt_checkupdate))
    menu_about.addAction(QAction(QApplication.translate("AboutSeeking", "Report bug"), sk, \
                                 triggered=_evt_bug))
    menu_about.addSeparator()
    menu_about.addAction(QAction(QApplication.translate("AboutSeeking", "What's This?"), sk,
                                 triggered=QWhatsThis.enterWhatsThisMode))
    menu_about.addAction(sk.getAction("help"))
Esempio n. 21
0
 def __evt_yeahdoc_Xopen(self, item, index):
     """
     real open the item . 
     """
     if item == None or item.isDisabled():
         pass
     else:
         id = item.getMark()
         simple_info = YeahdocDatasSupply().bb_read1_simple(id)
         editor = AdapterYeahdocItemViewerAndEditor(id)
         editor.execute(simple_info['title'], \
                        QIcon(getPath("iconDir", "yeahdoc/flag/%s" % simple_info['img'])))
Esempio n. 22
0
 def __init__(self):
     QWidget.__init__(self)
     PluginBase.__init__(self)
     
     self.setKeepme("__webadminscan_scanner__")
     self.setupUi(self)
     
     self.execute("Web Admin Scanner",QIcon(getPath('pluginsDir','webscan/admin.png')))
     
     
     self.txts = os.listdir(getPath('pluginsDir','webscan/txt'))
     if len(self.txts) is 0:
         self.emit(SIGNAL("feedback"),0, 0, "You need supply some dictionary")
     else:
         self.emit(SIGNAL("feedback"),0, 0, "I'm ready ! Input a URL to Scan...")
         for txt in self.txts:
             lines = self.readlinenumber(getPath('pluginsDir','webscan/txt')+"/"+txt)
             qcb = QCheckBox(txt+"("+str(lines)+")")
             qcb.setChecked(True)
             qcb.setWindowTitle(txt)
             self.txtLayout.addWidget(qcb)
Esempio n. 23
0
    def _evt_start(self):
        self.textBrowser.setText("")
        self.startBtn.setDisabled(True)
        self.stopBtn.setDisabled(False)
        self.url = self.urlEdit.text()
        self.checks = []
        for index in range(self.txtLayout.count()):
            qcb = self.txtLayout.itemAt(index).widget()
            if qcb is not None and isinstance(qcb,
                                              QCheckBox) and qcb.isChecked():
                self.checks.append(qcb.windowTitle())

        if self.url == "":
            self.emit(SIGNAL("feedback"), 0, 0, "Please supply a URL")
            self.startBtn.setDisabled(False)
            return
        if len(self.checks) is 0:
            self.emit(SIGNAL("feedback"), 0, 0, "Please supply a dictionary")
            self.startBtn.setDisabled(False)
            return

        self.preparedURL = []
        for txt in self.checks:
            lines = open(
                getPath('pluginsDir', 'webscan/txt') + "/" + txt,
                "r").readlines()
            for line in lines:
                self.preparedURL.append(line.strip(' \t\n\r'))
        try:
            self.requestObject = urlparse(self.url)
        except Exception as ex:
            self.emit(
                SIGNAL("feedback"), 0, 0,
                "<span style='color:red'>An error occured :</span>%s" %
                str(ex))
            self.emit(
                SIGNAL("feedback"), 0, 0,
                "<span style='color:red'>Exceptions :</span><pre>%s</pre>" %
                str(traceback.format_exc()))
            self.startBtn.setDisabled(False)
            return
        self.total = len(self.preparedURL)
        self.count = 1

        self.lock = threading.Lock()
        self.threads = []
        self.indexFlag = -10

        for index in range(self.spinThreadNumber.value()):
            thread = ScannerThread(self, self.total, self.preparedURL,
                                   self.lock)
            thread.start()
            self.threads.append(thread)
Esempio n. 24
0
    def __setupyeahdoclisttreeDatas(self, categoryid=None):
        """
        Set up the yeahdoc's datas 
        By default 
        """
        # clear first
        self.yeahdoclisttree.clear()
        # read datas
        for item in YeahdocDatasSupply().bb_list(categoryid):
            treeitem = self.__YeahdocQTreeWidgetItem()

            treeitem.setText(0, item["title"])
            treeitem.setIcon(0, QIcon(getPath("iconDir", "yeahdoc/flag/%s" % item["img"])))

            treeitem.setText(1, item["createdate"])

            treeitem.setMark(str(item['id']))

            if 1 == item['star']: treeitem.setIcon(2, QIcon(getPath("iconDir", "yeahdoc/star.png")))
            if 1 == item['lock']: treeitem.setIcon(3, QIcon(getPath("iconDir", "yeahdoc/lock.png")))

            self.yeahdoclisttree.addTopLevelItem(treeitem)
Esempio n. 25
0
 def __setupYeahdocCategoryDatas(self):
     """
     Read class list .
     """
     self.yeahdoccategorylist.clear()
     # read
     yeahdoccategorylist = YeahdocDatasSupply().bc_list()
     for item in yeahdoccategorylist:
         newItem = self.__YeahdocCategoryQListWidgetItem()
         newItem.setMark(str(item["id"]))
         newItem.setText(item['title'])
         newItem.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % str(item["img"]))))
         self.yeahdoccategorylist.addItem(newItem)
Esempio n. 26
0
def activate():
    def _evt_list():
        list_view = AdapterTodoList()
        list_view.execute("Todo List")

    sk = Seeking.new()
    sk.regAction("__todolist",
                 QAction(QIcon(getPath('iconDir', 'todo/todolist.png')), "Show the todo list", Seeking.new(),
                         triggered=_evt_list))
    toolbar = sk.addToolBar("TODOLIST")
    toolbar.addAction(sk.getAction("__todolist"))
    sk.getMenu("file").addAction(sk.getAction("__todolist"))
    sk.getMenu("file").addSeparator()
Esempio n. 27
0
def activate():
    def evt_adminscan():
        Scanner()

    def evt_portscan():
        PortScanner()

    sk = Seeking.new()
    sk.regAction(
        "__webadminscan",
        QAction(QIcon(getPath('pluginsDir', 'webscan/admin.png')),
                "Admin Scan",
                Seeking.new(),
                triggered=evt_adminscan))
    sk.regAction(
        "__portscan",
        QAction(QIcon(getPath('pluginsDir', 'webscan/port.png')),
                "Port Scan",
                Seeking.new(),
                triggered=evt_portscan))
    toolbar = sk.addToolBar("WebScan")
    toolbar.addAction(sk.getAction("__webadminscan"))
    toolbar.addAction(sk.getAction("__portscan"))
Esempio n. 28
0
    def __init__(self):
        QWidget.__init__(self)
        PluginBase.__init__(self)

        self.setKeepme("__webadminscan_scanner__")
        self.setupUi(self)

        self.execute("Web Admin Scanner",
                     QIcon(getPath('pluginsDir', 'webscan/admin.png')))

        self.txts = os.listdir(getPath('pluginsDir', 'webscan/txt'))
        if len(self.txts) is 0:
            self.emit(SIGNAL("feedback"), 0, 0,
                      "You need supply some dictionary")
        else:
            self.emit(SIGNAL("feedback"), 0, 0,
                      "I'm ready ! Input a URL to Scan...")
            for txt in self.txts:
                lines = self.readlinenumber(
                    getPath('pluginsDir', 'webscan/txt') + "/" + txt)
                qcb = QCheckBox(txt + "(" + str(lines) + ")")
                qcb.setChecked(True)
                qcb.setWindowTitle(txt)
                self.txtLayout.addWidget(qcb)
Esempio n. 29
0
def activate():
    def _evt_list():
        list_view = AdapterTodoList()
        list_view.execute("Todo List")

    sk = Seeking.new()
    sk.regAction(
        "__todolist",
        QAction(QIcon(getPath('iconDir', 'todo/todolist.png')),
                "Show the todo list",
                Seeking.new(),
                triggered=_evt_list))
    toolbar = sk.addToolBar("TODOLIST")
    toolbar.addAction(sk.getAction("__todolist"))
    sk.getMenu("file").addAction(sk.getAction("__todolist"))
    sk.getMenu("file").addSeparator()
Esempio n. 30
0
    def __evt_category_view(self):
        """
        view by 
        """
        btn = QToolButton()
        btn.setIcon(QIcon(getPath("iconDir", "yeahdoc/view.png")))

        menu = QMenu(btn)
        menu.addAction(QAction("ListMode", self, \
                               triggered=lambda: self.yeahdoccategorylist.setViewMode(QListView.ListMode)))
        menu.addAction(QAction("IconMode", self, \
                               triggered=lambda: self.yeahdoccategorylist.setViewMode(QListView.IconMode)))

        btn.setMenu(menu)

        return btn
Esempio n. 31
0
def getMyBaseUrl():
    STOREDIR = ""

    userDefinedDir = YeahdocExtConfig().getStoreDir()

    if userDefinedDir == None or userDefinedDir == "":
        #QMessageBox.information(Seeking().new(), "Welcome", "This is the first time you run yeahdoc-plguin: please select your store dir . \n if you do not know what to do , Select cancel ")
        temp = getPath("dataDir", "yeahdoc.db")
        if temp is None:
            if sys.platform.startswith("win"):
                STOREDIR = getPrccisePath("dataDir", "", "coredir")
            else:
                STOREDIR = getPrccisePath("dataDir", "", "userdir")

            STOREDIR = STOREDIR.replace("\\", "/")

        else:
            STOREDIR = temp.replace("yeahdoc.db", "")
    return STOREDIR
Esempio n. 32
0
 def _evt_start(self):
     self.textBrowser.setText("")
     self.startBtn.setDisabled(True)
     self.stopBtn.setDisabled(False)
     self.url = self.urlEdit.text()
     self.checks = []
     for index in range(self.txtLayout.count()):
         qcb = self.txtLayout.itemAt(index).widget()
         if qcb is not None and isinstance(qcb, QCheckBox) and qcb.isChecked():
             self.checks.append(qcb.windowTitle())
     
     if self.url == "":
         self.emit(SIGNAL("feedback"),0, 0, "Please supply a URL")
         self.startBtn.setDisabled(False)
         return
     if len(self.checks) is 0:
         self.emit(SIGNAL("feedback"),0, 0, "Please supply a dictionary")
         self.startBtn.setDisabled(False)
         return
     
     self.preparedURL = []
     for txt in self.checks:
         lines = open(getPath('pluginsDir','webscan/txt')+"/"+txt,"r").readlines()
         for line in lines:
             self.preparedURL.append(line.strip(' \t\n\r'))
     try:
         self.requestObject = urlparse(self.url)
     except Exception as ex:
         self.emit(SIGNAL("feedback"),0, 0, "<span style='color:red'>An error occured :</span>%s"%str(ex) )
         self.emit(SIGNAL("feedback"),0, 0, "<span style='color:red'>Exceptions :</span><pre>%s</pre>" % str(traceback.format_exc()) )
         self.startBtn.setDisabled(False)
         return
     self.total = len(self.preparedURL)
     self.count = 1
     
     self.lock = threading.Lock()
     self.threads = []
     self.indexFlag = -10
     
     for index in range(self.spinThreadNumber.value()):
         thread = ScannerThread(self,self.total,self.preparedURL,self.lock)
         thread.start()
         self.threads.append(thread)
Esempio n. 33
0
def getMyBaseUrl():
        STOREDIR = ""
        
        userDefinedDir = YeahdocExtConfig().getStoreDir()
        
        if userDefinedDir == None or userDefinedDir ==  "":
            #QMessageBox.information(Seeking().new(), "Welcome", "This is the first time you run yeahdoc-plguin: please select your store dir . \n if you do not know what to do , Select cancel ")
            temp = getPath("dataDir", "yeahdoc.db")
            if temp is None:
                if sys.platform.startswith("win"):
                    STOREDIR = getPrccisePath("dataDir", "","coredir")
                else:
                    STOREDIR = getPrccisePath("dataDir", "","userdir")
                    
                STOREDIR = STOREDIR.replace("\\", "/")
                
            else:
                STOREDIR = temp.replace("yeahdoc.db","")
        return STOREDIR
Esempio n. 34
0
 def __evt_password(self, setmode, password, repassword):
     """
     set the password of the item.
     """
     item = self.yeahdoclisttree.currentItem()
     if item and password:
         try:
             d = YeahdocDatasSupply().bb_read1(item.getMark())["content"]
             if setmode:
                 if password == repassword:
                     YeahdocDatasSupply().bb_lock(item.getMark(), password)
                     QMessageBox.information(Seeking.new(), "Success",
                                             "%s Success" % QApplication.translate("YeahdocEditor", "Encrypt"))
                     item.setIcon(3, QIcon(getPath("iconDir", "yeahdoc/lock.png")))
                 else:
                     QMessageBox.warning(Seeking.new(), "error", "Not match")
             else:
                 YeahdocDatasSupply().bb_unlock(item.getMark(), password)
                 QMessageBox.information(Seeking.new(), "Success",
                                         "%s Success" % QApplication.translate("YeahdocEditor", "Decrypt"))
                 item.setIcon(3, QIcon(None))
         except Exception as e:
             raise e
             QMessageBox.warning(Seeking.new(), "error", "Error password")
Esempio n. 35
0
 def _evt_checkupdate(self):
     """
     Check update
     """
     Update().execute(QApplication.translate("AboutSeeking", "Check for Updates..."),
                      QIcon(getPath("iconDir", 'help.png')))
Esempio n. 36
0
 def __init__(self, parent=None):
     QPushButton.__init__(self, parent)
     self.setMenu(self.__richflag())
     # flag
     self.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/default.png")))
     self.setText("default.png")
Esempio n. 37
0
 def _evt_bug(self):
     """
     Bug event
     """
     Bug().execute(QApplication.translate("AboutSeeking", "Report bug"), QIcon(getPath("iconDir", 'help.png')))
Esempio n. 38
0
 def _evt_showversions(self):
     """
     Show versions
     """
     ShowVersions().execute(QApplication.translate("AboutSeeking", "Show Versions"),
                            QIcon(getPath("iconDir", 'help.png')))
Esempio n. 39
0
 def __init__(self):
     self.DATAFILE = getPath("dataDir", "todo/default.db")
Esempio n. 40
0
 def __init__(self):
     self.DATAFILE = getPath("dataDir", "todo/default.db")
Esempio n. 41
0
 def __init__(self, parent=None):
     QPushButton.__init__(self, parent)
     self.setMenu(self.__richflag())
     # flag
     self.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/default.png")))
     self.setText("default.png")
Esempio n. 42
0
    def __initAction(self):
        """
        action that handle the event
        """
        # open
        self.__actions["__yeahdoc_open__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/open.png")), QApplication.translate("YeahdocList", "Open"), self, \
                    triggered=self.__evt_yeahdoc_Xopen0)
        # edit
        self.__actions["__yeahdoc_edit__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/edit.png")), QApplication.translate("YeahdocList", "Edit"), self, \
                    triggered=self.__evt_yeahdoc_Xopen0)
        # star
        self.__actions["__yeahdoc_star__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/star.png")), QApplication.translate("YeahdocList", "Toggle Star"),
                    self, \
                    triggered=self.__evt_yeahdoc_star)
        # rename
        self.__actions["__yeahdoc_rename__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/rename.png")), QApplication.translate("YeahdocList", "Rename"),
                    self, \
                    triggered=self.__evt_yeahdoc_rename)
        # delete
        self.__actions["__yeahdoc_delete__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/delete.png")), QApplication.translate("YeahdocList", "Delete"),
                    self, \
                    triggered=self.__evt_yeahdoc_delete_item)
        # new
        self.__actions["__yeahdoc_c_new__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/categorynew.png")),
                    QApplication.translate("YeahdocList", "new category"), self, \
                    triggered=self.__evt_category_new)
        # edit
        self.__actions["__yeahdoc_c_edit__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/categoryedit.png")),
                    QApplication.translate("YeahdocList", "Edit"), self, \
                    triggered=self.__evt_category_edit)
        # rename
        self.__actions["__yeahdoc_c_rename__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/rename.png")), QApplication.translate("YeahdocList", "Rename"),
                    self, \
                    triggered=self.__evt_category_rename)
        # delete
        self.__actions["__yeahdoc_c_delete__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/categorydelete.png")),
                    QApplication.translate("YeahdocList", "Delete"), self, \
                    triggered=self.__evt_category_delete)
        # clear datas
        self.__actions["__yeahdoc_c_cleardatas__"] = \
            QAction(QIcon(getPath("iconDir", "yeahdoc/cleardatas.png")), QApplication.translate("YeahdocList", "Clear"),
                    self, \
                    triggered=self.__evt_category_cleardatas)

        self.__actions["__yeahdoc_open__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_open__", "Ctrl+O"))
        self.__actions["__yeahdoc_edit__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_edit__", "Ctrl+E"))
        self.__actions["__yeahdoc_star__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_star__", "Alt+M"))
        self.__actions["__yeahdoc_rename__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_rename__", "F2"))
        self.__actions["__yeahdoc_delete__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_delete__", "Delete"))

        self.__actions["__yeahdoc_c_new__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_c_new__", ""))
        self.__actions["__yeahdoc_c_edit__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_c_edit__", ""))
        self.__actions["__yeahdoc_c_rename__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_c_rename__", ""))
        self.__actions["__yeahdoc_c_delete__"].setShortcut(Prefs.new().getShortcut("__yeahdoc_c_delete__", ""))

        for key in self.__actions.keys():
            self.__actions[key].setIconVisibleInMenu(True)
            self.addAction(self.__actions[key])

        # toggle buttion
        QObject.connect(self.togglebtn, \
                        SIGNAL("clicked ()"), \
                        self.__evt_toggle_view)

        # double click the yeahdoc tree list,open a new window at main tab
        QObject.connect(self.yeahdoclisttree, \
                        SIGNAL("itemDoubleClicked (QTreeWidgetItem *,int)"), \
                        self.__evt_yeahdoc_Xopen)

        QObject.connect(self.yeahdoclisttree, \
                        SIGNAL("itemChanged (QTreeWidgetItem *,int)"), \
                        self.__evt_yeahdoc_rename_done)

        QObject.connect(self.yeahdoclisttree, \
                        SIGNAL("currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)"), \
                        self.__evt_yeahdoc_currentItemChanged)

        QObject.connect(self.yeahdoccategorylist, \
                        SIGNAL("itemChanged (QListWidgetItem *)"), \
                        self.__evt_category_rename_done)

        QObject.connect(self.yeahdoccategorylist, \
                        SIGNAL("currentItemChanged (QListWidgetItem *,QListWidgetItem *)"), \
                        self.__evt_category_currentItemChanged)
        # right click the yeahdoc tree list and show a context menu
        QObject.connect(self.yeahdoclisttree, \
                        SIGNAL("customContextMenuRequested (const QPoint&)"), \
                        self.__evt_yeahdoc_contextMenu)

        QObject.connect(self.yeahdoccategorylist, \
                        SIGNAL("customContextMenuRequested (const QPoint&)"), \
                        self.__evt_category_contextMenu)
        # double click the yeahdoc class list
        QObject.connect(self.yeahdoccategorylist, \
                        SIGNAL("itemDoubleClicked (QListWidgetItem *)"), \
                        self.__evt_category_dbclick)

        QObject.connect(self.searchEdit, SIGNAL("textChanged (const QString&)"), self.__search)
Esempio n. 43
0
    def __evt_yeahdoc_contextMenu(self, p):
        """
        context menu
        """
        item = self.yeahdoclisttree.currentItem()
        if item == None or item.isDisabled():
            pass
        else:
            menu = QMenu()

            # menu top
            action = QWidgetAction(self)
            title = item.text(0)
            if len(title) < 25:
                for i in range(len(title), 25):
                    title = title + "  &nbsp;"
            action.setDefaultWidget(
                QLabel("&nbsp;&nbsp;<img  src='%s'/>  &nbsp;%s" % (getPath("iconDir", "yeahdoc/item.png"), title)))
            menu.addAction(action)

            menu.addSeparator()

            menu.addAction(self.__actions["__yeahdoc_open__"])
            menu.addAction(self.__actions["__yeahdoc_edit__"])

            # change class
            change_class_menu = QMenu()
            entry = YeahdocDatasSupply().bb_read1_simple(item.getMark())
            current_categoryid = entry['categoryid']
            for class_item in YeahdocDatasSupply().bc_list():
                action = QAction(class_item["title"], self, \
                                 triggered=lambda re, item=item, categoryid=str(class_item["id"]): \
                                     self.__evt_change_category(categoryid, item))
                action.setIcon(QIcon(getPath("iconDir", "yeahdoc/flag/%s" % str(class_item["img"]))))
                action.setIconVisibleInMenu(True)
                # mark current class id menu checked
                if class_item['id'] == current_categoryid:
                    action.setCheckable(True)
                    action.setChecked(True)
                    action.setDisabled(True)
                change_class_menu.addAction(action)

            action = QAction(QIcon(getPath("iconDir", "yeahdoc/change.png")),
                             QApplication.translate("YeahdocList", "Change Category"), self)
            action.setIconVisibleInMenu(True)
            action.setMenu(change_class_menu)

            menu.addAction(action)

            menu.addAction(self.__actions["__yeahdoc_star__"])
            menu.addAction(self.__actions["__yeahdoc_rename__"])
            menu.addAction(self.__actions["__yeahdoc_delete__"])

            menu.addSeparator()

            setmode = True if entry['lock'] == 0 else False
            action = QWidgetAction(self)
            widget = QWidget()
            layout = QHBoxLayout()
            layout.setSpacing(0)
            layout.setMargin(0)
            widget.setLayout(layout)
            widgetMore = QWidget()
            widgetMore.setVisible(False)
            layoutMore = QHBoxLayout()
            layoutMore.setSpacing(0)
            layoutMore.setMargin(0)
            widgetMore.setLayout(layoutMore)

            layout.addWidget(QLabel("<img src='%s'/>" % getPath("iconDir", "yeahdoc/password.png")))
            passwordMore = QPushButton(
                QApplication.translate("YeahdocEditor", "Encrypt") if setmode else QApplication.translate(
                    "YeahdocEditor", "Decrypt"))
            passwordMore.setFlat(True)
            layout.addWidget(passwordMore)

            passwordInput = QLineEdit()
            passwordInput.setEchoMode(QLineEdit.Password)
            passwordInput.setMaximumWidth(70)

            layoutMore.addWidget(passwordInput)

            if setmode:
                passwordInputAgain = QLineEdit()
                passwordInputAgain.setEchoMode(QLineEdit.Password)
                passwordInputAgain.setMaximumWidth(70)
                layoutMore.addWidget(QLabel(QApplication.translate("YeahdocEditor", "Re")))
                layoutMore.addWidget(passwordInputAgain)

            passwordSubmit = QPushButton("OK")
            passwordSubmit.setFlat(True)
            layoutMore.addWidget(passwordSubmit)

            layout.addWidget(widgetMore)
            layout.addItem(QSpacerItem(0, 20, QSizePolicy.Expanding, QSizePolicy.Expanding))

            action.setDefaultWidget(widget)
            QObject.connect(passwordSubmit, SIGNAL("clicked ()"),
                            lambda: self.__evt_password(setmode, passwordInput.text(),
                                                        passwordInputAgain.text() if setmode else ""))
            QObject.connect(passwordMore, SIGNAL("clicked ()"),
                            lambda: widgetMore.setVisible(not widgetMore.isVisible()))

            menu.addAction(action)

            # show it.
            menu.exec_(self.mapToGlobal(self.yeahdoclisttree.mapTo(self, p)))
Esempio n. 44
0
def getConfigPages():
    """
    The config page 
    """
    return {"yeahdocPage": [QApplication.translate("YeahdocPage", "title"), \
                            getPath("iconDir", "yeahdoc/btn-list.png"), "plugins.yeahdoc.yeahdocPage", None], }