Sat, 02 Jan 2010 15:11:35 +0000
First commit after changing to Python 3.1.
# -*- coding: utf-8 -*- # Copyright (c) 2008 - 2009 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the Spelling Properties dialog. """ import os from PyQt4.QtCore import * from PyQt4.QtGui import * from E4Gui.E4Completers import E4FileCompleter from QScintilla.SpellChecker import SpellChecker from .Ui_SpellingPropertiesDialog import Ui_SpellingPropertiesDialog import Utilities import Preferences class SpellingPropertiesDialog(QDialog, Ui_SpellingPropertiesDialog): """ Class implementing the Spelling Properties dialog. """ def __init__(self, project, new, parent): """ Constructor @param project reference to the project object @param new flag indicating the generation of a new project @param parent parent widget of this dialog (QWidget) """ QDialog.__init__(self, parent) self.setupUi(self) self.project = project self.parent = parent self.pwlCompleter = E4FileCompleter(self.pwlEdit) self.pelCompleter = E4FileCompleter(self.pelEdit) self.spellingComboBox.addItem(self.trUtf8("<default>")) self.spellingComboBox.addItems(sorted(SpellChecker.getAvailableLanguages())) if not new: self.initDialog() def initDialog(self): """ Public method to initialize the dialogs data. """ index = self.spellingComboBox.findText(self.project.pdata["SPELLLANGUAGE"][0]) if index == -1: index = 0 self.spellingComboBox.setCurrentIndex(index) if self.project.pdata["SPELLWORDS"][0]: self.pwlEdit.setText( os.path.join(self.project.ppath, self.project.pdata["SPELLWORDS"][0])) if self.project.pdata["SPELLEXCLUDES"][0]: self.pelEdit.setText( os.path.join(self.project.ppath, self.project.pdata["SPELLEXCLUDES"][0])) @pyqtSlot() def on_pwlButton_clicked(self): """ Private slot to select the project word list file. """ pwl = self.pwlEdit.text() if not pwl: pwl = self.project.ppath file = QFileDialog.getOpenFileName(\ self, self.trUtf8("Select project word list"), pwl, self.trUtf8("Dictionary File (*.dic);;All Files (*)")) if file: self.pwlEdit.setText(Utilities.toNativeSeparators(file)) @pyqtSlot() def on_pelButton_clicked(self): """ Private slot to select the project exclude list file. """ pel = self.pelEdit.text() if not pel: pel = self.project.ppath file = QFileDialog.getOpenFileName(\ self, self.trUtf8("Select project exclude list"), pel, self.trUtf8("Dictionary File (*.dic);;All Files (*)")) if file: self.pelEdit.setText(Utilities.toNativeSeparators(file)) def storeData(self): """ Public method to store the entered/modified data. """ if self.spellingComboBox.currentIndex() == 0: self.project.pdata["SPELLLANGUAGE"] = \ [Preferences.getEditor("SpellCheckingDefaultLanguage")] else: self.project.pdata["SPELLLANGUAGE"] = \ [self.spellingComboBox.currentText()] self.project.pdata["SPELLWORDS"] = \ [self.pwlEdit.text().replace(self.project.ppath + os.sep, "")] self.project.pdata["SPELLEXCLUDES"] = \ [self.pelEdit.text().replace(self.project.ppath + os.sep, "")]