QTlen::QTlen( QWidget *parent, const char *name ) : QMainWindow( parent, name ), v_tray( false ), v_quit( false ) { QSettings settings; settings.setPath( "qtlen.berlios.de", "QTlen" ); settings.beginGroup( "/window" ); setGeometry( settings.readNumEntry( "/main/xpos", 50 ), settings.readNumEntry( "/main/ypos", 50 ), settings.readNumEntry( "/main/width", 225 ), settings.readNumEntry( "/main/height", 450 ) ); settings.resetGroup(); PresenceManager::initModule(); Tlen::initModule(); MessageManager::initModule(); RosterManager::initModule(); PubdirManager::initModule(); SoundManager::initModule(); setCaption( "QTlen: "+tlen_manager->getJid() ); setIcon( takePixmap("offline") ); settings.beginGroup( "/general" ); roster = new RosterBox( this ); setCentralWidget( roster ); addToolBars(); if( settings.readBoolEntry( "/trayicon/activated" ) ) activeTrayIcon(); else v_quit = true; settings.resetGroup(); connect( presence_manager, SIGNAL( statusChanged( PresenceManager::PresenceStatus, const QString& ) ), SLOT( statusChanged( PresenceManager::PresenceStatus, const QString& ) ) ); connect( tlen_manager, SIGNAL( connecting() ), SLOT( connecting() ) ); }
void Message::closeEvent( QCloseEvent* ce ) { QSettings settings; settings.setPath( "qtlen.sf.net", "QTlen" ); settings.beginGroup( "/window/message" ); settings.writeEntry( "/width", width() ); settings.writeEntry( "/height", height() ); settings.resetGroup(); ce->accept(); //msg_manager->deleteChatDialog( getJid() ); }
Message::Message( QString j, MType t, QWidget *parent, const char *name ) : QWidget( parent, name ) { QSettings settings; settings.setPath( "qtlen.sf.net", "QTlen" ); settings.beginGroup( "/window/message" ); resize( settings.readNumEntry( "/width", 400 ), settings.readNumEntry( "/height", 450 ) ); settings.resetGroup(); setIcon( QPixmap("msg.png") ); setJid( takeJid( j ) ); setMType( t ); QBoxLayout *mainLayout = new QVBoxLayout( this, 0, -1, "Main layout for message widget" ); QBoxLayout *topLayout = new QHBoxLayout( this ); mainLayout->addLayout( topLayout ); QLabel *label = new QLabel( mtype == Message::New ? tr("To:") : tr("From:"), this ); topLayout->addWidget( label ); QString contactName = roster_manager->getContactName( jid ); destination = new QLineEdit( contactName.isEmpty() ? jid : contactName+" <"+jid+">", this ); topLayout->addWidget( destination ); if( mtype == Message::Revice ) destination->setReadOnly( true ); QString captionText = tr("Message "); captionText += mtype == Message::New ? tr("to: ") : tr("from: "); captionText += contactName.isEmpty() ? jid : contactName; setCaption( captionText ); topLayout = new QHBoxLayout( this ); mainLayout->addLayout( topLayout ); if( mtype == Message::New ) { label = new QLabel( tr("Send as:"), this ); topLayout->addWidget( label ); sendAs = new QComboBox( this ); sendAs->insertItem( takePixmap( "msg" ), tr("Normal") ); sendAs->insertItem( takePixmap( "msg-chat" ), tr("Chat") ); sendAs->setCurrentItem( 0 ); sendAs->setSizePolicy( QSizePolicy::Ignored, QSizePolicy::Fixed ); topLayout->addWidget( sendAs ); } else if( mtype == Message::Revice ) { QBoxLayout *datetimeLayout = new QHBoxLayout( this ); mainLayout->addLayout( datetimeLayout ); label = new QLabel( tr("Time:"), this ); datetimeLayout->addWidget( label ); datetimeEdit = new QLineEdit( this ); datetimeEdit->setReadOnly( true ); datetimeLayout->addWidget( datetimeEdit ); } message = new QTextEdit( this ); message->setTextFormat( Qt::PlainText ); mainLayout->addWidget( message ); if( mtype == Message::Revice ) message->setReadOnly( true ); QBoxLayout *buttomLayout = new QHBoxLayout( this ); mainLayout->addLayout( buttomLayout ); QPushButton *exitButton = new QPushButton( QIconSet( takePixmap( "close" ) ), tr("Exit"), this ); exitButton->setFixedWidth( 100 ); buttomLayout->addWidget( exitButton ); buttomLayout->addStretch(); if(destination->text().isEmpty()) destination->setFocus(); else message->setFocus(); QPushButton *sendButton = new QPushButton( QIconSet( takePixmap( "send" ) ), mtype == Message::New ? tr("Send") : tr("Reply"), this ); sendButton->setFixedWidth( 100 ); buttomLayout->addWidget( sendButton ); if( t == Message::New ) connect( sendButton, SIGNAL( released() ), SLOT( send() )); else connect( sendButton, SIGNAL( released() ), SLOT( reply() )); connect( destination, SIGNAL( textChanged( const QString & ) ), SLOT( changeCaption( const QString & ) ) ); connect( exitButton, SIGNAL( released() ), SLOT(close()) ); }