00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 from PyQt4.QtCore import *
00029 from PyQt4.QtGui import *
00030 from PyQt4.uic import *
00031 import re
00032 from Koo.Common import Common
00033 from Koo.Common.Settings import *
00034 from Koo import Rpc
00035
00036
00037 def refreshDatabaseList(widget, url, dbtoload=None):
00038 if not dbtoload:
00039 dbtoload = Settings.value('login.db')
00040 index = 0
00041 widget.clear()
00042
00043 result = Rpc.database.list(url)
00044 if result == False:
00045 return -2
00046 if result == -1:
00047 return -1
00048 if result:
00049 for db_num, db_name in enumerate(result):
00050 widget.addItem( db_name )
00051 if db_name == dbtoload:
00052 index = db_num
00053 widget.setCurrentIndex(index)
00054 return widget.count()
00055
00056 (ServerConfigurationDialogUi, ServerConfigurationDialogBase) = loadUiType( Common.uiPath('change_server.ui') )
00057
00058 class ServerConfigurationDialog( QDialog, ServerConfigurationDialogUi ):
00059 url = ''
00060
00061 def __init__(self, parent=None):
00062 QDialog.__init__(self, parent)
00063 ServerConfigurationDialogUi.__init__(self)
00064 self.setupUi(self)
00065
00066 self.uiConnection.addItem( _("NET-RPC"), QVariant( 'socket' ) )
00067 self.uiConnection.addItem( _("XML-RPC"), QVariant( 'http' ) )
00068 self.uiConnection.addItem( _("Secure XML-RPC"), QVariant( 'https' ) )
00069 self.uiConnection.addItem( _("Pyro (faster)"), QVariant( 'PYROLOC' ) )
00070 result = False
00071 self.connect(self.pushCancel,SIGNAL("clicked()"),self.reject )
00072 self.connect(self.pushAccept,SIGNAL("clicked()"),self.slotAccept )
00073
00074 def setUrl( self, url ):
00075 self.url = url
00076 url = QUrl( url )
00077 if url.isValid():
00078 self.uiConnection.setCurrentIndex( self.uiConnection.findData( QVariant( url.scheme() ) ) )
00079 self.uiServer.setText( url.host() )
00080 self.uiPort.setText( unicode( url.port() ) )
00081
00082 def slotAccept(self):
00083 url = QUrl( self.url )
00084 protocol = unicode( self.uiConnection.itemData( self.uiConnection.currentIndex() ).toString() )
00085 url.setScheme( protocol )
00086 url.setHost( self.uiServer.text() )
00087 url.setPort( int( self.uiPort.text().toInt()[0] ) )
00088 if url.isValid():
00089
00090 Settings.setValue('login.url', unicode( url.toString() ) )
00091 Settings.saveToFile()
00092 url.setUserName( '' )
00093 self.url = unicode( url.toString() )
00094 self.accept()
00095