• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

akregator

  • sources
  • kde-4.14
  • kdepim
  • akregator
  • src
frame.h
Go to the documentation of this file.
1 /*
2  This file is part of Akregator.
3 
4  Copyright (C) 2004 Sashmit Bhaduri <smt@vfemail.net>
5  2005 Frank Osterfeld <osterfeld@kde.org>
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 
20  As a special exception, permission is given to link this program
21  with any edition of Qt, and distribute the resulting executable,
22  without including the source code for Qt in the source distribution.
23 */
24 
25 #ifndef AKREGATOR_FRAME_H
26 #define AKREGATOR_FRAME_H
27 
28 #include <QString>
29 #include <QWidget>
30 
31 #include <kparts/browserextension.h>
32 #include <kconfiggroup.h>
33 
34 #include "akregator_export.h"
35 
36 class KUrl;
37 
38 namespace KParts
39 {
40  class ReadOnlyPart;
41 }
42 
43 namespace KPIM
44 {
45  class ProgressItem;
46 }
47 
48 namespace Akregator
49 {
50 
51 class OpenUrlRequest;
52 
53 class AKREGATOR_EXPORT Frame : public QWidget
54 {
55  Q_OBJECT
56 
57  public:
58  explicit Frame(QWidget* parent=0);
59  virtual ~Frame();
60 
61  enum State {Idle, Started, Completed, Canceled};
62 
63  virtual KParts::ReadOnlyPart* part() const = 0;
64 
71  bool isRemovable() const;
72 
76  virtual KUrl url() const = 0;
77 
78  QString title() const;
79  QString caption() const;
80  State state() const;
81  int progress() const;
82  QString statusText() const;
83 
84  int id() const;
85 
89  virtual bool canGoForward() const { return false; }
90 
94  virtual bool canGoBack() const { return false; }
95 
98  virtual bool isReloadable() const { return false; }
99 
102  virtual bool isLoading() const;
103 
104  virtual bool openUrl(const OpenUrlRequest& request) = 0;
105 
109  virtual void loadConfig( const KConfigGroup& /*config*/, const QString& /*prefix*/) {}
110 
114  virtual void saveConfig( KConfigGroup& /*config*/, const QString& /*prefix*/) {}
115  public slots:
116 
118  virtual void slotHistoryForward() {}
119 
121  virtual void slotHistoryBack() {}
122 
123  virtual void slotHistoryBackAboutToShow() {}
124  virtual void slotHistoryForwardAboutToShow() {}
125 
127  virtual void slotReload() {}
128 
129  virtual void slotStop();
130 
131  void slotSetStarted();
132  void slotSetCanceled(const QString&);
133  void slotSetCompleted();
134  void slotSetState(State);
135  void slotSetProgress(int);
136  void slotSetCaption(const QString&);
137  void slotSetTitle(const QString&);
138  void slotSetStatusText(const QString&);
139 
140  signals:
141  void signalCaptionChanged(Akregator::Frame*, const QString&);
142  void signalTitleChanged(Akregator::Frame*, const QString&);
143  void signalStarted(Akregator::Frame*);
144  void signalCanceled(Akregator::Frame*, const QString&);
145  void signalCompleted(Akregator::Frame*);
146  void signalLoadingProgress(Akregator::Frame*, int);
147  void signalStatusText(Akregator::Frame*, const QString&);
148  void signalIconChanged(Akregator::Frame*, const QIcon& icon );
149 
150  void signalOpenUrlRequest(Akregator::OpenUrlRequest& request);
151 
152  void signalCanGoBackToggled(Akregator::Frame*, bool);
153  void signalCanGoForwardToggled(Akregator::Frame*, bool);
154  void signalIsReloadableToggled(Akregator::Frame*, bool);
155  void signalIsLoadingToggled(Akregator::Frame*, bool);
156 
157  protected:
158  void setRemovable(bool removable);
159 
160  protected:
161  QString m_title;
162  QString m_caption;
163  State m_state;
164  int m_progress;
165  QString m_statusText;
166  QString m_progressId;
167  KPIM::ProgressItem* m_progressItem;
168  bool m_isRemovable;
169  bool m_loading;
170  int m_id;
171  static int m_idCounter;
172 };
173 
174 class AKREGATOR_EXPORT MainFrame : public Frame
175 {
176  Q_OBJECT
177 
178  public:
179 
180  MainFrame(QWidget* parent, KParts::ReadOnlyPart* part, QWidget* widget);
181  virtual ~MainFrame();
182 
183  virtual KUrl url() const;
184 
185  virtual bool openUrl(const OpenUrlRequest&) { return false; }
186 
187  virtual KParts::ReadOnlyPart* part() const { return m_part; }
188 
189  private:
190  KParts::ReadOnlyPart* m_part;
191 };
192 
193 } // namespace Akregator
194 
195 #endif // AKREGATOR_FRAME_H
Akregator::Frame
Definition: frame.h:53
QWidget
Akregator::OpenUrlRequest
Definition: openurlrequest.h:42
Akregator::Frame::m_progressId
QString m_progressId
Definition: frame.h:166
AKREGATOR_EXPORT
#define AKREGATOR_EXPORT
Definition: akregator_export.h:35
Akregator::Frame::m_statusText
QString m_statusText
Definition: frame.h:165
Akregator::Frame::m_caption
QString m_caption
Definition: frame.h:162
Akregator::Frame::m_idCounter
static int m_idCounter
Definition: frame.h:171
Akregator::Frame::saveConfig
virtual void saveConfig(KConfigGroup &, const QString &)
Save a frame to a config file for session management.
Definition: frame.h:114
Akregator::Frame::slotHistoryForwardAboutToShow
virtual void slotHistoryForwardAboutToShow()
Definition: frame.h:124
Akregator::MainFrame::openUrl
virtual bool openUrl(const OpenUrlRequest &)
Definition: frame.h:185
Akregator::Frame::m_progress
int m_progress
Definition: frame.h:164
Akregator::Frame::slotHistoryForward
virtual void slotHistoryForward()
goes a step forward in the history, if possible.
Definition: frame.h:118
Akregator::MainFrame
Definition: frame.h:174
Akregator::Frame::m_title
QString m_title
Definition: frame.h:161
QString
Akregator::Frame::slotReload
virtual void slotReload()
reloads the current content, if possible.
Definition: frame.h:127
Akregator::Frame::State
State
Definition: frame.h:61
Akregator::Frame::m_id
int m_id
Definition: frame.h:170
Akregator::Frame::canGoForward
virtual bool canGoForward() const
returns whether it is possible to go forward in the history
Definition: frame.h:89
Akregator::Frame::m_loading
bool m_loading
Definition: frame.h:169
Akregator::Frame::loadConfig
virtual void loadConfig(const KConfigGroup &, const QString &)
Load a frame from a config file for session management.
Definition: frame.h:109
Akregator::Frame::isReloadable
virtual bool isReloadable() const
returns whether the shown content can be reloaded
Definition: frame.h:98
akregator_export.h
Akregator::Frame::canGoBack
virtual bool canGoBack() const
returns whether it is possible to go back in the history
Definition: frame.h:94
Akregator::Frame::m_isRemovable
bool m_isRemovable
Definition: frame.h:168
Akregator::Frame::slotHistoryBackAboutToShow
virtual void slotHistoryBackAboutToShow()
Definition: frame.h:123
Akregator::Frame::slotHistoryBack
virtual void slotHistoryBack()
goes a step backwards in the history, if possible.
Definition: frame.h:121
Akregator::MainFrame::part
virtual KParts::ReadOnlyPart * part() const
Definition: frame.h:187
Akregator::Frame::m_state
State m_state
Definition: frame.h:163
Akregator::Frame::m_progressItem
KPIM::ProgressItem * m_progressItem
Definition: frame.h:167
QIcon
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:34:00 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

akregator

Skip menu "akregator"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer
  • pimprint

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal