# -*- coding: utf-8 -*-
# Wyslij SMS

import urllib
import sys

from PyQt4 import QtCore, QtGui

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(494, 280)
	Dialog.setModal(True)
        self.gridLayout = QtGui.QGridLayout(Dialog)
        self.gridLayout.setObjectName("gridLayout")
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.labelUserName = QtGui.QLabel(Dialog)
        self.labelUserName.setMinimumSize(QtCore.QSize(140, 0))
        self.labelUserName.setObjectName("labelUserName")
        self.horizontalLayout.addWidget(self.labelUserName)
        self.lineEditUserName = QtGui.QLineEdit(Dialog)
        self.lineEditUserName.setObjectName("lineEditUserName")
        self.horizontalLayout.addWidget(self.lineEditUserName)
        self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.labelPass = QtGui.QLabel(Dialog)
        self.labelPass.setMinimumSize(QtCore.QSize(140, 0))
        self.labelPass.setObjectName("labelPass")
        self.horizontalLayout_2.addWidget(self.labelPass)
        self.lineEditPass = QtGui.QLineEdit(Dialog)
        self.lineEditPass.setEchoMode(QtGui.QLineEdit.Password)
        self.lineEditPass.setObjectName("lineEditPass")
        self.horizontalLayout_2.addWidget(self.lineEditPass)
        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 0, 1, 1)
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.labelNumbers = QtGui.QLabel(Dialog)
        self.labelNumbers.setMinimumSize(QtCore.QSize(140, 0))
        self.labelNumbers.setObjectName("labelNumbers")
        self.horizontalLayout_3.addWidget(self.labelNumbers)
        self.lineEditNumbers = QtGui.QLineEdit(Dialog)
        self.lineEditNumbers.setObjectName("lineEditNumbers")
        self.horizontalLayout_3.addWidget(self.lineEditNumbers)
        self.gridLayout.addLayout(self.horizontalLayout_3, 2, 0, 1, 1)
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.labelMsg = QtGui.QLabel(Dialog)
        self.labelMsg.setMinimumSize(QtCore.QSize(140, 0))
        self.labelMsg.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
        self.labelMsg.setObjectName("labelMsg")
        self.horizontalLayout_4.addWidget(self.labelMsg)
        self.plainTextEditMsg = QtGui.QPlainTextEdit(Dialog)
        self.plainTextEditMsg.setMaximumSize(QtCore.QSize(16777215, 60))
        self.plainTextEditMsg.setTabChangesFocus(True)
        self.plainTextEditMsg.setMaximumBlockCount(160)
        self.plainTextEditMsg.setObjectName("plainTextEditMsg")
        self.horizontalLayout_4.addWidget(self.plainTextEditMsg)
        self.gridLayout.addLayout(self.horizontalLayout_4, 3, 0, 1, 1)
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.labelSig = QtGui.QLabel(Dialog)
        self.labelSig.setMinimumSize(QtCore.QSize(140, 0))
        self.labelSig.setObjectName("labelSig")
        self.horizontalLayout_6.addWidget(self.labelSig)
        self.lineEditSig = QtGui.QLineEdit(Dialog)
        self.lineEditSig.setObjectName("lineEditSig")
        self.horizontalLayout_6.addWidget(self.lineEditSig)
        self.gridLayout.addLayout(self.horizontalLayout_6, 4, 0, 1, 1)
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.checkBoxSendNow = QtGui.QCheckBox(Dialog)
        self.checkBoxSendNow.setMinimumSize(QtCore.QSize(140, 0))
        self.checkBoxSendNow.setMaximumSize(QtCore.QSize(16777215, 16777215))
        self.checkBoxSendNow.setChecked(True)
        self.checkBoxSendNow.setTristate(False)
        self.checkBoxSendNow.setObjectName("checkBoxSendNow")
        self.horizontalLayout_7.addWidget(self.checkBoxSendNow)
        self.dateTimeSendFuture = QtGui.QDateTimeEdit(Dialog)
        self.dateTimeSendFuture.setEnabled(False)
        self.dateTimeSendFuture.setObjectName("dateTimeSendFuture")
        self.horizontalLayout_7.addWidget(self.dateTimeSendFuture)
        self.gridLayout.addLayout(self.horizontalLayout_7, 5, 0, 1, 1)
        self.line = QtGui.QFrame(Dialog)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout.addWidget(self.line, 6, 0, 1, 1)
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.sendButton = QtGui.QPushButton(Dialog)
        self.sendButton.setObjectName("sendButton")
        self.horizontalLayout_5.addWidget(self.sendButton)
        self.closeButton = QtGui.QPushButton(Dialog)
        self.closeButton.setObjectName("closeButton")
        self.horizontalLayout_5.addWidget(self.closeButton)
        self.gridLayout.addLayout(self.horizontalLayout_5, 7, 0, 1, 1)

        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.closeButton, QtCore.SIGNAL("clicked()"), Dialog.accept)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "Wyślij SMS - http://bramka.na-sms.pl", None, QtGui.QApplication.UnicodeUTF8))
        self.labelUserName.setText(QtGui.QApplication.translate("Dialog", "Użytkownik: ",None, QtGui.QApplication.UnicodeUTF8))
        self.labelPass.setText(QtGui.QApplication.translate("Dialog", "Hasło: ", None, QtGui.QApplication.UnicodeUTF8))
        self.labelNumbers.setText(QtGui.QApplication.translate("Dialog", "Numery tel.: ", None, QtGui.QApplication.UnicodeUTF8))
        self.labelMsg.setText(QtGui.QApplication.translate("Dialog", "Wiadomość: ", None, QtGui.QApplication.UnicodeUTF8))
        self.labelSig.setText(QtGui.QApplication.translate("Dialog", "Podpis: ", None, QtGui.QApplication.UnicodeUTF8))
        self.checkBoxSendNow.setText(QtGui.QApplication.translate("Dialog", "Wyślij natychmiast", None, QtGui.QApplication.UnicodeUTF8))
        self.sendButton.setText(QtGui.QApplication.translate("Dialog", "&Wyślij", None, QtGui.QApplication.UnicodeUTF8))
        self.closeButton.setText(QtGui.QApplication.translate("Dialog", "&Zamknij", None, QtGui.QApplication.UnicodeUTF8))




