# along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from PyQt4.QtCore import * from PyQt4.QtGui import * from Common.Ui import * from Koo import Rpc from Koo.Common import Common from Koo.Model.Group import RecordGroup from Koo.Screen.ViewQueue import * from Koo.Screen.Screen import * (BatchInsertDialogUi, BatchInsertDialogBase) = loadUiType(Common.uiPath('batchupdate.ui')) class BatchInsertDialog(QDialog, BatchInsertDialogUi): def __init__(self, parent=None): QDialog.__init__(self, parent) BatchInsertDialogUi.__init__(self) self.setupUi(self) self.connect(self.pushAccept, SIGNAL('clicked()'), self.save) self.ids = [] self.model = None self.context = None self.updateOnServer = True self.newValues = {}
from Koo.Model.Group import RecordGroup from PyQt4.QtGui import * from PyQt4.QtCore import * from Common.Ui import * try: from PyQt4.QtWebKit import * from PyQt4.QtNetwork import * isWebKitAvailable = True except: isWebKitAvailable = False if isWebKitAvailable: (FullTextSearchDialogUi, FullTextSearchDialogBase) = loadUiType( Common.uiPath('full_text_search.ui')) ## @brief The FullTextSearchDialog class shows a dialog for searching text at all indexed models. # # The dialog has a text box for the user input and a combo box to search at one specific # model or all models that have at least one field indexed. class FullTextSearchDialog(QDialog, FullTextSearchDialogUi): def __init__(self, parent=None): QDialog.__init__(self, parent) FullTextSearchDialogUi.__init__(self) self.setupUi(self) self.setModal(True) self.result = None
from PyQt5.QtGui import * from Koo.Common.Ui import * from Koo.Common import Api from Koo.Common import Common from Koo.Common import Shortcuts from Koo import Rpc from Koo.Screen.Screen import Screen from Koo.Model.Group import RecordGroup from Koo.Fields.AbstractFieldWidget import * from Koo.Fields.AbstractFieldDelegate import * from Koo.Dialogs.SearchDialog import SearchDialog (ManyToManyFieldWidgetUi, ManyToManyFieldWidgetBase) = loadUiType( Common.uiPath('many2many.ui')) class ManyToManyFieldWidget(AbstractFieldWidget, ManyToManyFieldWidgetUi): def __init__(self, parent, model, attrs={}): AbstractFieldWidget.__init__(self, parent, model, attrs) ManyToManyFieldWidgetUi.__init__(self) self.setupUi(self) self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) self.pushAdd.clicked.connect(self.slotAdd) self.pushRemove.clicked.connect(self.remove) self.uiText.editingFinished.connect(self.match) self.scSearch = QShortcut(self.uiText)
# You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## import base64 from PyQt4.QtCore import * from PyQt4.QtGui import * from Common.Ui import * import ServerConfigurationDialog from Koo.Common import Common from Koo.Common.Settings import * (DatabaseDialogUi, DatabaseDialogBase) = loadUiType(Common.uiPath('choosedb.ui')) class DatabaseDialog(QDialog, DatabaseDialogUi): # Database chooser type: # Select -> Shows a combo box for the database selection # Edit -> Shows a line edit for the database selection TypeSelect = 1 TypeEdit = 2 def __init__(self, type, title, parent=None): QDialog.__init__(self, parent) DatabaseDialogUi.__init__(self) self.setupUi(self) self.type = type
import os import base64 import binascii import tempfile from Koo.Common import Common from Koo.Common import Icons from Koo.Common import Semantic from Koo.Fields.AbstractFieldWidget import * from Koo.Fields.AbstractFieldDelegate import * from PyQt4.QtCore import * from PyQt4.QtGui import * from Common.Ui import * (ImageFieldWidgetUi, ImageFieldWidgetBase) = loadUiType(Common.uiPath('image.ui')) class ImageFieldWidget(AbstractFieldWidget, ImageFieldWidgetUi): def __init__(self, parent, model, attrs={}): AbstractFieldWidget.__init__(self, parent, model, attrs) ImageFieldWidgetUi.__init__(self) self.setupUi(self) self.width = int(attrs.get('img_width', 300)) self.height = int(attrs.get('img_height', 100)) self.installPopupMenu(self.uiImage) self.connect(self.pushLoad, SIGNAL('clicked()'), self.loadImage) self.connect(self.pushSave, SIGNAL('clicked()'), self.saveImage) self.connect(self.pushRemove, SIGNAL('clicked()'), self.removeImage) self.pushSave.setEnabled(False)
def showShortcuts(self): dialog = QDialog(self) loadUi(Common.uiPath('shortcuts.ui'), dialog) dialog.exec_()
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * from Koo.Common.Ui import * from . import ServerConfigurationDialog from Koo.Common import Common from Koo.Common.Settings import * from Koo import Rpc import re (CreationOkDialogUi, CreationOkDialogBase) = loadUiType( Common.uiPath('dbcreateok.ui')) class CreationOkDialog(QDialog, CreationOkDialogUi): def __init__(self, passwordList, parent=None): QDialog.__init__(self, parent) CreationOkDialogUi.__init__(self) self.setupUi(self) self.pushConnect.clicked.connect(self.connectNow) self.pushLater.clicked.connect(self.connectLater) self.textEdit.setPlainText(_('The following users have been installed on your database:\n\n' + passwordList + '\n\n' + _('You can now connect to the database as an administrator.'))) self.show()
self.fieldsOrder.append(str(attrs['name'])) else: Debug.error('unknown tag: ' + str(name)) ## @brief This function parses the xml data provided as parameter. # This function fills class member properties: title, toolbar and # fieldsOrder def parse(self, xmlData): self.fieldsOrder = [] psr = expat.ParserCreate() psr.StartElementHandler = self.tagStart psr.Parse(xmlData.encode('utf-8')) (TreeWidgetUi, TreeWidgetBase) = loadUiType(Common.uiPath('tree.ui')) ## @brief The TreeWidget class shows main menu tree as well as other tree views. class TreeWidget(QWidget, TreeWidgetUi): def __init__(self, view, model, domain=None, context=None, name=False, parent=None): QWidget.__init__(self, parent) TreeWidgetUi.__init__(self) self.setupUi(self)
saver = BinaryImageSaver(parent) saver.record = self.record saver.field = self.field return saver class BinaryImageSaver(AbstractImageSaver): def run(self): self.error = True image = QBuffer() if self.item.image.save(image, 'PNG'): self.error = False self.record.setValue(self.field, str(image.buffer())) (BinaryFieldWidgetUi, BinaryFieldWidgetBase) = loadUiType(Common.uiPath('binary.ui')) class BinaryFieldWidget(AbstractFieldWidget, BinaryFieldWidgetUi): def __init__(self, parent, model, attrs={}): AbstractFieldWidget.__init__(self, parent, model, attrs) BinaryFieldWidgetUi.__init__(self) self.setupUi(self) self.filters = attrs.get('filters', '*') if isinstance(self.filters, basestring): self.filters = self.filters.split(',') self.filters = _('Files (%s)') % ' '.join(self.filters) self.fileNameField = attrs.get('filename') self.baseDirectory = unicode(QDir.homePath())
############################################################################## import gettext from Koo.Common import Api from Koo.Common import Common from Koo.Screen.Screen import Screen from Koo.Model.Group import RecordGroup from Koo import Rpc import time from Koo.Dialogs.SearchDialog import SearchDialog from Koo.Fields.AbstractFieldWidget import * (ActionFieldWidgetUi, ActionFieldWidgetBase) = loadUiType(Common.uiPath('paned.ui')) class ActionFieldWidget(AbstractFieldWidget, ActionFieldWidgetUi): def __init__(self, parent, view, attrs={}): AbstractFieldWidget.__init__(self, parent, view, attrs) ActionFieldWidgetUi.__init__(self) self.setupUi(self) self.colors['normal'] = self.palette().color(self.backgroundRole()) self.act_id = attrs['name'] res = Rpc.session.execute('/object', 'execute', 'ir.actions.actions', 'read', [self.act_id], ['type'], Rpc.session.context) if not res: raise Exception, 'ActionNotFound'
# along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from PyQt4.QtCore import * from PyQt4.QtGui import * from Common.Ui import * import ServerConfigurationDialog from Koo.Common import Common from Koo.Common.Settings import * from Koo import Rpc import re (CreationOkDialogUi, CreationOkDialogBase) = loadUiType(Common.uiPath('dbcreateok.ui')) class CreationOkDialog(QDialog, CreationOkDialogUi): def __init__(self, passwordList, parent=None): QDialog.__init__(self, parent) CreationOkDialogUi.__init__(self) self.setupUi(self) self.connect(self.pushConnect, SIGNAL('clicked()'), self.connectNow) self.connect(self.pushLater, SIGNAL('clicked()'), self.connectLater) self.textEdit.setPlainText( _('The following users have been installed on your database:\n\n' + passwordList + '\n\n' + _('You can now connect to the database as an administrator.')))
# You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from PyQt4.QtCore import * from PyQt4.QtGui import * from Koo.Common.Ui import * from Koo.Common import Common from Koo.Common import Url from .DatabaseDialog import * from . import ServerConfigurationDialog from .DatabaseCreationDialog import DatabaseCreationDialog (LoginDialogUi, LoginDialogBase) = loadUiType(Common.uiPath('login.ui')) # @brief The LoginDialog class shows a Dialog for logging into OpenObject server. # # The dialog will send the accept() signal if the user accepted or reject() if she # cancelled it or didn't provide a valid server. If accept() was sent, two properties # 'url' and 'databaseName' contain the information introduced by the user. class LoginDialog(QDialog, LoginDialogUi): defaultHost = '' defaultPort = 0 defaultProtocol = '' defaultUserName = '' def __init__(self, parent=None):
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from Koo.Common import Common from PyQt5.QtWidgets import * from Koo.Common import Shortcuts from Koo.Common.Calendar import * from Koo.Search.AbstractSearchWidget import * from PyQt5.QtGui import * from PyQt5.QtCore import * from Koo.Common.Ui import * (DateSearchWidgetUi, DateSearchWidgetBase) = loadUiType( Common.uiPath('search_date.ui')) class DateSearchWidget(AbstractSearchWidget, DateSearchWidgetUi): def __init__(self, name, parent, attrs={}): AbstractSearchWidget.__init__(self, name, parent, attrs) DateSearchWidgetUi.__init__(self) self.setupUi(self) # Catch keyDownPressed self.uiStart.installEventFilter(self) self.uiEnd.installEventFilter(self) # Add shortcuts self.scStartSearch = QShortcut(self.uiStart) self.scStartSearch.setKey(Shortcuts.SearchInField)
data = list(csv.reader(input, quotechar=csv_data['del'], delimiter=csv_data['sep']))[ int(csv_data['skip']):] datas = [] for line in data: datas.append([x.decode( csv_data['encoding']).encode('utf-8') for x in line]) except Exception as e: QMessageBox.information(None, _('Error'), _( 'Error reading file: %s') % str(e.args)) return False return executeImport(datas, model, fields) (ImportDialogUi, ImportDialogBase) = loadUiType(Common.uiPath('win_import.ui')) class ImportDialog(QDialog, ImportDialogUi): def __init__(self, parent=None): QDialog.__init__(self, parent) ImportDialogUi.__init__(self) self.setupUi(self) self.model = None self.fields = None self.uiFileFormat.addItem(_('CSV'), 'csv') if isXlsAvailable: self.uiFileFormat.addItem(_('Excel (XLS)'), 'xls') if isOdsAvailable:
tab = self.tabBar().tabAt(event.pos()) if tab != self.pressedAt: self.pressedAt = -1 return self.emit(SIGNAL('middleClicked(int)'), tab) def wheelEvent(self, event): if not self.tabBar().underMouse(): return degrees = event.delta() / 8 steps = degrees / 15 self.setCurrentIndex((self.currentIndex() + steps) % self.count()) (KooMainWindowUi, KooMainWindowBase) = loadUiType(Common.uiPath('mainwindow.ui')) class KooMainWindow(QMainWindow, KooMainWindowUi): instance = None def __init__(self): QMainWindow.__init__(self) KooMainWindowUi.__init__(self) self.menuBar = False self.setupUi(self) # Initialize singleton
if name: label = QLabel(name) label.gridLine = self.y vbox = QVBoxLayout() vbox.setSpacing(0) vbox.setContentsMargins(0, 0, 0, 0) vbox.addWidget(label, 0) vbox.addWidget(widget) self.layout().addLayout(vbox, self.y, self.x) else: self.layout().addWidget(widget, self.y, self.x) self.x = self.x + 1 (CustomSearchItemWidgetUi, CustomSearchItemWidgetBase) = loadUiType(Common.uiPath('customsearchitem.ui')) class CustomSearchItemWidget(AbstractSearchWidget, CustomSearchItemWidgetUi): # Structure: # 1) Operator used in domain # 2) Label shown to the user # 3) Field types in which the operator should be shown # 4) Whether the user should be able to input a text to search for or not. operators = ( ('is empty', _('is empty'), ('char', 'text', 'many2one', 'date', 'time', 'datetime', 'float_time'), False), ('is not empty', _('is not empty'), ('char', 'text', 'many2one', 'date', 'time', 'datetime', 'float_time'), False),
def showLicense(self): dialog = QDialog(self) loadUi(Common.uiPath('license.ui'), dialog) dialog.exec_()
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from Koo.Common import Common from PyQt5.QtWidgets import * from Koo.Common import Shortcuts from Koo.Common.Calendar import * from Koo.Search.AbstractSearchWidget import * from PyQt5.QtGui import * from PyQt5.QtCore import * from Koo.Common.Ui import * (DateTimeSearchWidgetUi, DateTimeSearchWidgetBase) = loadUiType(Common.uiPath('search_date.ui')) class DateTimeSearchWidget(AbstractSearchWidget, DateTimeSearchWidgetUi): def __init__(self, name, parent, attrs={}): AbstractSearchWidget.__init__(self, name, parent, attrs) DateTimeSearchWidgetUi.__init__(self) self.setupUi(self) # Catch keyDownPressed self.uiStart.installEventFilter(self) self.uiEnd.installEventFilter(self) # Add shortcuts self.scStartSearch = QShortcut(self.uiStart) self.scStartSearch.setKey(Shortcuts.SearchInField)
data = Rpc.session.execute('/object', 'execute', model, 'export_data', ids, fields, context) # After 5.0 data is returned directly (no 'datas' key in a dictionary). if isinstance(data, dict) and 'datas' in data: data = data['datas'] result = { 'data': data, } if isinstance(data, dict) and 'warning' in data: result = { 'warning': data['warning'], } return result (ExportDialogUi, ExportDialogBase) = loadUiType(Common.uiPath('win_export.ui')) class ExportDialog(QDialog, ExportDialogUi): exports = {} def __init__(self, parent=None): QDialog.__init__(self, parent) ExportDialogUi.__init__(self) self.setupUi(self) self.ids = [] self.model = None self.fields = None self.connect(self.pushAccept, SIGNAL('clicked()'), self.export) self.connect(self.pushCancel, SIGNAL('clicked()'), self.reject)
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from Koo.Search.AbstractSearchWidget import * from PyQt4.QtGui import * from Koo.Common.Ui import * from Koo.Common import Common (ReferenceSearchWidgetUi, ReferenceSearchWidgetBase) = loadUiType( Common.uiPath('searchreference.ui')) class ReferenceSearchWidget(AbstractSearchWidget, ReferenceSearchWidgetUi): def __init__(self, name, parent, attrs={}): AbstractSearchWidget.__init__(self, name, parent, attrs) ReferenceSearchWidgetUi.__init__(self) self.setupUi(self) self.setPopdown(attrs.get('selection', [])) self.focusWidget = self.uiModel # Catch keyDownPressed self.focusWidget.installEventFilter(self) def setPopdown(self, selection): self.invertedModels = {}
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## import base64 import os import tempfile from Koo.Fields.AbstractFieldWidget import * from PyQt4.QtCore import * from PyQt4.QtGui import * from Koo.Common.Ui import * from Koo.Common import Common (LinkFieldWidgetUi, LinkFieldWidgetBase) = loadUiType(Common.uiPath('link.ui')) class LinkFieldWidget(AbstractFieldWidget, LinkFieldWidgetUi): def __init__(self, parent, model, attrs={}): AbstractFieldWidget.__init__(self, parent, model, attrs) LinkFieldWidgetUi.__init__(self) self.setupUi(self) self.connect(self.pushOpen, SIGNAL('clicked()'), self.open) self.installPopupMenu(self.uiText) def setReadOnly(self, value): AbstractFieldWidget.setReadOnly(self, value) self.uiText.setReadOnly(value) self.pushOpen.setEnabled(not value)
# (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. from PyQt4.QtCore import * from PyQt4.QtGui import * from Common.Ui import * from Koo.Common import Common from AbstractKeyboardWidget import * (KeypadWidgetUi, KeypadWidgetBase) = loadUiType(Common.uiPath('keypad.ui')) ## @brief The KeyboardWidget class provides a virtual on-screen numeric keyboard. class KeypadWidget(AbstractKeyboardWidget, KeypadWidgetUi): ## @brief Creates a KeypadWidget that will send keyboard events to it's parent. It will # also be positioned in the screen acording to its parent coordinates. def __init__(self, parent): AbstractKeyboardWidget.__init__(self, parent) KeypadWidgetUi.__init__(self) self.setupUi(self) self.init()
import gettext from PyQt4.QtCore import * from PyQt4.QtGui import * from Koo.Common.Ui import * from Koo import Rpc from Koo.Common import Common from Koo.Common.Settings import * import copy from Koo.Screen.Screen import Screen from Koo.Model.Group import RecordGroup (PreferencesDialogUi, PreferencesDialogBase) = loadUiType(Common.uiPath('preferences.ui')) class PreferencesDialog(QDialog, PreferencesDialogUi): def __init__(self, parent=None): QDialog.__init__(self, parent) PreferencesDialogUi.__init__(self) self.setupUi(self) self.connect(self.pushAccept, SIGNAL('clicked()'), self.slotAccept) self.setWindowTitle(_('User Preferences')) QApplication.setOverrideCursor(Qt.WaitCursor) QTimer.singleShot(0, self.initGui) def initGui(self):
# along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## import gettext from PyQt5.QtWidgets import * from Koo.Common import Common from Koo import Rpc from PyQt5.QtCore import * from PyQt5.QtGui import * from Koo.Common.Ui import * (FieldPreferencesDialogUi, FieldPreferencesDialogBase) = loadUiType( Common.uiPath('field_preferences.ui')) # @brief FieldPreferencesDialog class provides a dialog for storing a value as default # for a field in a model. class FieldPreferencesDialog(QDialog, FieldPreferencesDialogUi): # @brief Constructs a new FieldPreferencesDialog. def __init__(self, field, name, model, value, dependance=[], parent=None): QDialog.__init__(self, parent) FieldPreferencesDialogUi.__init__(self) self.setupUi(self) self.uiFieldName.setText(name) self.uiDomain.setText(model) self.uiDefaultValue.setText((value and str(value)) or '/')
attributes) if not widget: continue self.widgetDict[str(name)] = widget if 'string' in attributes: label = attributes['string'] + ' :' else: label = None self.container.addWidget(widget, label) if not self.focusable: self.focusable = widget return self.widgetDict (SearchFormWidgetUi, SearchFormWidgetBase) = loadUiType(Common.uiPath('searchform.ui')) ## @brief This class provides a form with the fields to search given a model. # # This class will emit the 'search()' signal each time the user pushes the 'search' button. # Then you can use the 'value()' function to obtain a domain-like list. class SearchFormWidget(AbstractSearchWidget, SearchFormWidgetUi): ## @brief Constructs a new SearchFormWidget. def __init__(self, parent=None): AbstractSearchWidget.__init__(self, '', parent) SearchFormWidgetUi.__init__(self) self.setupUi(self) self.model = None self.widgets = {}
from Koo.Screen.Screen import Screen from Koo.Screen.ScreenDialog import ScreenDialog from Koo.Model.Group import RecordGroup from Koo.Dialogs.SearchDialog import SearchDialog from Koo import Rpc from Koo.Fields.AbstractFieldWidget import * from Koo.Fields.AbstractFieldDelegate import * from PyQt5.QtCore import * from PyQt5.QtGui import * from Koo.Common.Ui import * (ManyToOneFieldWidgetUi, ManyToOneFieldWidgetBase) = loadUiType(Common.uiPath('many2one.ui')) class ManyToOneFieldWidget(AbstractFieldWidget, ManyToOneFieldWidgetUi): def __init__(self, parent, model, attrs={}): AbstractFieldWidget.__init__(self, parent, model, attrs) ManyToOneFieldWidgetUi.__init__(self) self.setupUi(self) self.uiText.installEventFilter(self) self.uiText.editingFinished.connect(self.match) self.pushNew.clicked.connect(self.new) self.pushOpen.clicked.connect(self.open) self.pushClear.clicked.connect(self.clear) self.setFocusProxy(self.uiText)
# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from PyQt4.QtCore import * from PyQt4.QtGui import * from Koo.Common.Ui import * from Koo.Common import Common (GoToIdDialogUi, GoToIdDialogBase) = loadUiType(Common.uiPath('gotoid.ui')) class GoToIdDialog(QDialog, GoToIdDialogUi): def __init__(self, parent=None): QDialog.__init__(self, parent) GoToIdDialogUi.__init__(self) self.setupUi(self) self.uiId.selectAll() self.connect(self.pushAccept, SIGNAL('clicked()'), self.slotAccept) def slotAccept(self): self.result = self.uiId.value() self.accept()
# You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from PyQt4.QtCore import * from PyQt4.QtGui import * from Common.Ui import * from PyQt4.QtWebKit import * from PyQt4.QtNetwork import * from Koo.Common import Common from Koo.Fields.AbstractFieldWidget import * (WebFieldWidgetUi, WebFieldWidgetBase) = loadUiType(Common.uiPath('web.ui')) ## @brief The CookieJar class inherits QNetworkCookieJar to make a couple of functions public. class CookieJar(QNetworkCookieJar): def __init__(self, parent=None): QNetworkCookieJar.__init__(self, parent) def allCookies(self): return QNetworkCookieJar.allCookies(self) def setAllCookies(self, cookieList): QNetworkCookieJar.setAllCookies(self, cookieList) class WebFieldWidget(AbstractFieldWidget, WebFieldWidgetUi):
from PyQt5.QtWidgets import * from PyQt5.QtGui import * from Koo.Common.Ui import * from Koo.Common import Api from Koo.Common import Common from Koo import Rpc from Koo.Screen.Screen import Screen from Koo.Model.Group import RecordGroup from Koo.Fields.AbstractFieldWidget import * from Koo.Fields.AbstractFieldDelegate import * from Koo.Dialogs.SearchDialog import SearchDialog (ManyToOnePosFieldWidgetUi, ManyToOnePosFieldWidgetBase) = loadUiType(Common.uiPath('many2one_pos.ui')) class ManyToOnePosFieldWidget(AbstractFieldWidget, ManyToOnePosFieldWidgetUi): def __init__(self, parent, model, attrs={}): AbstractFieldWidget.__init__(self, parent, model, attrs) ManyToOnePosFieldWidgetUi.__init__(self) self.setupUi(self) self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) self.screen.currentChanged.connect(self.selected) self.installPopupMenu(self.screen) self.old = None self.latestMatch = None
# GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## from Koo.Common import Common import FormWidget from PyQt4.QtCore import * from PyQt4.QtGui import * from Common.Ui import * (AttachmentDialogUi, AttachmentDialogBase) = loadUiType( Common.uiPath('win_attach.ui') ) class AttachmentDialog(QMainWindow, AttachmentDialogUi): def __init__(self, model, id, parent = None ): QMainWindow.__init__(self, parent) AttachmentDialogUi.__init__(self) self.setupUi( self ) # Center dialog on the screen rect = QApplication.desktop().screenGeometry() centerh = rect.width() / 2 centerv = rect.height() / 2 self.setGeometry( centerh - self.width() / 2, centerv - self.height() / 2, self.width(), self.height() ) self.model = model