akonadi/contact
22 #include "smsdialog.h"
24 #include <kabc/phonenumber.h>
26 #include <kmessagebox.h>
27 #include <ktextedit.h>
29 #include <QtGui/QLabel>
30 #include <QtGui/QPushButton>
31 #include <QtGui/QVBoxLayout>
33 SmsDialog::SmsDialog(
const KABC::PhoneNumber &number )
34 : mNumber( number.number() )
39 SmsDialog::~SmsDialog()
43 QString SmsDialog::message()
const
48 void SmsDialog::initUI()
50 setCaption( i18n(
"SMS text" ) );
51 setButtons( Ok | Cancel );
52 setDefaultButton( Ok );
53 showButtonSeparator(
true );
55 QWidget *page =
new QWidget(
this );
56 setMainWidget( page );
57 page->setFixedWidth( 300 );
59 QVBoxLayout *topLayout =
new QVBoxLayout( page );
60 topLayout->setSpacing( spacingHint() );
61 topLayout->setMargin( 0 );
64 QLabel *label =
new QLabel( i18n(
"Please insert SMS text for an SMS to the following number: %1", mNumber ), page );
65 topLayout->addWidget( label );
66 label->setWordWrap(
true );
68 mSmsTextEdit =
new KTextEdit( page );
69 mSmsTextEdit->setAcceptRichText(
false );
70 label->setBuddy( mSmsTextEdit );
71 topLayout->addWidget( mSmsTextEdit );
73 connect( mSmsTextEdit, SIGNAL(textChanged()), SLOT(updateCounter()) );
75 mLengthLabel =
new QLabel( QLatin1String(
"-") , page );
76 topLayout->addWidget( mLengthLabel );
78 mSmsTextEdit->setFocus();
82 void SmsDialog::updateCounter()
84 mText = mSmsTextEdit->toPlainText();
85 unsigned int messageSize = 160;
87 bool noLatin1Char =
false;
88 const int size = mText.length();
89 for (
int i = 0; i <size; ++i )
91 if ( mText[i].row() > 0 ) {
97 const int numberSms = ( size - ( size % messageSize ) ) / messageSize + 1;
98 const int numberChars = messageSize * numberSms;
100 mLengthLabel->setText( i18n(
"%1/%2 (%3 SMS)", size, numberChars, numberSms ) );
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Dec 10 2012 13:48:34 by
doxygen 1.8.1.2 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.