def initData(self):
     self.data = MyDataWrapper("")
     self.linksDialog = None
     self.aboutDialog = None
     self.author = self.tr("kjpioo2006 # gmail.com")
     self.thanksto = self.tr("daimajia and meibenjin")
     self.license = self.tr("MIT license")
     self.ver = "0.1.0"
     self.about = self.tr("A baidu yun file-share download links getter. Version:{0}\n\n\tAuthor:{1}\n\tThanks to {2}\n\n\tLicense: {3}").format(self.ver, self.author, self.thanksto, self.license)
     pass
class Settings(QDialog, Ui_PanSearcher):
    """
    Class documentation goes here.
    """
    def __init__(self, parent=None):
        super(Settings,self).__init__(parent)
        self.setupUi(self)      
        self.initData()
        self.initUi()
        
    def initUi(self):
        #QTimer.singleShot(0,self.searchWords,QtCore.SLOT(self.searchWords.setFocus()))
        #self.tblPcsSet.setRowCount(self.maxRowCount);
        pass
        
    def initData(self):
        self.data = MyDataWrapper("")
        self.linksDialog = None
        self.aboutDialog = None
        self.author = self.tr("kjpioo2006 # gmail.com")
        self.thanksto = self.tr("daimajia and meibenjin")
        self.license = self.tr("MIT license")
        self.ver = "0.1.0"
        self.about = self.tr("A baidu yun file-share download links getter. Version:{0}\n\n\tAuthor:{1}\n\tThanks to {2}\n\n\tLicense: {3}").format(self.ver, self.author, self.thanksto, self.license)
        pass

    @pyqtSlot(int)
    def on_ckbxSelectAll_stateChanged(self, stat):
        allCheckState = set([Qt.Unchecked, Qt.Checked])
        #use a workaround for "PySide.QtGui.QTableWidgetItem.setCheckState(int)" error
        checkedState = (allCheckState -(allCheckState - set([stat]))).pop()
        #print 'stat:%d'%stat
        for row in range(self.tblSearchResult.rowCount()):
            self.tblSearchResult.item(row, 0 ).setCheckState(checkedState)
        pass
    
    @pyqtSlot()
    def on_btnStartSearch_clicked(self):
        if(self.tblSearchResult.rowCount()>0):
            self.tblSearchResult.clearContents()
        
        results = test( self.lnedtKeyword.text() )
        if len(results)>0:
            self.populateUiSearchResult(results)
            
    @pyqtSlot()
    def on_btnAbout_clicked(self):
        self.aboutDialog = Links_dialog(self.about)
        self.aboutDialog.setWindowTitle(self.tr("About"))
        self.aboutDialog.show()
        pass
    
    @pyqtSlot()
    def on_btnGetLinks_clicked(self):
        if self.tblSearchResult.rowCount()<1:
            return
        links_text = ""
        for row in range(self.tblSearchResult.rowCount()):
            if( self.tblSearchResult.item(row, 0 ).checkState() is Qt.Checked ):
                downloadlink = self.data.getDownloadLink(self.tblSearchResult.item(row, 3).text())
                '''只处理带有可用link的对象'''
                if 'link' in downloadlink:
                    links_text += (downloadlink['link']+'\n')
                #print links_text
            else:
                print 'row: %d'%row
        self.linksDialog = Links_dialog(links_text.strip())
        self.linksDialog.setWindowTitle(self.tr("Selected Download Links for copying"))
        self.linksDialog.show()
    
    def populateUiSearchResult(self, results):
        self.tblSearchResult.clearContents()
        self.tblSearchResult.setRowCount(len(results))
        for row in range(len(results)):
            newItem = QTableWidgetItem()
            newItem.setCheckState(Qt.Unchecked)
            self.tblSearchResult.setItem(row, 0, newItem)
            
            newTitle = QTableWidgetItem(results[row].getTitle().split("_免费高速下载")[0])
            self.tblSearchResult.setItem(row, 1, newTitle)
            
            print QTableWidgetItem(results[row].getContent())
            filesize = results[row].getContent().split(" 分享者")[0].split(' 文件大小:')[1].strip()
            newDesc = QTableWidgetItem(filesize)
            self.tblSearchResult.setItem(row, 2, newDesc)
            
            newUrl = QTableWidgetItem(results[row].getURL())
            self.tblSearchResult.setItem(row, 3, newUrl)
        pass