def _createWidgets(self): # Create list object and label self.lblProjects = QtGui.QLabel('Projects (drag to change the order):', self) self.lstProjects = DraggableList(self) # Create add and remove buttons self.btnAdd = QtGui.QPushButton('New project', self) self.btnAdd.setIcon(iep.icons.add) self.btnRemove = QtGui.QPushButton('Remove selected', self) self.btnRemove.setIcon(iep.icons.delete) # Create fields for description and path self.lblDescription = QtGui.QLabel('Description:', self) self.txtDescription = QtGui.QLineEdit(self) self.lblPath = QtGui.QLabel('Path:', self) self.txtPath = QtGui.QLineEdit(self) self.txtPath.setReadOnly(True) self.chkAddToPath = QtGui.QCheckBox('Add path to Python path', self) # Done button self.btnDone = QtGui.QPushButton("Done", self) self.btnDone.setDefault(True) # Layout L2 = QtGui.QHBoxLayout() L2.addWidget(self.btnAdd) L2.addStretch(1.0) L2.addWidget(self.btnRemove) # L1 = QtGui.QVBoxLayout() L1.addWidget(self.lblProjects) L1.addWidget(self.lstProjects) L1.addLayout(L2) # L4 = QtGui.QHBoxLayout() L4.addStretch(1.0) L4.addWidget(self.btnDone) # L3 = QtGui.QVBoxLayout() L3.addWidget(self.lblDescription) L3.addWidget(self.txtDescription) L3.addWidget(self.lblPath) L3.addWidget(self.txtPath) L3.addWidget(self.chkAddToPath) L3.addStretch(1.0) L3.addLayout(L4) # theLayout = QtGui.QHBoxLayout(self) theLayout.addLayout(L1) theLayout.addLayout(L3) self.setLayout(theLayout)
def __init__(self, parent): QtGui.QWidget.__init__(self, parent) # Create tool button self._up = QtGui.QToolButton(self) style = QtGui.qApp.style() self._up.setIcon(style.standardIcon(style.SP_ArrowLeft)) self._up.setIconSize(QtCore.QSize(16, 16)) # Create "path" line edit self._line = QtGui.QLineEdit(self) self._line.setReadOnly(True) self._line.setStyleSheet("QLineEdit { background:#ddd; }") self._line.setFocusPolicy(QtCore.Qt.NoFocus) # Create tree self._tree = WorkspaceTree(self) # Set layout layout = QtGui.QHBoxLayout() layout.addWidget(self._up, 0) layout.addWidget(self._line, 1) # mainLayout = QtGui.QVBoxLayout(self) mainLayout.addLayout(layout, 0) mainLayout.addWidget(self._tree, 1) mainLayout.setSpacing(2) self.setLayout(mainLayout) # Bind up event self._up.pressed.connect(self._tree._proxy.goUp)
def __init__(self, parent): QtGui.QWidget.__init__(self, parent) # create toolbar self._toolbar = QtGui.QToolBar(self) self._toolbar.setMaximumHeight(25) self._toolbar.setIconSize(QtCore.QSize(16,16)) # create stack self._stack = QtGui.QStackedWidget(self) # Populate toolbar self._shellButton = ShellControl(self._toolbar, self._stack) self._dbc = DebugControl(self._toolbar) # self._toolbar.addWidget(self._shellButton) self._toolbar.addSeparator() # self._toolbar.addWidget(self._dbc) -> delayed, see addContextMenu() # widget layout layout = QtGui.QVBoxLayout() layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self._toolbar) layout.addWidget(self._stack) self.setLayout(layout) # make callbacks self._stack.currentChanged.connect(self.onCurrentChanged)
def __init__(self, parent): QtGui.QWidget.__init__(self, parent) # Create text field, checkbox, and button self._text = QtGui.QLineEdit(self) self._printBut = QtGui.QPushButton("Print", self) # Create options button self._options = QtGui.QToolButton(self) self._options.setIcon(iep.icons.wrench) self._options.setIconSize(QtCore.QSize(16, 16)) self._options.setPopupMode(self._options.InstantPopup) self._options.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) # Create options menu self._options._menu = QtGui.QMenu() self._options.setMenu(self._options._menu) # Create browser self._browser = QtGui.QTextBrowser(self) self._browser_text = initText # Create two sizers self._sizer1 = QtGui.QVBoxLayout(self) self._sizer2 = QtGui.QHBoxLayout() # Put the elements together self._sizer2.addWidget(self._text, 4) self._sizer2.addWidget(self._printBut, 0) self._sizer2.addStretch(1) self._sizer2.addWidget(self._options, 2) # self._sizer1.addLayout(self._sizer2, 0) self._sizer1.addWidget(self._browser, 1) # self._sizer1.setSpacing(2) self.setLayout(self._sizer1) # Set config toolId = self.__class__.__name__.lower() self._config = config = iep.config.tools[toolId] # if not hasattr(config, 'smartNewlines'): config.smartNewlines = True if not hasattr(config, 'fontSize'): if sys.platform == 'darwin': config.fontSize = 12 else: config.fontSize = 10 # Create callbacks self._text.returnPressed.connect(self.queryDoc) self._printBut.clicked.connect(self.printDoc) # self._options.pressed.connect(self.onOptionsPress) self._options._menu.triggered.connect(self.onOptionMenuTiggered) # Start self.setText() # Set default text self.onOptionsPress() # Fill menu
def __init__(self, parent, i): QtGui.QWizardPage.__init__(self, parent) self._i = i # Create label for description self._text_label = QtGui.QLabel(self) self._text_label.setTextFormat(QtCore.Qt.RichText) self._text_label.setWordWrap(True) # Create label for image self._comicLabel = QtGui.QLabel(self) pm = QtGui.QPixmap() if 'logo' in self._image_filename: pm.load( os.path.join(iep.iepDir, 'resources', 'appicons', self._image_filename)) elif self._image_filename: pm.load( os.path.join(iep.iepDir, 'resources', 'images', self._image_filename)) self._comicLabel.setPixmap(pm) self._comicLabel.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter) # Layout theLayout = QtGui.QVBoxLayout(self) self.setLayout(theLayout) # theLayout.addWidget(self._text_label) theLayout.addStretch() theLayout.addWidget(self._comicLabel) theLayout.addStretch()
def __init__(self, parent): QtGui.QWidget.__init__(self, parent) # Get config toolId = self.__class__.__name__.lower( ) + '2' # This is v2 of the file browser if toolId not in iep.config.tools: iep.config.tools[toolId] = ssdf.new() self.config = iep.config.tools[toolId] # Ensure three main attributes in config for name in ['expandedDirs', 'starredDirs']: if name not in self.config: self.config[name] = [] # Ensure path in config if 'path' not in self.config or not os.path.isdir(self.config.path): self.config.path = os.path.expanduser('~') # Check expandedDirs and starredDirs. # Make Path instances and remove invalid dirs. Also normalize case, # should not be necessary, but maybe the config was manually edited. expandedDirs, starredDirs = [], [] for d in self.config.starredDirs: if 'path' in d and 'name' in d and 'addToPythonpath' in d: if os.path.isdir(d.path): d.path = Path(d.path).normcase() starredDirs.append(d) for p in set([str(p) for p in self.config.expandedDirs]): if os.path.isdir(p): p = Path(p).normcase() # Add if it is a subdir of a starred dir for d in starredDirs: if p.startswith(d.path): expandedDirs.append(p) break self.config.expandedDirs, self.config.starredDirs = expandedDirs, starredDirs # Create browser(s). self._browsers = [] for i in [0]: self._browsers.append(Browser(self, self.config)) # Layout layout = QtGui.QVBoxLayout(self) self.setLayout(layout) layout.addWidget(self._browsers[0]) layout.setSpacing(0) layout.setContentsMargins(4, 4, 4, 4)
def __init__(self, parent): QtGui.QWidget.__init__(self,parent) # keep a booking of opened directories self._lastpath = '' # create tab widget self._tabs = FileTabWidget(self) self._tabs.tabCloseRequested.connect(self.closeFile) self._tabs.currentChanged.connect(self.onCurrentChanged) # Double clicking a tab saves the file, clicking on the bar opens a new file self._tabs.tabBar().tabDoubleClicked.connect(self.saveFile) self._tabs.tabBar().barDoubleClicked.connect(self.newFile) # Create find/replace widget self._findReplace = FindReplaceWidget(self) # create box layout control and add widgets self._boxLayout = QtGui.QVBoxLayout(self) self._boxLayout.addWidget(self._tabs, 1) self._boxLayout.addWidget(self._findReplace, 0) # spacing of widgets self._boxLayout.setSpacing(0) # apply self.setLayout(self._boxLayout) #self.setAttribute(QtCore.Qt.WA_AlwaysShowToolTips,True) # accept drops self.setAcceptDrops(True) # restore state (call later so that the menu module can bind to the # currentChanged signal first, in order to set tab/indentation # checkmarks appropriately) # todo: Resetting the scrolling would work better if set after # the widgets are properly sized. iep.callLater(self.restoreEditorState)
def __init__(self, parent): QtGui.QWidget.__init__(self, parent) # Create label widget and costumize self._label = QtGui.QLabel(self) self._label.setTextFormat(QtCore.Qt.RichText) self._label.setOpenExternalLinks(True) self._label.setWordWrap(True) self._label.setMargin(20) # Set font a wee bit larger font = self._label.font() font.setPointSize(font.pointSize() + 1) self._label.setFont(font) # Set text self._label.setText(license_text1) layout = QtGui.QVBoxLayout(self) self.setLayout(layout) layout.addStretch(1) layout.addWidget(self._label, 0) layout.addStretch(1)
def __init__(self, parent): QtGui.QWidget.__init__(self, parent) # Make sure there is a configuration entry for this tool # The IEP tool manager makes sure that there is an entry in # config.tools before the tool is instantiated. toolId = self.__class__.__name__.lower() self._config = iep.config.tools[toolId] if not hasattr(self._config, 'showTypes'): self._config.showTypes = ['class', 'def', 'cell', 'todo'] if not hasattr(self._config, 'level'): self._config.level = 2 # Create icon for slider self._sliderIcon = QtGui.QToolButton(self) self._sliderIcon.setIcon(iep.icons.text_align_right) self._sliderIcon.setIconSize(QtCore.QSize(16,16)) self._sliderIcon.setStyleSheet("QToolButton { border: none; padding: 0px; }") # Create slider self._slider = QtGui.QSlider(QtCore.Qt.Horizontal, self) self._slider.setTickPosition(QtGui.QSlider.TicksBelow) self._slider.setSingleStep(1) self._slider.setPageStep(1) self._slider.setRange(1,9) self._slider.setValue(self._config.level) self._slider.valueChanged.connect(self.updateStructure) # Create options button #self._options = QtGui.QPushButton(self) #self._options.setText('Options')) #self._options.setToolTip("What elements to show.") self._options = QtGui.QToolButton(self) self._options.setIcon(iep.icons.filter) self._options.setIconSize(QtCore.QSize(16,16)) self._options.setPopupMode(self._options.InstantPopup) self._options.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) # Create options menu self._options._menu = QtGui.QMenu() self._options.setMenu(self._options._menu) # Create tree widget self._tree = QtGui.QTreeWidget(self) self._tree.setHeaderHidden(True) self._tree.itemCollapsed.connect(self.updateStructure) # keep expanded self._tree.itemClicked.connect(self.onItemClick) # Create two sizers self._sizer1 = QtGui.QVBoxLayout(self) self._sizer2 = QtGui.QHBoxLayout() # self._sizer1.setSpacing() # Set layout self._sizer1.addLayout(self._sizer2, 0) self._sizer1.addWidget(self._tree, 1) self._sizer2.addWidget(self._sliderIcon, 0) self._sizer2.addWidget(self._slider, 4) self._sizer2.addStretch(1) self._sizer2.addWidget(self._options, 2) # self._sizer1.setSpacing(2) self.setLayout(self._sizer1) # Init current-file name self._currentEditorId = 0 # Bind to events iep.editors.currentChanged.connect(self.onEditorsCurrentChanged) iep.editors.parserDone.connect(self.updateStructure) self._options.pressed.connect(self.onOptionsPress) self._options._menu.triggered.connect(self.onOptionMenuTiggered) # Start # When the tool is loaded, the editorStack is already done loading # all previous files and selected the appropriate file. self.onOptionsPress() # Create menu now self.onEditorsCurrentChanged()
def __init__(self, parent): QtGui.QWidget.__init__(self, parent) # Init config toolId = self.__class__.__name__.lower() self.config = iep.config.tools[toolId] if not hasattr(self.config, 'projects'): self.config.projects = [] if not hasattr(self.config, 'activeproject'): self.config.activeproject = -1 if not hasattr(self.config, 'filter'): self.config.filter = '!*.pyc' if not hasattr(self.config, 'listdisclosed'): self.config.listdisclosed = True # Create example? if not self.config.projects: exampleProject = Project('Example', os.path.expanduser('~')) self.config.projects.append(exampleProject) self.config.activeproject = 0 #Init projects model self.projectsModel = ProjectsModel(self.config) #Init dir model and filtered dir model self.dirModel = QtGui.QFileSystemModel() #TODO: using the default IconProvider bugs on mac, restoring window state fails self.dirModel.setIconProvider(IconProviderWindows()) #TODO: self.dirModel.setSorting(QtCore.QDir.DirsFirst) # todo: huh? QFileSystemModel.setSorting Does not exist self.filteredDirModel = DirSortAndFilter() self.filteredDirModel.setSourceModel(self.dirModel) #Init widgets and layout self.buttonLayout = QtGui.QVBoxLayout() self.configButton = QtGui.QPushButton(self) self.configButton.setIcon(iep.icons.wrench) self.configButton.setIconSize(QtCore.QSize(16, 16)) self.buttonLayout.addWidget(self.configButton, 0) self.buttonLayout.addStretch(1) self.projectsCombo = QtGui.QComboBox() self.projectsCombo.setModel(self.projectsModel) self.hLayout = QtGui.QHBoxLayout() self.hLayout.addWidget(self.projectsCombo, 1) self.hLayout.addLayout(self.buttonLayout, 0) self.dirList = QtGui.QTreeView() self.dirList.setHeaderHidden(True) # The lessThan function in DirSortAndFilter ensures dirs are before files self.dirList.sortByColumn(0, QtCore.Qt.AscendingOrder) self.filterCombo = QtGui.QComboBox() self.layout = QtGui.QVBoxLayout() self.layout.addWidget(DeprLabel(self)) self.layout.addLayout(self.hLayout) self.layout.addWidget(self.dirList, 10) self.layout.addWidget(self.filterCombo) self.setLayout(self.layout) #Load projects in the list self.projectsCombo.show() #Load default filters self.filterCombo.setEditable(True) self.filterCombo.setCompleter(None) self.filterCombo.setInsertPolicy(self.filterCombo.NoInsert) for pattern in [ '*', '!*.pyc', '*.py *.pyw *.pyx *.pxd', '*.h *.c *.cpp' ]: self.filterCombo.addItem(pattern) self.filterCombo.editTextChanged.connect(self.filterChanged) # Set file pattern line edit (in combobox) self.filterPattern = self.filterCombo.lineEdit() self.filterPattern.setText(self.config.filter) self.filterPattern.setToolTip('File filter pattern') #Connect signals self.projectsCombo.currentIndexChanged.connect(self.comboChangedEvent) self.dirList.doubleClicked.connect(self.itemDoubleClicked) self.configButton.clicked.connect(self.showConfigDialog) #Apply previous selected project self.activeProject = None self.projectChanged(self.config.activeproject) #Attach the context menu self.dirList.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.dirList.customContextMenuRequested.connect( self.contextMenuTriggered)
def __init__(self, *args): QtGui.QDialog.__init__(self, *args) self.setModal(True) # Set title self.setWindowTitle(iep.translate('shell', 'Shell configurations')) # Create tab widget self._tabs = QtGui.QTabWidget(self) #self._tabs = CompactTabWidget(self, padding=(4,4,5,5)) #self._tabs.setDocumentMode(False) self._tabs.setMovable(True) # Get known interpreters (sorted them by version) # Do this here so we only need to do it once ... from pyzolib.interpreters import get_interpreters self.interpreters = list(reversed(get_interpreters('2.4'))) # Introduce an entry if there's none if not iep.config.shellConfigs2: w = ShellInfoTab(self._tabs) self._tabs.addTab(w, '---') w.setInfo() # Fill tabs for item in iep.config.shellConfigs2: w = ShellInfoTab(self._tabs) self._tabs.addTab(w, '---') w.setInfo(item) # Enable making new tabs and closing tabs self._add = QtGui.QToolButton(self) self._tabs.setCornerWidget(self._add) self._add.clicked.connect(self.onAdd) self._add.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self._add.setIcon(iep.icons.add) self._add.setText(translate('shell', 'Add config')) # #self._tabs.setTabsClosable(True) self._tabs.tabCloseRequested.connect(self.onTabClose) # Create buttons cancelBut = QtGui.QPushButton("Cancel", self) okBut = QtGui.QPushButton("Done", self) cancelBut.clicked.connect(self.close) okBut.clicked.connect(self.applyAndClose) # Layout for buttons buttonLayout = QtGui.QHBoxLayout() buttonLayout.addStretch(1) buttonLayout.addWidget(cancelBut) buttonLayout.addSpacing(10) buttonLayout.addWidget(okBut) # Layout the widgets mainLayout = QtGui.QVBoxLayout(self) mainLayout.addSpacing(8) mainLayout.addWidget(self._tabs,0) mainLayout.addLayout(buttonLayout,0) self.setLayout(mainLayout) # Prevent resizing self.show() size = self.size() self.setMinimumSize(size) self.setMaximumHeight(size.height())
def __init__(self, parent): QtGui.QFrame.__init__(self, parent) # Init config toolId = self.__class__.__name__.lower() self._config = iep.config.tools[toolId] if not hasattr(self._config, 'zoomFactor'): self._config.zoomFactor = 1.0 if not hasattr(self._config, 'bookMarks'): self._config.bookMarks = default_bookmarks # Get style object (for icons) style = QtGui.QApplication.style() # Create some buttons self._back = QtGui.QToolButton(self) self._back.setIcon(style.standardIcon(style.SP_ArrowBack)) self._back.setIconSize(QtCore.QSize(16, 16)) # self._forward = QtGui.QToolButton(self) self._forward.setIcon(style.standardIcon(style.SP_ArrowForward)) self._forward.setIconSize(QtCore.QSize(16, 16)) # Create address bar #self._address = QtGui.QLineEdit(self) self._address = QtGui.QComboBox(self) self._address.setEditable(True) self._address.setInsertPolicy(self._address.NoInsert) # for a in self._config.bookMarks: self._address.addItem(a) self._address.setEditText('') # Create web view self._view = WebView(self) # # self._view.setZoomFactor(self._config.zoomFactor) # settings = self._view.settings() # settings.setAttribute(settings.JavascriptEnabled, True) # settings.setAttribute(settings.PluginsEnabled, True) # Layout self._sizer1 = QtGui.QVBoxLayout(self) self._sizer2 = QtGui.QHBoxLayout() # self._sizer2.addWidget(self._back, 0) self._sizer2.addWidget(self._forward, 0) self._sizer2.addWidget(self._address, 1) # self._sizer1.addLayout(self._sizer2, 0) self._sizer1.addWidget(self._view, 1) # self._sizer1.setSpacing(2) self.setLayout(self._sizer1) # Bind signals self._back.clicked.connect(self.onBack) self._forward.clicked.connect(self.onForward) self._address.lineEdit().returnPressed.connect(self.go) self._address.activated.connect(self.go) self._view.loadFinished.connect(self.onLoadEnd) self._view.loadStarted.connect(self.onLoadStart) # Start self._view.show() self.go('http://docs.python.org')
def __init__(self, *args): QtGui.QFrame.__init__(self, *args) self.setFocusPolicy(QtCore.Qt.ClickFocus) # init layout layout = QtGui.QHBoxLayout(self) layout.setSpacing(0) self.setLayout(layout) # Create some widgets first to realize a correct tab order self._hidebut = QtGui.QToolButton(self) self._findText = QtGui.QLineEdit(self) self._replaceText = QtGui.QLineEdit(self) if True: # Create sub layouts vsubLayout = QtGui.QVBoxLayout() vsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add button self._hidebut.setFont( QtGui.QFont('helvetica',7) ) self._hidebut.setToolTip(translate('search', 'Hide search widget (Escape)')) self._hidebut.setIcon( iep.icons.cancel ) self._hidebut.setIconSize(QtCore.QSize(16,16)) vsubLayout.addWidget(self._hidebut, 0) vsubLayout.addStretch(1) layout.addSpacing(10) if True: # Create sub layouts vsubLayout = QtGui.QVBoxLayout() hsubLayout = QtGui.QHBoxLayout() vsubLayout.setSpacing(0) hsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add find text self._findText.setToolTip(translate('search', 'Find pattern')) vsubLayout.addWidget(self._findText, 0) vsubLayout.addLayout(hsubLayout) # Add previous button self._findPrev = QtGui.QToolButton(self) t = translate('search', 'Previous ::: Find previous occurance of the pattern.') self._findPrev.setText(t); self._findPrev.setToolTip(t.tt) hsubLayout.addWidget(self._findPrev, 0) hsubLayout.addStretch(1) # Add next button self._findNext = QtGui.QToolButton(self) t = translate('search', 'Next ::: Find next occurance of the pattern.') self._findNext.setText(t); self._findNext.setToolTip(t.tt) #self._findNext.setDefault(True) # Not possible with tool buttons hsubLayout.addWidget(self._findNext, 0) layout.addSpacing(10) if True: # Create sub layouts vsubLayout = QtGui.QVBoxLayout() hsubLayout = QtGui.QHBoxLayout() vsubLayout.setSpacing(0) hsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add replace text self._replaceText.setToolTip(translate('search', 'Replace pattern')) vsubLayout.addWidget(self._replaceText, 0) vsubLayout.addLayout(hsubLayout) # Add replace-all button self._replaceAll = QtGui.QToolButton(self) t = translate('search', 'Repl. all ::: Replace all matches in current document.') self._replaceAll.setText(t); self._replaceAll.setToolTip(t.tt) hsubLayout.addWidget(self._replaceAll, 0) hsubLayout.addStretch(1) # Add replace button self._replace = QtGui.QToolButton(self) t = translate('search', 'Replace ::: Replace this match.') self._replace.setText(t); self._replace.setToolTip(t.tt) hsubLayout.addWidget(self._replace, 0) layout.addSpacing(10) if True: # Create sub layouts vsubLayout = QtGui.QVBoxLayout() vsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add match-case checkbox t = translate('search', 'Match case ::: Find words that match case.') self._caseCheck = QtGui.QCheckBox(t, self) self._caseCheck.setToolTip(t.tt) vsubLayout.addWidget(self._caseCheck, 0) # Add regexp checkbox t = translate('search', 'RegExp ::: Find using regular expressions.') self._regExp = QtGui.QCheckBox(t, self) self._regExp.setToolTip(t.tt) vsubLayout.addWidget(self._regExp, 0) if True: # Create sub layouts vsubLayout = QtGui.QVBoxLayout() vsubLayout.setSpacing(0) layout.addLayout(vsubLayout, 0) # Add whole-word checkbox t = translate('search', 'Whole words ::: Find only whole words.') self._wholeWord = QtGui.QCheckBox(t, self) self._wholeWord.setToolTip(t.tt) self._wholeWord.resize(60, 16) vsubLayout.addWidget(self._wholeWord, 0) # Add autohide dropbox t = translate('search', 'Auto hide ::: Hide search/replace when unused for 10 s.') self._autoHide = QtGui.QCheckBox(t, self) self._autoHide.setToolTip(t.tt) self._autoHide.resize(60, 16) vsubLayout.addWidget(self._autoHide, 0) layout.addStretch(1) # Set placeholder texts for lineEdit in [self._findText, self._replaceText]: if hasattr(lineEdit, 'setPlaceholderText'): lineEdit.setPlaceholderText(lineEdit.toolTip()) lineEdit.textChanged.connect(self.autoHideTimerReset) # Set focus policy for but in [self._findPrev, self._findNext, self._replaceAll, self._replace, self._caseCheck, self._wholeWord, self._regExp]: #but.setFocusPolicy(QtCore.Qt.ClickFocus) but.clicked.connect(self.autoHideTimerReset) # create timer objects self._timerBeginEnd = QtCore.QTimer(self) self._timerBeginEnd.setSingleShot(True) self._timerBeginEnd.timeout.connect( self.resetAppearance ) # self._timerAutoHide = QtCore.QTimer(self) self._timerAutoHide.setSingleShot(False) self._timerAutoHide.setInterval(500) # ms self._timerAutoHide.timeout.connect( self.autoHideTimerCallback ) self._timerAutoHide_t0 = time.time() self._timerAutoHide.start() # create callbacks self._findText.returnPressed.connect(self.findNext) self._hidebut.clicked.connect(self.hideMe) self._findNext.clicked.connect(self.findNext) self._findPrev.clicked.connect(self.findPrevious) self._replace.clicked.connect(self.replaceOne) self._replaceAll.clicked.connect(self.replaceAll) # self._regExp.stateChanged.connect(self.handleReplacePossible) # init case and regexp self._caseCheck.setChecked( bool(iep.config.state.find_matchCase) ) self._regExp.setChecked( bool(iep.config.state.find_regExp) ) self._wholeWord.setChecked( bool(iep.config.state.find_wholeWord) ) self._autoHide.setChecked( bool(iep.config.state.find_autoHide) ) # show or hide? if bool(iep.config.state.find_show): self.show() else: self.hide()