akonadi/contact
22 #include "smsdialog.h"
24 #include <kabc/phonenumber.h>
26 #include <kmessagebox.h>
27 #include <ktextedit.h>
30 #include <QPushButton>
31 #include <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 const int size = mText.length();
88 for (
int i = 0; i <size; ++i ) {
89 if ( mText[i].row() > 0 ) {
94 const int numberSms = ( size - ( size % messageSize ) ) / messageSize + 1;
95 const int numberChars = messageSize * numberSms;
97 mLengthLabel->setText( i18n(
"%1/%2 (%3 SMS)", size, numberChars, numberSms ) );
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jul 13 2013 01:28:43 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.