#!/usr/bin/env python
import sys

from PyQt4.QtCore import *
from PyQt4.QtGui import *

from preference_ui import Ui_Form
import os

apppath = os.path.abspath(os.path.dirname(sys.argv[0]))
dbconf = '%s/conf/db.conf' % (apppath)
tcpconf = '%s/conf/tcp.conf' % (apppath)
geonames = '%s/conf/geonames.conf' % (apppath)

class PreferenceSetting(QWidget, Ui_Form):
    def __init__(self):
        QWidget.__init__(self)
        self.setupUi(self)
        self.connect(self.selectpref, SIGNAL("clicked()"), self.setossimpreference)
        self.connect(self.selectgpsdevice, SIGNAL("clicked()"), self.setgpsdevice)
        self.connect(self.selectgeonamesdb, SIGNAL("clicked()"), self.setgeonamesdb)
        self.connect(self.SaveDbSettings, SIGNAL("clicked()"), self.SaveConnectionParam)
        self.connect(self.SaveTCPSettings, SIGNAL("clicked()"), self.SaveTcpParam)
        

    def SaveConnectionParam(self):
        DBConnectionName = self.ConnectionName.text()
        DBHost = self.DbHost.text()
        DBDatabase = self.DbName.text()
        DBPort = self.DbPort.text()
        DBUsername = self.DbUser.text()
        DBPassword = self.DbPassword.text()
        param = """%s,%s,%s,%s,%s,%s""" % (DBConnectionName, DBHost, DBDatabase,DBPort, DBUsername, DBPassword)
        f=open(dbconf, 'w')
        f.write(param)
        f.close()
        print DBConnectionName, DBHost, DBDatabase, DBPort, DBUsername, DBPassword


    def setossimpreference(self):
        OssimPref = QFileDialog.getOpenFileName(self,self.ossimpreference.text())
        if not OssimPref.isEmpty():
            self.ossimpreference.setText(OssimPref)


    def setgpsdevice(self):
        GpsDev = QFileDialog.getOpenFileName(self,self.gpsdevice.text())
        if not GpsDev.isEmpty():
            self.gpsdevice.setText(GpsDev)

    def setgeonamesdb(self):
        GeonamesDb = QFileDialog.getOpenFileName(self,self.geonames.text())
        if not GeonamesDb.isEmpty():
            self.geonames.setText(GeonamesDb)

    def SaveTcpParam(self):
        TCPhost = self.hostname.text()
        TCPnavport = self.navport.text()
        TCPdataport = self.dataport.text()
        TCPparam = """%s,%s,%s""" % (TCPhost, TCPnavport, TCPdataport)
        f=open(tcpconf, 'w')
        f.write(TCPparam)
        f.close()
        print TCPhost, TCPnavport, TCPdataport


