TwitterComposerWidget::TwitterComposerWidget(Choqok::Account *account, QWidget *parent) : TwitterApiComposerWidget(account, parent), d(new Private) { d->editorLayout = qobject_cast<QGridLayout *>(editorContainer()->layout()); d->btnAttach = new QPushButton(editorContainer()); d->btnAttach->setIcon(QIcon::fromTheme(QLatin1String("mail-attachment"))); d->btnAttach->setToolTip(i18n("Attach a file")); d->btnAttach->setMaximumWidth(d->btnAttach->height()); connect(d->btnAttach, SIGNAL(clicked(bool)), this, SLOT(selectMediumToAttach())); QVBoxLayout *vLayout = new QVBoxLayout; vLayout->addWidget(d->btnAttach); vLayout->addSpacerItem(new QSpacerItem(1, 1, QSizePolicy::Preferred, QSizePolicy::MinimumExpanding)); d->editorLayout->addItem(vLayout, 0, 1, 1, 1); }
FacebookComposerWidget::FacebookComposerWidget(Choqok::Account* account, QWidget* parent) : Choqok::UI::ComposerWidget(account, parent), btnAttach(0), mediumName(0), btnCancel(0) { editorLayout = qobject_cast<QGridLayout*>(editorContainer()->layout()); btnAttach = new KPushButton(editorContainer()); btnAttach->setIcon(KIcon("image-x-generic")); btnAttach->setToolTip(i18n("Attach a photo/Video")); btnAttach->setMaximumWidth(btnAttach->height()); connect(btnAttach, SIGNAL(clicked(bool)), this, SLOT(selectMediumToAttach())); QVBoxLayout *vLayout = new QVBoxLayout; vLayout->addWidget(btnAttach); vLayout->addSpacerItem(new QSpacerItem(1, 1, QSizePolicy::Preferred, QSizePolicy::MinimumExpanding)); editorLayout->addItem(vLayout, 0, 1, 1, 1); }
void FacebookComposerWidget::submitPost(const QString& txt) { if( mediumToAttach.isEmpty() ){ Choqok::UI::ComposerWidget::submitPost(txt); } else { kDebug(); editorContainer()->setEnabled(false); QString text = txt; if( currentAccount()->microblog()->postCharLimit() && text.size() > (int)currentAccount()->microblog()->postCharLimit() ) text = Choqok::ShortenManager::self()->parseText(text); setPostToSubmit(0L); setPostToSubmit( new Choqok::Post ); postToSubmit()->content = text; if( !replyToId.isEmpty() ) { postToSubmit()->replyToPostId = replyToId; } connect( currentAccount()->microblog(), SIGNAL(postCreated(Choqok::Account*,Choqok::Post*)), SLOT(slotPostMediaSubmitted(Choqok::Account*,Choqok::Post*)) ); connect(currentAccount()->microblog(), SIGNAL(errorPost(Choqok::Account*,Choqok::Post*,Choqok::MicroBlog::ErrorType, QString,Choqok::MicroBlog::ErrorLevel)), SLOT(slotErrorPost(Choqok::Account*,Choqok::Post*))); btnAbort = new KPushButton(KIcon("dialog-cancel"), i18n("Abort"), this); layout()->addWidget(btnAbort); connect( btnAbort, SIGNAL(clicked(bool)), SLOT(abort()) ); FacebookMicroBlog *mBlog = qobject_cast<FacebookMicroBlog*>(currentAccount()->microblog()); mBlog->createPostWithAttachment( currentAccount(), postToSubmit(), mediumToAttach ); } }
void ComposerWidget::submitPost( const QString &txt ) { kDebug(); editorContainer()->setEnabled(false); QString text = txt; if( currentAccount()->microblog()->postCharLimit() && text.size() > (int)currentAccount()->microblog()->postCharLimit() ) text = Choqok::ShortenManager::self()->parseText(text); delete d->postToSubmit; d->postToSubmit = new Choqok::Post; d->postToSubmit->content = text; if( !replyToId.isEmpty() ) { d->postToSubmit->replyToPostId = replyToId; } connect(d->currentAccount->microblog(), SIGNAL(postCreated(Choqok::Account*,Choqok::Post*)), SLOT(slotPostSubmited(Choqok::Account*,Choqok::Post*)) ); connect(d->currentAccount->microblog(), SIGNAL(errorPost(Choqok::Account*,Choqok::Post*,Choqok::MicroBlog::ErrorType, QString,Choqok::MicroBlog::ErrorLevel)), SLOT(slotErrorPost(Choqok::Account*,Choqok::Post*))); btnAbort = new KPushButton(KIcon("dialog-cancel"), i18n("Abort"), this); layout()->addWidget(btnAbort); connect( btnAbort, SIGNAL(clicked(bool)), SLOT(abort()) ); currentAccount()->microblog()->createPost( currentAccount(),d->postToSubmit); }
void ComposerWidget::slotPostSubmited(Choqok::Account* theAccount, Choqok::Post* post) { kDebug(); if( currentAccount() == theAccount && post == d->postToSubmit ) { kDebug()<<"Accepted"; disconnect(d->currentAccount->microblog(), SIGNAL(postCreated(Choqok::Account*,Choqok::Post*)), this, SLOT(slotPostSubmited(Choqok::Account*,Choqok::Post*)) ); disconnect(d->currentAccount->microblog(), SIGNAL(errorPost(Choqok::Account*,Choqok::Post*,Choqok::MicroBlog::ErrorType, QString,Choqok::MicroBlog::ErrorLevel)), this, SLOT(slotErrorPost(Choqok::Account*,Choqok::Post*))); if(btnAbort){ btnAbort->deleteLater(); } d->editor->clear(); replyToId.clear(); editorContainer()->setEnabled(true); delete d->postToSubmit; d->postToSubmit = 0L; currentAccount()->microblog()->updateTimelines(currentAccount()); }
void FacebookComposerWidget::slotPostMediaSubmitted(Choqok::Account* theAccount, Choqok::Post* post) { kDebug(); if( currentAccount() == theAccount && post == postToSubmit() ) { kDebug()<<"Accepted"; disconnect(currentAccount()->microblog(), SIGNAL(postCreated(Choqok::Account*,Choqok::Post*)), this, SLOT(slotPostMediaSubmitted(Choqok::Account*,Choqok::Post*)) ); disconnect(currentAccount()->microblog(), SIGNAL(errorPost(Choqok::Account*,Choqok::Post*,Choqok::MicroBlog::ErrorType, QString,Choqok::MicroBlog::ErrorLevel)), this, SLOT(slotErrorPost(Choqok::Account*,Choqok::Post*))); if(btnAbort){ btnAbort->deleteLater(); } Choqok::NotifyManager::success(i18n("New post submitted successfully")); editor()->clear(); replyToId.clear(); editorContainer()->setEnabled(true); setPostToSubmit( 0L ); cancelAttachMedium(); currentAccount()->microblog()->updateTimelines(currentAccount()); }