00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
#include "newsms.h"
00014
00015
#include <qlineedit.h>
00016
#include <qtextedit.h>
00017
00018
00019
00020
00021
00022
00023
00024 NewSms::NewSms(QWidget* parent,
const char* name,
bool modal, WFlags fl,
00025
const QString& Mode,
const QString& Receiver,
const QString& Message)
00026 : FormNewSmsDlg(parent,name, modal,fl)
00027 {
00028
00029
if ( Mode ==
"new" )
00030 {
00031
00032 setCaption(
"New SMS");
00033 }
00034
else if ( Mode ==
"reply" )
00035 {
00036
00037
m_phoneSmsNumber = Receiver;
00038
m_phoneSmsMessage = Message;
00039
00040
m_phoneSmsMessage.prepend(
"\nYou wrote: \n");
00041
00042
00043 lineEditNewSmsNumber->setText(
m_phoneSmsNumber);
00044 textEditNewSmsMessage->setText(
m_phoneSmsMessage);
00045
00046
00047 setCaption(
"Reply SMS");
00048 }
00049
else if ( Mode ==
"fromcontact" )
00050 {
00051
00052
m_phoneSmsNumber = Receiver;
00053
00054
00055 lineEditNewSmsNumber->setText(
m_phoneSmsNumber);
00056
00057
00058 setCaption(
"New SMS");
00059 }
00060 }
00061
00062
00063
00064
00065
00066 NewSms::~NewSms()
00067 {
00068 }
00069
00070
00071
00072
00073
00074 void NewSms::readSms()
00075 {
00076
00077
m_phoneSmsNumber = lineEditNewSmsNumber->text();
00078
m_phoneSmsMessage = textEditNewSmsMessage->text();
00079
00080
00081
m_charCount =
m_phoneSmsMessage.length();
00082
00083
00084
if (
m_charCount < 160 )
00085 {
00086
m_smsCount = 1;
00087 }
00088
else
00089 {
00090
m_smsCount =
m_charCount / 153;
00091 }
00092
00093
if (
m_charCount % 153 &&
m_charCount > 160 )
00094 {
00095
m_smsCount++;
00096 }
00097
00098
00099
00100
00101
m_id=(
int) (256.0*rand()/(RAND_MAX+1.0));
00102
00103
00104
00105
for (
m_index = 1;
m_index <=
m_smsCount;
m_index++)
00106 {
00107 emit
transmitSms(
m_phoneSmsNumber,
m_phoneSmsMessage,
m_index,
m_id);
00108 }
00109
00110
00111 emit
transmitLedStateGreen();
00112
00113 this->close();
00114 }
00115
00116
00117
00118
00119
00120
00121 void NewSms::updateCharsLeft()
00122 {
00123
00124
m_charsInMessage = textEditNewSmsMessage->text().length();
00125
00126
00127
m_smsCounter =
m_charsInMessage / 160;
00128
m_charsLeft =
m_charsInMessage - (
m_smsCounter * 160);
00129
m_charsLeft = 160 -
m_charsLeft;
00130
m_smsCounter = 1 +
m_smsCounter;
00131
00132
00133
m_charsLeftStr.setNum(m_charsLeft);
00134
m_smsCounterStr.setNum(m_smsCounter);
00135
00136
00137 lineEditNewSmsCharsLeft->setText(
m_charsLeftStr);
00138 lineEditNewSmsCount->setText(
m_smsCounterStr);
00139 }
00140
00141
00142
00143
00144
00145 void NewSms::closeDialog()
00146 {
00147
00148 emit
transmitLedStateGreen();
00149
00150 this->close();
00151 }
00152
00153
00154
#include "newsms.moc"
00155
00156