def __init__(self, parent=None): QDialog.__init__(self, parent) self.ui = Ui_Settings() self.ui.setupUi(self) self.ui.chooseLessc.clicked.connect(self.openLesscDialog) self.ui.chooseEditor.clicked.connect(self.openEditorDialog) self.ui.buttonBox.accepted.connect(self.saveSetting) #lessc path if self.settings.contains('lessc_path') == 'False' or len( self.settings.value('less_path')) == 0: self.settings.setValue('less_path', '/usr/bin/lessc') #editor path if self.settings.contains('editor_path') == 'False' or len( self.settings.value('editor_path')) == 0: self.settings.setValue('editor_path', '/usr/bin/kate') #checkbox for open all file in less file folder if self.settings.contains('less_folder') == 'False': self.settings.setValue('less_folder', 'False') if self.settings.value('less_folder') == 'False': self.ui.lessFolder.setChecked(False) else: self.ui.lessFolder.setChecked(True) self.ui.editor.setText(self.settings.value('editor_path')) self.ui.lesscPath.setText(self.settings.value('less_path'))
class SettingDialog ( QDialog , Ui_Settings): #var initialization settings = QSettings('Mte90','Plessc') settings.setFallbacksEnabled(False) def __init__ ( self, parent = None ): QDialog.__init__( self, parent ) self.ui = Ui_Settings() self.ui.setupUi( self ) self.ui.chooseLessc.clicked.connect(self.openLesscDialog) self.ui.chooseEditor.clicked.connect(self.openEditorDialog) self.ui.buttonBox.accepted.connect(self.saveSetting) #lessc path if self.settings.contains('lessc_path') == 'False' or len(self.settings.value('less_path')) == 0: self.settings.setValue('less_path','/usr/bin/lessc') #editor path if self.settings.contains('editor_path') == 'False' or len(self.settings.value('editor_path')) == 0: self.settings.setValue('editor_path','/usr/bin/kate') #checkbox for open all file in less file folder if self.settings.contains('less_folder') == 'False': self.settings.setValue('less_folder','False') if self.settings.value('less_folder') == 'False': self.ui.lessFolder.setChecked(False) else: self.ui.lessFolder.setChecked(True) self.ui.editor.setText(self.settings.value('editor_path')) self.ui.lesscPath.setText(self.settings.value('less_path')) #Function for open a dialog for choose the less compiler def openLesscDialog(self): lessc = QFileDialog.getOpenFileName(self, 'Choose less compiler',self.ui.lesscPath.text()) self.ui.lesscPath.setText(self.lessc) #Function for open a dialog for choose the editor def openEditorDialog(self): editor = QFileDialog.getSaveFileName(self, 'Set editor',self.ui.editor.text()) self.ui.editor.setText(editor) #Save the setting def saveSetting(self): if len(self.ui.editor.text()) > 0: self.settings.setValue('editor_path',self.ui.editor.text()) else: self.ui.editor.setText('/usr/bin/kate') QMessageBox.critical(self.window(), "Editor empty","This field can't be empty!") if len(self.ui.lesscPath.text()) > 0: self.settings.setValue('less_path',self.ui.lesscPath.text()) else: self.ui.lesscPath.setText('/usr/bin/lessc') QMessageBox.critical(self.window(), "Compiler empty","This field can't be empty!") if self.ui.lessFolder.isChecked() == False: self.settings.setValue('less_folder','False') else: self.settings.setValue('less_folder','True')
def __init__(self): super(Settings, self).__init__() # Init self.ui = Ui_Settings() self.ui.setupUi(self) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint) self.ui.txtPath.setText(directory) if SettingsExist(): self.ui.spinUpdateInterval.setValue(int(programSettings.value("UpdateInterval"))) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).clicked.connect(self.btnOK_clicked) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Cancel).clicked.connect(self.btnCancel_clicked) self.ui.btnOpen.clicked.connect(self.btnOpen_clicked)
def __init__(self): super(Window, self).__init__() # UI self.createActions() self.setTitle=programTitle self.createTrayIcon() # Draw system tray icon pixmap = QtGui.QPixmap(QtGui.QPixmap(":icons/mailbox_empty.png")) painter = QtGui.QPainter(pixmap) painter.setPen(QtGui.QColor(255, 0, 0)) painter.setFont(QtGui.QFont('Arial', QtGui.QFont.Bold)) painter.drawText(QtCore.QRectF(pixmap.rect()), QtCore.Qt.AlignCenter, "0") painter.end() self.trayIcon.setIcon(QtGui.QIcon(pixmap)) # End drawing system tray icon self.trayIcon.setToolTip("You have no unread letters") self.trayIcon.show() # setup settings self.ui = Ui_Settings() self.ui.setupUi(self) self.setWindowIcon(QIcon(os.path.dirname(os.path.realpath(__file__))+"/icons/mailbox_empty.png")) self.SettingsRestore() self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).clicked.connect(self.btnOK_clicked) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Cancel).clicked.connect(self.btnCancel_clicked) self.ui.btnTestConnection.clicked.connect(self.btnTestConnection_clicked) self.ui.comboAccounts.currentTextChanged.connect(self.comboAccounts_changed) self.ui.btnAddAccount.clicked.connect(self.btnAddAccount_clicked) self.ui.btnRenameAccount.clicked.connect(self.btnRenameAccount_clicked) self.ui.btnSaveAccount.clicked.connect(self.btnSaveAccount_clicked) self.ui.btnRemoveAccount.clicked.connect(self.btnRemoveAccount_clicked) # Check if account doesn't exist, it creates default one if (AccountExist() == False): self.ui.comboAccounts.addItem("Default") self.ui.comboAccounts.setCurrentText("Default") # Main timer self.timer = QTimer(self) self.timer.timeout.connect(mail_check) self.lastCheckCount = 0 # variable for prevent annoying popup notification when mail count didn't change since last check
class Settings(QDialog): def __init__(self): super(Settings, self).__init__() # Init self.ui = Ui_Settings() self.ui.setupUi(self) self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint) self.ui.txtPath.setText(directory) if SettingsExist(): self.ui.spinUpdateInterval.setValue(int(programSettings.value("UpdateInterval"))) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).clicked.connect(self.btnOK_clicked) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Cancel).clicked.connect(self.btnCancel_clicked) self.ui.btnOpen.clicked.connect(self.btnOpen_clicked) # Functions def btnCancel_clicked(self): self.hide() def closeEvent(self, event): self.hide() event.ignore() def btnOpen_clicked(self): directory = QFileDialog.getExistingDirectory(self, 'Open file', os.path.expanduser("~"), QFileDialog.ShowDirsOnly | QFileDialog.DontResolveSymlinks | QFileDialog.ReadOnly) self.ui.txtPath.setText(directory) def btnOK_clicked(self): SettingsSave() directory = self.ui.txtPath.text() setPicture(directory) window.stop() window.start() self.hide()
def __init__(self): super(Window, self).__init__() # UI self.createActions() self.setTitle = programTitle self.createTrayIcon() # Draw system tray icon pixmap = QtGui.QPixmap(QtGui.QPixmap(":icons/mailbox_empty.png")) painter = QtGui.QPainter(pixmap) painter.setPen(QtGui.QColor(255, 0, 0)) painter.setFont(QtGui.QFont("Arial", QtGui.QFont.Bold)) painter.drawText(QtCore.QRectF(pixmap.rect()), QtCore.Qt.AlignCenter, "0") painter.end() self.trayIcon.setIcon(QtGui.QIcon(pixmap)) # End drawing system tray icon self.trayIcon.setToolTip("You have no unread letters") self.trayIcon.show() # setup settings self.ui = Ui_Settings() self.ui.setupUi(self) self.setWindowIcon(QIcon(os.path.dirname(os.path.realpath(__file__)) + "/icons/mailbox_empty.png")) self.SettingsRestore() self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).clicked.connect(self.btnOK_clicked) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Cancel).clicked.connect(self.btnCancel_clicked) self.ui.btnTestConnection.clicked.connect(self.btnTestConnection_clicked) self.ui.comboAccounts.currentTextChanged.connect(self.comboAccounts_changed) self.ui.btnAddAccount.clicked.connect(self.btnAddAccount_clicked) self.ui.btnRenameAccount.clicked.connect(self.btnRenameAccount_clicked) self.ui.btnSaveAccount.clicked.connect(self.btnSaveAccount_clicked) self.ui.btnRemoveAccount.clicked.connect(self.btnRemoveAccount_clicked) # Main timer self.timer = QTimer(self) self.timer.timeout.connect(mail_check) self.lastCheckCount = ( 0 ) # variable for prevent annoying popup notification when mail count didn't change since last check
def __init__ ( self, parent = None ): QDialog.__init__( self, parent ) self.ui = Ui_Settings() self.ui.setupUi( self ) self.ui.chooseLessc.clicked.connect(self.openLesscDialog) self.ui.chooseEditor.clicked.connect(self.openEditorDialog) self.ui.buttonBox.accepted.connect(self.saveSetting) #lessc path if self.settings.contains('lessc_path') == 'False' or len(self.settings.value('less_path')) == 0: self.settings.setValue('less_path','/usr/bin/lessc') #editor path if self.settings.contains('editor_path') == 'False' or len(self.settings.value('editor_path')) == 0: self.settings.setValue('editor_path','/usr/bin/kate') #checkbox for open all file in less file folder if self.settings.contains('less_folder') == 'False': self.settings.setValue('less_folder','False') if self.settings.value('less_folder') == 'False': self.ui.lessFolder.setChecked(False) else: self.ui.lessFolder.setChecked(True) self.ui.editor.setText(self.settings.value('editor_path')) self.ui.lesscPath.setText(self.settings.value('less_path'))
class Window(QDialog): def __init__(self): super(Window, self).__init__() # UI self.createActions() self.setTitle = programTitle self.createTrayIcon() # Draw system tray icon pixmap = QtGui.QPixmap(QtGui.QPixmap(":icons/mailbox_empty.png")) painter = QtGui.QPainter(pixmap) painter.setPen(QtGui.QColor(255, 0, 0)) painter.setFont(QtGui.QFont("Arial", QtGui.QFont.Bold)) painter.drawText(QtCore.QRectF(pixmap.rect()), QtCore.Qt.AlignCenter, "0") painter.end() self.trayIcon.setIcon(QtGui.QIcon(pixmap)) # End drawing system tray icon self.trayIcon.setToolTip("You have no unread letters") self.trayIcon.show() # setup settings self.ui = Ui_Settings() self.ui.setupUi(self) self.setWindowIcon(QIcon(os.path.dirname(os.path.realpath(__file__)) + "/icons/mailbox_empty.png")) self.SettingsRestore() self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).clicked.connect(self.btnOK_clicked) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Cancel).clicked.connect(self.btnCancel_clicked) self.ui.btnTestConnection.clicked.connect(self.btnTestConnection_clicked) self.ui.comboAccounts.currentTextChanged.connect(self.comboAccounts_changed) self.ui.btnAddAccount.clicked.connect(self.btnAddAccount_clicked) self.ui.btnRenameAccount.clicked.connect(self.btnRenameAccount_clicked) self.ui.btnSaveAccount.clicked.connect(self.btnSaveAccount_clicked) self.ui.btnRemoveAccount.clicked.connect(self.btnRemoveAccount_clicked) # Main timer self.timer = QTimer(self) self.timer.timeout.connect(mail_check) self.lastCheckCount = ( 0 ) # variable for prevent annoying popup notification when mail count didn't change since last check # Menu actions def createActions(self): self.detailsShow = QAction(QIcon(":icons/details.png"), "&Details", self, triggered=self.detailsShow) self.aboutShow = QAction(QIcon(":icons/mailbox_empty.png"), "&About", self, triggered=self.aboutShow) self.checkNow = QAction(QIcon(":icons/check_now.png"), "&Check now", self, triggered=mail_check) self.restoreAction = QAction(QIcon(":icons/settings.png"), "&Settings", self, triggered=self.showNormal) self.quitAction = QAction(QIcon(":icons/menu_quit.png"), "&Quit", self, triggered=QApplication.instance().quit) # UI functions def createTrayIcon(self): self.trayIconMenu = QMenu(self) self.trayIconMenu.addAction(self.aboutShow) self.trayIconMenu.addAction(self.detailsShow) self.trayIconMenu.addAction(self.checkNow) self.trayIconMenu.addAction(self.restoreAction) self.trayIconMenu.addAction(self.quitAction) self.trayIcon = QSystemTrayIcon(self) self.trayIcon.setContextMenu(self.trayIconMenu) self.trayIcon.activated.connect(self.trayIconActivated) def SettingsRestore(self): if GlobalSettingsExist() and AccountExist(): groups = settings.childGroups() for i in range(len(groups)): self.ui.comboAccounts.addItem(groups[i]) self.ui.comboAccounts.setCurrentText(groups[i]) settings.beginGroup(groups[i]) self.ui.txtboxMailServer.setText(settings.value("MailServer")) self.ui.txtboxPort.setText(settings.value("Port")) self.ui.txtboxLogin.setText(settings.value("Login")) self.ui.txtboxPassword.setText(settings.value("Password")) self.ui.boolifSSL.setChecked(bool(settings.value("SSL"))) settings.endGroup() if self.ui.comboAccounts.count() == 0: self.ui.comboAccounts.addItem("Default") self.ui.comboAccounts.setCurrentText("Default") self.ui.checkFreq.setValue(int(settings.value("CheckInterval"))) self.ui.boolifNotify.setChecked(bool(settings.value("Notify"))) def SettingsSave(self, account): settings.setValue("CheckInterval", self.ui.checkFreq.value()) settings.setValue("Notify", self.ui.boolifNotify.isChecked()) settings.beginGroup(account) settings.setValue("MailServer", self.ui.txtboxMailServer.text()) settings.setValue("Port", self.ui.txtboxPort.text()) settings.setValue("Login", self.ui.txtboxLogin.text()) settings.setValue("Password", self.ui.txtboxPassword.text()) settings.setValue("SSL", self.ui.boolifSSL.isChecked()) settings.endGroup() def SettingsRemove(self, group): settings.beginGroup(group) settings.remove("") settings.endGroup() def btnOK_clicked(self): self.SettingsSave(self.ui.comboAccounts.currentText()) if ( settings.value("MailServer") == "" or settings.value("Port") == "" or settings.value("Login") == "" or settings.value("Password") == "" ): QMessageBox.critical(self, "Warning", "You should fill all fields in IMAP settings!") self.show() mail_check() self.ui.lblTestOutput.setText("") self.stop() self.start() def btnCancel_clicked(self): self.SettingsRestore() self.ui.lblTestOutput.setText("") def btnTestConnection_clicked(self): try: if self.ui.boolifSSL.isChecked: self.imap = imaplib.IMAP4_SSL(self.ui.txtboxMailServer.text(), self.ui.txtboxPort.text()) else: self.imap = imaplib.IMAP4(self.ui.txtboxMailServer.text(), self.ui.txtboxPort.text()) self.imap.login(self.ui.txtboxLogin.text(), self.ui.txtboxPassword.text()) output = "Connection was established successfully" except: output = "Unable to establish connection to mailbox" finally: self.ui.lblTestOutput.setText(output) def btnAddAccount_clicked(self): GroupName = QInputDialog.getText(self, "Enter account name", "Enter account name", QLineEdit.Normal, "") if GroupName[0]: self.ui.comboAccounts.addItem(GroupName[0]) self.ui.comboAccounts.setCurrentText(GroupName[0]) def btnRenameAccount_clicked(self): Index = self.ui.comboAccounts.currentIndex() OldGroupName = self.ui.comboAccounts.currentText() GroupName = QInputDialog.getText( self, "Enter account name", "Enter account name", QLineEdit.Normal, self.ui.comboAccounts.currentText() ) if GroupName[0]: self.SettingsSave(GroupName[0]) self.ui.comboAccounts.setItemText(Index, GroupName[0]) self.ui.comboAccounts.setCurrentText(GroupName[0]) self.SettingsRemove(OldGroupName) def btnSaveAccount_clicked(self): self.SettingsSave(self.ui.comboAccounts.currentText()) self.ui.lblTestOutput.setText("Account saved") def btnRemoveAccount_clicked(self): reply = QMessageBox.warning( self, "Warning!", "Delete this account permanently?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No ) if reply == QMessageBox.Yes: Index = self.ui.comboAccounts.currentIndex() GroupName = self.ui.comboAccounts.currentText() self.ui.comboAccounts.removeItem(Index) self.SettingsRemove(GroupName) def comboAccounts_changed(self): self.ui.lblTestOutput.setText("") settings.beginGroup(self.ui.comboAccounts.currentText()) self.ui.txtboxMailServer.setText(settings.value("MailServer")) self.ui.txtboxPort.setText(settings.value("Port")) self.ui.txtboxLogin.setText(settings.value("Login")) self.ui.txtboxPassword.setText(settings.value("Password")) self.ui.boolifSSL.setChecked(bool(settings.value("SSL"))) settings.endGroup() def aboutShow(self): if about.isMinimized: about.hide() about.show() about.activateWindow() def detailsShow(self): details.show() details.activateWindow() def trayIconActivated(self, reason): if reason in (QSystemTrayIcon.Trigger, QSystemTrayIcon.DoubleClick): details.show() details.activateWindow() def start(self): if GlobalSettingsExist() and AccountExist(): CheckInterval = 1000 * 60 * int(settings.value("CheckInterval")) else: CheckInterval = 1000 * 60 * 5 self.timer.setInterval(CheckInterval) self.timer.start() def stop(self): self.timer.stop()
class Window(QDialog): def __init__(self): super(Window, self).__init__() # UI self.createActions() self.setTitle=programTitle self.createTrayIcon() # Draw system tray icon pixmap = QtGui.QPixmap(QtGui.QPixmap(":icons/mailbox_empty.png")) painter = QtGui.QPainter(pixmap) painter.setPen(QtGui.QColor(255, 0, 0)) painter.setFont(QtGui.QFont('Arial', QtGui.QFont.Bold)) painter.drawText(QtCore.QRectF(pixmap.rect()), QtCore.Qt.AlignCenter, "0") painter.end() self.trayIcon.setIcon(QtGui.QIcon(pixmap)) # End drawing system tray icon self.trayIcon.setToolTip("You have no unread letters") self.trayIcon.show() # setup settings self.ui = Ui_Settings() self.ui.setupUi(self) self.setWindowIcon(QIcon(os.path.dirname(os.path.realpath(__file__))+"/icons/mailbox_empty.png")) self.SettingsRestore() self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Ok).clicked.connect(self.btnOK_clicked) self.ui.buttonBox.button(QtWidgets.QDialogButtonBox.Cancel).clicked.connect(self.btnCancel_clicked) self.ui.btnTestConnection.clicked.connect(self.btnTestConnection_clicked) self.ui.comboAccounts.currentTextChanged.connect(self.comboAccounts_changed) self.ui.btnAddAccount.clicked.connect(self.btnAddAccount_clicked) self.ui.btnRenameAccount.clicked.connect(self.btnRenameAccount_clicked) self.ui.btnSaveAccount.clicked.connect(self.btnSaveAccount_clicked) self.ui.btnRemoveAccount.clicked.connect(self.btnRemoveAccount_clicked) # Check if account doesn't exist, it creates default one if (AccountExist() == False): self.ui.comboAccounts.addItem("Default") self.ui.comboAccounts.setCurrentText("Default") # Main timer self.timer = QTimer(self) self.timer.timeout.connect(mail_check) self.lastCheckCount = 0 # variable for prevent annoying popup notification when mail count didn't change since last check # Menu actions def createActions(self): self.detailsShow = QAction(QIcon(':icons/details.png'),"&Details...", self, triggered=self.detailsShow) self.aboutShow = QAction(QIcon(':icons/mailbox_empty.png'),"&About " + programTitle + "...", self, triggered=self.aboutShow) self.checkNow = QAction(QIcon(':icons/check_now.png'),"&Check now", self, triggered=mail_check) self.restoreAction = QAction(QIcon(":icons/settings.png"),"&Settings...", self, triggered=self.showNormal) self.quitAction = QAction(QIcon(':icons/menu_quit.png'),"&Quit", self, triggered=QApplication.instance().quit) # UI functions def createTrayIcon(self): self.trayIconMenu = QMenu(self) f = self.trayIconMenu.font() f.setBold(True) self.detailsShow.setFont(f) self.trayIconMenu.addAction(self.detailsShow) self.trayIconMenu.addSeparator() self.trayIconMenu.addAction(self.checkNow) self.trayIconMenu.addAction(self.restoreAction) self.trayIconMenu.addAction(self.aboutShow) self.trayIconMenu.addAction(self.quitAction) self.trayIcon = QSystemTrayIcon(self) self.trayIcon.setContextMenu(self.trayIconMenu) self.trayIcon.activated.connect(self.trayIconActivated) def SettingsRestore(self): if (GlobalSettingsExist() and AccountExist()): groups = settings.childGroups() self.ui.comboAccounts.clear() # Clear account items before fill them again for i in range (len(groups)): self.ui.comboAccounts.addItem(groups[i]) self.ui.comboAccounts.setCurrentText(groups[i]) settings.beginGroup(groups[i]) self.ui.txtboxMailServer.setText(settings.value("MailServer")) self.ui.txtboxPort.setText(settings.value("Port")) self.ui.txtboxLogin.setText(settings.value("Login")) self.ui.txtboxPassword.setText(settings.value("Password")) self.ui.boolifSSL.setChecked(bool(settings.value("SSL"))) settings.endGroup() if (self.ui.comboAccounts.count() == 0): self.ui.comboAccounts.addItem("Default") self.ui.comboAccounts.setCurrentText("Default") self.ui.checkFreq.setValue(int(settings.value("CheckInterval"))) self.ui.boolifNotify.setChecked(bool(settings.value("Notify"))) def SettingsSave(self,account): settings.setValue("CheckInterval",self.ui.checkFreq.value()) settings.setValue("Notify", self.ui.boolifNotify.isChecked()) settings.beginGroup(account) settings.setValue("MailServer",self.ui.txtboxMailServer.text()) settings.setValue("Port",self.ui.txtboxPort.text()) settings.setValue("Login",self.ui.txtboxLogin.text()) settings.setValue("Password",self.ui.txtboxPassword.text()) settings.setValue("SSL",self.ui.boolifSSL.isChecked()) settings.endGroup() def SettingsRemove(self,group): settings.beginGroup(group) settings.remove("") settings.endGroup() def btnOK_clicked(self): self.SettingsSave(self.ui.comboAccounts.currentText()) if (settings.value("MailServer") == "" or settings.value("Port") == "" or settings.value("Login") == "" or settings.value("Password") == ""): QMessageBox.critical(self, "Warning","You should fill all fields in IMAP settings!") self.show() mail_check() self.ui.lblTestOutput.setText("") self.stop() self.start() def btnCancel_clicked(self): self.SettingsRestore() self.ui.lblTestOutput.setText("") def btnTestConnection_clicked(self): try: if self.ui.boolifSSL.isChecked: self.imap = imaplib.IMAP4_SSL(self.ui.txtboxMailServer.text(), self.ui.txtboxPort.text()) else: self.imap = imaplib.IMAP4(self.ui.txtboxMailServer.text(), self.ui.txtboxPort.text()) self.imap.login(self.ui.txtboxLogin.text(), self.ui.txtboxPassword.text()) output = "Connection was established successfully" except: output = "Unable to establish connection to mailbox" finally: self.ui.lblTestOutput.setText(output) def btnAddAccount_clicked(self): GroupName = QInputDialog.getText(self,"Enter account name","Enter account name",QLineEdit.Normal,"") if (GroupName[0]): self.ui.comboAccounts.addItem(GroupName[0]) self.ui.comboAccounts.setCurrentText(GroupName[0]) def btnRenameAccount_clicked(self): Index = self.ui.comboAccounts.currentIndex() OldGroupName = self.ui.comboAccounts.currentText() GroupName = QInputDialog.getText(self,"Enter account name","Enter account name",QLineEdit.Normal,self.ui.comboAccounts.currentText()) if (GroupName[0]): self.SettingsSave(GroupName[0]) self.ui.comboAccounts.setItemText(Index, GroupName[0]) self.ui.comboAccounts.setCurrentText(GroupName[0]) self.SettingsRemove(OldGroupName) def btnSaveAccount_clicked(self): self.SettingsSave(self.ui.comboAccounts.currentText()) self.ui.lblTestOutput.setText("Account saved") def btnRemoveAccount_clicked(self): reply = QMessageBox.warning(self, 'Warning!', "Delete this account permanently?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if (reply == QMessageBox.Yes): Index = self.ui.comboAccounts.currentIndex() GroupName = self.ui.comboAccounts.currentText() self.ui.comboAccounts.removeItem(Index) self.SettingsRemove(GroupName) # Check if account doesn't exist, it creates default one if (AccountExist() == False): self.ui.comboAccounts.addItem("Default") self.ui.comboAccounts.setCurrentText("Default") def comboAccounts_changed(self): self.ui.lblTestOutput.setText("") settings.beginGroup(self.ui.comboAccounts.currentText()) self.ui.txtboxMailServer.setText(settings.value("MailServer")) self.ui.txtboxPort.setText(settings.value("Port")) self.ui.txtboxLogin.setText(settings.value("Login")) self.ui.txtboxPassword.setText(settings.value("Password")) self.ui.boolifSSL.setChecked(bool(settings.value("SSL"))) settings.endGroup() def aboutShow(self): if (about.isMinimized): about.hide() about.show() about.activateWindow() def detailsShow(self): details.show() details.activateWindow() def trayIconActivated(self, reason): if reason in (QSystemTrayIcon.Trigger, QSystemTrayIcon.DoubleClick): details.show() details.activateWindow() def start(self): if (GlobalSettingsExist() and AccountExist()): CheckInterval = 1000*60*int(settings.value("CheckInterval")) else: CheckInterval = 1000*60*5 self.timer.setInterval (CheckInterval) self.timer.start() def stop (self): self.timer.stop()
class SettingDialog(QDialog, Ui_Settings): #var initialization settings = QSettings('Mte90', 'Plessc') settings.setFallbacksEnabled(False) def __init__(self, parent=None): QDialog.__init__(self, parent) self.ui = Ui_Settings() self.ui.setupUi(self) self.ui.chooseLessc.clicked.connect(self.openLesscDialog) self.ui.chooseEditor.clicked.connect(self.openEditorDialog) self.ui.buttonBox.accepted.connect(self.saveSetting) #lessc path if self.settings.contains('lessc_path') == 'False' or len( self.settings.value('less_path')) == 0: self.settings.setValue('less_path', '/usr/bin/lessc') #editor path if self.settings.contains('editor_path') == 'False' or len( self.settings.value('editor_path')) == 0: self.settings.setValue('editor_path', '/usr/bin/kate') #checkbox for open all file in less file folder if self.settings.contains('less_folder') == 'False': self.settings.setValue('less_folder', 'False') if self.settings.value('less_folder') == 'False': self.ui.lessFolder.setChecked(False) else: self.ui.lessFolder.setChecked(True) self.ui.editor.setText(self.settings.value('editor_path')) self.ui.lesscPath.setText(self.settings.value('less_path')) #Function for open a dialog for choose the less compiler def openLesscDialog(self): lessc = QFileDialog.getOpenFileName(self, 'Choose less compiler', self.ui.lesscPath.text()) self.ui.lesscPath.setText(self.lessc) #Function for open a dialog for choose the editor def openEditorDialog(self): editor = QFileDialog.getSaveFileName(self, 'Set editor', self.ui.editor.text()) self.ui.editor.setText(editor) #Save the setting def saveSetting(self): if len(self.ui.editor.text()) > 0: self.settings.setValue('editor_path', self.ui.editor.text()) else: self.ui.editor.setText('/usr/bin/kate') QMessageBox.critical(self.window(), "Editor empty", "This field can't be empty!") if len(self.ui.lesscPath.text()) > 0: self.settings.setValue('less_path', self.ui.lesscPath.text()) else: self.ui.lesscPath.setText('/usr/bin/lessc') QMessageBox.critical(self.window(), "Compiler empty", "This field can't be empty!") if self.ui.lessFolder.isChecked() == False: self.settings.setValue('less_folder', 'False') else: self.settings.setValue('less_folder', 'True')