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

akregator

  • sources
  • kde-4.12
  • kdepim
  • akregator
  • src
frame.cpp
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 
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 #include "frame.h"
26 
27 #include <QGridLayout>
28 #include <QRegExp>
29 
30 #include <kactioncollection.h>
31 #include <kdebug.h>
32 #include <klocale.h>
33 #include <kurl.h>
34 #include <kparts/browserextension.h>
35 #include <kparts/part.h>
36 
37 #include <libkdepim/progresswidget/progressmanager.h>
38 
39 namespace Akregator {
40 
41 
42 void Frame::slotSetTitle(const QString &s)
43 {
44  if (m_title != s)
45  {
46  m_title = s;
47  emit signalTitleChanged(this, s);
48  }
49 }
50 
51 bool Frame::isLoading() const
52 {
53  return m_loading;
54 }
55 
56 void Frame::slotSetCaption(const QString &s)
57 {
58  if(m_progressItem) m_progressItem->setLabel(s);
59  m_caption=s;
60  emit signalCaptionChanged(this, s);
61 }
62 
63 void Frame::slotSetStatusText(const QString &s)
64 {
65  m_statusText=s;
66  m_statusText.remove(QRegExp(QLatin1String("<[^>]*>")));
67  emit signalStatusText(this, m_statusText);
68 }
69 
70 void Frame::slotSetProgress(int a)
71 {
72  if(m_progressItem) {
73  m_progressItem->setProgress((int)a);
74  }
75  m_progress=a;
76  emit signalLoadingProgress(this, a);
77 }
78 
79 void Frame::slotSetState(State state)
80 {
81  m_state=state;
82 
83  switch (m_state)
84  {
85  case Frame::Started:
86  emit signalStarted(this);
87  break;
88  case Frame::Canceled:
89  emit signalCanceled(this, QString());
90  break;
91  case Frame::Idle:
92  case Frame::Completed:
93  default:
94  emit signalCompleted(this);
95  }
96 }
97 
98 Frame::Frame(QWidget* parent)
99  : QWidget(parent)
100 {
101  m_title = i18n("Untitled");
102  m_state=Idle;
103  m_progress=-1;
104  m_progressItem=0;
105  m_isRemovable = true;
106  m_loading = false;
107  m_id = m_idCounter++;
108 }
109 
110 int Frame::m_idCounter = 0;
111 
112 int Frame::id() const
113 {
114  return m_id;
115 }
116 
117 void Frame::setRemovable(bool removable)
118 {
119  m_isRemovable = removable;
120 }
121 
122 bool Frame::isRemovable() const
123 {
124  return m_isRemovable;
125 }
126 
127 Frame::~Frame()
128 {
129  if(m_progressItem)
130  {
131  m_progressItem->setComplete();
132  }
133 }
134 
135 
136 Frame::State Frame::state() const
137 {
138  return m_state;
139 }
140 
141 QString Frame::title() const
142 {
143  return m_title;
144 }
145 
146 QString Frame::caption() const
147 {
148  return m_caption;
149 }
150 
151 QString Frame::statusText() const
152 {
153  return m_statusText;
154 }
155 
156 void Frame::slotSetStarted()
157 {
158  m_loading = true;
159  if(m_progressId.isNull() || m_progressId.isEmpty()) m_progressId = KPIM::ProgressManager::getUniqueID();
160  m_progressItem = KPIM::ProgressManager::createProgressItem(m_progressId, title(), QString(), false);
161  m_progressItem->setStatus(i18n("Loading..."));
162  //connect(m_progressItem, SIGNAL(progressItemCanceled(KPIM::ProgressItem*)), SLOT(slotAbortFetch()));
163  m_state=Started;
164  emit signalStarted(this);
165  emit signalIsLoadingToggled(this, m_loading);
166 }
167 
168 void Frame::slotStop()
169 {
170  if (m_loading)
171  {
172  m_loading = false;
173  emit signalIsLoadingToggled(this, false);
174  }
175 }
176 
177 void Frame::slotSetCanceled(const QString &s)
178 {
179  m_loading = false;
180  if(m_progressItem)
181  {
182  m_progressItem->setStatus(i18n("Loading canceled"));
183  m_progressItem->setComplete();
184  m_progressItem = 0;
185  }
186  m_state=Canceled;
187  emit signalCanceled(this, s);
188  emit signalIsLoadingToggled(this, m_loading);
189 }
190 
191 void Frame::slotSetCompleted()
192 {
193  m_loading = false;
194  if(m_progressItem)
195  {
196  m_progressItem->setStatus(i18n("Loading completed"));
197  m_progressItem->setComplete();
198  m_progressItem = 0;
199  }
200  m_state=Completed;
201  emit signalCompleted(this);
202  emit signalIsLoadingToggled(this, m_loading);
203 }
204 
205 int Frame::progress() const
206 {
207  return m_progress;
208 }
209 
210 MainFrame::MainFrame(QWidget* parent, KParts::ReadOnlyPart* part, QWidget* visibleWidget) : Frame(parent), m_part(part)
211 {
212  setRemovable(false);
213  QGridLayout* layout = new QGridLayout(this);
214  layout->setMargin(0);
215  layout->addWidget(visibleWidget, 0, 0);
216  setLayout(layout);
217 }
218 
219 MainFrame::~MainFrame()
220 {
221 }
222 
223 KUrl MainFrame::url() const
224 {
225  return KUrl();
226 }
227 
228 } // namespace Akregator
229 
230 #include "frame.moc"
Akregator::Frame
Definition: frame.h:53
Akregator::Frame::slotSetCanceled
void slotSetCanceled(const QString &)
Definition: frame.cpp:177
Akregator::Frame::statusText
QString statusText() const
Definition: frame.cpp:151
Akregator::MainFrame::url
virtual KUrl url() const
returns the URL of the embedded part
Definition: frame.cpp:223
Akregator::Frame::signalIsLoadingToggled
void signalIsLoadingToggled(Akregator::Frame *, bool)
Akregator::Frame::signalCompleted
void signalCompleted(Akregator::Frame *)
Akregator::Frame::isRemovable
bool isRemovable() const
Returns whether the frame can be removed from Akregator (via detach or close tab etc.) Usually all tabs but the main tab can be removed.
Definition: frame.cpp:122
Akregator::Frame::slotSetStarted
void slotSetStarted()
Definition: frame.cpp:156
Akregator::Frame::m_progressId
QString m_progressId
Definition: frame.h:166
QWidget
Akregator::Frame::signalCaptionChanged
void signalCaptionChanged(Akregator::Frame *, const QString &)
Akregator::Frame::m_statusText
QString m_statusText
Definition: frame.h:165
Akregator::Frame::signalCanceled
void signalCanceled(Akregator::Frame *, const QString &)
Akregator::Frame::m_caption
QString m_caption
Definition: frame.h:162
Akregator::Frame::slotStop
virtual void slotStop()
Definition: frame.cpp:168
Akregator::Frame::m_idCounter
static int m_idCounter
Definition: frame.h:171
Akregator::Frame::m_progress
int m_progress
Definition: frame.h:164
Akregator::Frame::signalStatusText
void signalStatusText(Akregator::Frame *, const QString &)
Akregator::Frame::~Frame
virtual ~Frame()
Definition: frame.cpp:127
Akregator::Frame::slotSetStatusText
void slotSetStatusText(const QString &)
Definition: frame.cpp:63
Akregator::MainFrame::~MainFrame
virtual ~MainFrame()
Definition: frame.cpp:219
Akregator::Frame::isLoading
virtual bool isLoading() const
returns whether the embedded part is loading a website.
Definition: frame.cpp:51
Akregator::Frame::id
int id() const
Definition: frame.cpp:112
frame.h
Akregator::Frame::slotSetProgress
void slotSetProgress(int)
Definition: frame.cpp:70
Akregator::Frame::Started
Definition: frame.h:61
Akregator::Frame::setRemovable
void setRemovable(bool removable)
Definition: frame.cpp:117
Akregator::Frame::progress
int progress() const
Definition: frame.cpp:205
Akregator::Frame::m_title
QString m_title
Definition: frame.h:161
Akregator::Frame::slotSetTitle
void slotSetTitle(const QString &)
Definition: frame.cpp:42
Akregator::Frame::Completed
Definition: frame.h:61
Akregator::Frame::signalTitleChanged
void signalTitleChanged(Akregator::Frame *, const QString &)
Akregator::Frame::slotSetCaption
void slotSetCaption(const QString &)
Definition: frame.cpp:56
Akregator::Frame::Frame
Frame(QWidget *parent=0)
Definition: frame.cpp:98
Akregator::Frame::signalStarted
void signalStarted(Akregator::Frame *)
Akregator::Frame::title
QString title() const
Definition: frame.cpp:141
Akregator::Frame::Idle
Definition: frame.h:61
Akregator::Frame::State
State
Definition: frame.h:61
Akregator::Frame::m_id
int m_id
Definition: frame.h:170
Akregator::Frame::m_loading
bool m_loading
Definition: frame.h:169
Akregator::Frame::signalLoadingProgress
void signalLoadingProgress(Akregator::Frame *, int)
Akregator::MainFrame::MainFrame
MainFrame(QWidget *parent, KParts::ReadOnlyPart *part, QWidget *widget)
Definition: frame.cpp:210
Akregator::Frame::caption
QString caption() const
Definition: frame.cpp:146
Akregator::Frame::state
State state() const
Definition: frame.cpp:136
Akregator::Frame::slotSetCompleted
void slotSetCompleted()
Definition: frame.cpp:191
Akregator::Frame::m_isRemovable
bool m_isRemovable
Definition: frame.h:168
Akregator::Frame::slotSetState
void slotSetState(State)
Definition: frame.cpp:79
Akregator::Frame::Canceled
Definition: frame.h:61
Akregator::Frame::m_state
State m_state
Definition: frame.h:163
Akregator::Frame::m_progressItem
KPIM::ProgressItem * m_progressItem
Definition: frame.h:167
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:14 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

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