class NaSMSPL(QtGui.QDialog):
    def __init__(self, parent = None):
        if len(sys.argv) > 1:
		windowId = 0x3600002
		parent = self.find(windowId)
		print parent
	
	QtGui.QDialog.__init__(self, parent)
        self.ui = Ui_Dialog()
	QtCore.QTextCodec.setCodecForCStrings(QtCore.QTextCodec.codecForName("utf8"))
	QtCore.QTextCodec.setCodecForLocale(QtCore.QTextCodec.codecForName("utf8"))
        self.ui.setupUi(self)
	self.ui.dateTimeSendFuture.setDateTime(QtCore.QDateTime.currentDateTime())
	QtCore.QObject.connect(self.ui.sendButton, QtCore.SIGNAL("clicked()"), self.sendSMS)
	QtCore.QObject.connect(self.ui.checkBoxSendNow, QtCore.SIGNAL("clicked()"), self.checkBoxSlot)

    def sendSMS(self):
	# Set the URL
	url = "https://api.na-sms.pl/task.php"
	# set all the data
	uname = self.ui.lineEditUserName.text()
	passwd = unicode(self.ui.lineEditPass.text())
	numbers = self.ui.lineEditNumbers.text()
	sig = unicode(self.ui.lineEditSig.text())
	msg = unicode(self.ui.plainTextEditMsg.toPlainText())
	sendNow = self.ui.checkBoxSendNow.isChecked()
	sendFuture = self.ui.dateTimeSendFuture.dateTime().toString("yyyy-MM-dd hh:mm")
	# print msg
	
	if self.ui.checkBoxSendNow.isChecked():
		print "The message will be send now"
		data = urllib.urlencode({"uname" : uname, "pass" : passwd.encode('utf-8'), "numbers" : numbers, 
				"message" : msg.encode('utf-8'), "signature" : sig.encode('utf-8'), 
				"send_now" : sendNow, "send" : "1"})
	else:
		print "The message will be send at: " + sendFuture
		data = urllib.urlencode({"uname" : uname, "pass" : passwd.encode('utf-8'), "numbers" : numbers, 
				"message" : msg.encode('utf-8'), "signature" : sig.encode('utf-8'), 
				"send" : "1", "send_future" : sendFuture})

	# open url
	f = urllib.urlopen(url, data)
	# Read the results back.
	s = f.read()
	f.close()
	
	# Wyswietl informacje o sukcesie
	QtGui.QMessageBox.information(None, self.windowTitle(), QtCore.QString(s) )	
	# print s
    def checkBoxSlot(self):
	if self.ui.checkBoxSendNow.isChecked():
		self.ui.dateTimeSendFuture.setEnabled(0)
	else:
		self.ui.dateTimeSendFuture.setEnabled(1)

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = NaSMSPL()
    myapp.show()
    sys.exit(app.exec_())

