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 );
62 QLabel *label =
new QLabel( i18n(
"Please insert SMS text for an SMS to the following number: %1", mNumber ), page );
63 topLayout->addWidget( label );
64 label->setWordWrap(
true );
66 mSmsTextEdit =
new KTextEdit( page );
67 mSmsTextEdit->setAcceptRichText(
false );
68 label->setBuddy( mSmsTextEdit );
69 topLayout->addWidget( mSmsTextEdit );
71 connect( mSmsTextEdit, SIGNAL(textChanged()), SLOT(updateCounter()) );
73 mLengthLabel =
new QLabel( QLatin1String(
"-" ) , page );
74 topLayout->addWidget( mLengthLabel );
76 mSmsTextEdit->setFocus();
80 void SmsDialog::updateCounter()
82 mText = mSmsTextEdit->toPlainText();
83 unsigned int messageSize = 160;
85 const int size = mText.length();
86 for (
int i = 0; i <size; ++i ) {
87 if ( mText[i].row() > 0 ) {
92 const int numberSms = ( size - ( size % messageSize ) ) / messageSize + 1;
93 const int numberChars = messageSize * numberSms;
95 mLengthLabel->setText( i18n(
"%1/%2 (%3 SMS)", size, numberChars, numberSms ) );
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:49 by
doxygen 1.8.7 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.