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

0001 /*
0002     This file is part of Choqok, the KDE micro-blogging client
0003 
0004     SPDX-FileCopyrightText: 2008-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com>
0005 
0006     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0007 */
0008 
0009 #ifndef TWITTERAPIMICROBLOGWIDGET_H
0010 #define TWITTERAPIMICROBLOGWIDGET_H
0011 
0012 #include <QMap>
0013 #include <QPoint>
0014 
0015 #include "twitterapihelper_export.h"
0016 
0017 #include "microblogwidget.h"
0018 #include "timelinewidget.h"
0019 #include "twitterapisearch.h"
0020 
0021 class TwitterApiSearchTimelineWidget;
0022 
0023 class TWITTERAPIHELPER_EXPORT TwitterApiMicroBlogWidget : public Choqok::UI::MicroBlogWidget
0024 {
0025     Q_OBJECT
0026 public:
0027     explicit TwitterApiMicroBlogWidget(Choqok::Account *account, QWidget *parent = nullptr);
0028     ~TwitterApiMicroBlogWidget();
0029     virtual void initUi() override;
0030 
0031 public Q_SLOTS:
0032     void slotContextMenu(QWidget *w, const QPoint &pt);
0033 
0034 protected Q_SLOTS:
0035     void closeAllSearches();
0036     void slotAccountModified(Choqok::Account *account);
0037     void slotCloseCurrentSearch();
0038     virtual void saveSearchTimelinesState();
0039     virtual void loadSearchTimelinesState();
0040     virtual void slotSearchResultsReceived(const SearchInfo &info,
0041                                            QList<Choqok::Post *> &postsList);
0042 
0043 protected:
0044     void closeSearch(Choqok::UI::TimelineWidget *searchWidget);
0045     QMap<QString, TwitterApiSearchTimelineWidget *> mSearchTimelines;
0046     TwitterApiSearchTimelineWidget *addSearchTimelineWidgetToUi(const QString &name,
0047             const SearchInfo &info);
0048 private:
0049     class Private;
0050     Private *const d;
0051 };
0052 
0053 #endif // TWITTERAPIMICROBLOGWIDGET_H