akonadi/contact
22 #include "smsdialog.h"
24 #include <kabc/phonenumber.h>
25 #include <klocalizedstring.h>
26 #include <kmessagebox.h>
27 #include <ktextedit.h>
30 #include <QVBoxLayout>
32 SmsDialog::SmsDialog(
const KABC::PhoneNumber &number )
33 : mNumber( number.number() )
38 SmsDialog::~SmsDialog()
42 QString SmsDialog::message()
const
47 void SmsDialog::initUI()
49 setCaption( i18n(
"SMS text" ) );
50 setButtons( Ok | Cancel );
51 setDefaultButton( Ok );
52 showButtonSeparator(
true );
54 QWidget *page =
new QWidget(
this );
55 setMainWidget( page );
56 page->setFixedWidth( 300 );
58 QVBoxLayout *topLayout =
new QVBoxLayout( page );
59 topLayout->setSpacing( spacingHint() );
60 topLayout->setMargin( 0 );
63 QLabel *label =
new QLabel( i18n(
"Please insert SMS text for an SMS to the following number: %1", mNumber ), page );
64 topLayout->addWidget( label );
65 label->setWordWrap(
true );
67 mSmsTextEdit =
new KTextEdit( page );
68 mSmsTextEdit->setAcceptRichText(
false );
69 label->setBuddy( mSmsTextEdit );
70 topLayout->addWidget( mSmsTextEdit );
72 connect( mSmsTextEdit, SIGNAL(textChanged()), SLOT(updateCounter()) );
74 mLengthLabel =
new QLabel( QLatin1String(
"-" ) , page );
75 topLayout->addWidget( mLengthLabel );
77 mSmsTextEdit->setFocus();
81 void SmsDialog::updateCounter()
83 mText = mSmsTextEdit->toPlainText();
84 unsigned int messageSize = 160;
86 const int size = mText.length();
87 for (
int i = 0; i <size; ++i ) {
88 if ( mText[i].row() > 0 ) {
93 const int numberSms = ( size - ( size % messageSize ) ) / messageSize + 1;
94 const int numberChars = messageSize * numberSms;
96 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 Tue Nov 26 2013 09:03:48 by
doxygen 1.8.5 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.