File indexing completed on 2024-04-28 04:55:47

0001 /*
0002     This file is part of Choqok, the KDE micro-blogging client
0003 
0004     SPDX-FileCopyrightText: 2014 Andrea Scarpino <scarpino@kde.org>
0005     SPDX-FileCopyrightText: 2008-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com>
0006 
0007     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0008 */
0009 
0010 #include "pumpiomicroblogwidget.h"
0011 
0012 #include "account.h"
0013 #include "timelinewidget.h"
0014 
0015 #include "pumpiocomposerwidget.h"
0016 #include "pumpiodebug.h"
0017 
0018 PumpIOMicroBlogWidget::PumpIOMicroBlogWidget(Choqok::Account *account, QWidget *parent)
0019     : MicroBlogWidget::MicroBlogWidget(account, parent)
0020 {
0021 }
0022 
0023 PumpIOMicroBlogWidget::~PumpIOMicroBlogWidget()
0024 {
0025 }
0026 
0027 void PumpIOMicroBlogWidget::initUi()
0028 {
0029     Choqok::UI::MicroBlogWidget::initUi();
0030 }
0031 
0032 Choqok::UI::TimelineWidget *PumpIOMicroBlogWidget::addTimelineWidgetToUi(const QString &name)
0033 {
0034     Choqok::UI::TimelineWidget *mbw = currentAccount()->microblog()->createTimelineWidget(currentAccount(), name, this);
0035     if (mbw) {
0036         Choqok::TimelineInfo *info = currentAccount()->microblog()->timelineInfo(name);
0037         timelines().insert(name, mbw);
0038         timelinesTabWidget()->addTab(mbw, info->name);
0039         timelinesTabWidget()->setTabIcon(timelinesTabWidget()->indexOf(mbw), QIcon::fromTheme(info->icon));
0040         connect(mbw, SIGNAL(updateUnreadCount(int)), this, SLOT(slotUpdateUnreadCount(int)));
0041 
0042         PumpIOComposerWidget *pumpComposer = qobject_cast<PumpIOComposerWidget * >(composer());
0043         if (pumpComposer) {
0044             connect(mbw, SIGNAL(forwardResendPost(QString)), pumpComposer,
0045                     SLOT(setText(QString)));
0046             connect(mbw, &Choqok::UI::TimelineWidget::forwardReply,
0047                     pumpComposer, &PumpIOComposerWidget::slotSetReply);
0048         }
0049         slotUpdateUnreadCount(mbw->unreadCount(), mbw);
0050     } else {
0051         qCDebug(CHOQOK) << "Cannot Create a new TimelineWidget for timeline " << name;
0052         return nullptr;
0053     }
0054 
0055     if (timelinesTabWidget()->count() == 1) {
0056         timelinesTabWidget()->setTabBarHidden(true);
0057     } else {
0058         timelinesTabWidget()->setTabBarHidden(false);
0059     }
0060 
0061     return mbw;
0062 }
0063 
0064 #include "moc_pumpiomicroblogwidget.cpp"