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

knode

  • sources
  • kde-4.12
  • kdepim
  • knode
knarticlefactory.h
Go to the documentation of this file.
1 /*
2  KNode, the KDE newsreader
3  Copyright (c) 1999-2006 the KNode authors.
4  See file AUTHORS for details
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  You should have received a copy of the GNU General Public License
11  along with this program; if not, write to the Free Software Foundation,
12  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
13 */
14 
15 #ifndef KNARTICLEFACTORY_H
16 #define KNARTICLEFACTORY_H
17 
18 #include "knarticle.h"
19 #include "kncollection.h"
20 #include "kngroup.h"
21 #include "knjobdata.h"
22 #include "knnntpaccount.h"
23 
24 #include <QByteArray>
25 #include <QList>
26 #include <QListWidgetItem>
27 #include <kdialog.h>
28 
29 class QLabel;
30 class KNComposer;
31 class KNSendErrorDialog;
32 
33 
35 class KNArticleFactory : public QObject , public KNJobConsumer {
36 
37  Q_OBJECT
38 
39  public:
40  enum replyType { RTgroup, RTmail, RTboth };
41 
42  explicit KNArticleFactory( QObject *parent = 0 );
43  ~KNArticleFactory();
44 
45  //factory methods
46  void createPosting( KNNntpAccount::Ptr a );
47  void createPosting( KNGroup::Ptr g );
48  void createReply( KNRemoteArticle::Ptr a, const QString &selectedText = QString(), bool post = true, bool mail = false );
49  void createForward( KNArticle::Ptr a );
50  void createCancel( KNArticle::Ptr a );
51  void createSupersede( KNArticle::Ptr a );
52  void createMail(KMime::Types::Mailbox *address);
53 
55  void sendMailExternal( const QString &address = QString(), const QString &subject = QString(), const QString &body = QString() );
56 
57  //article handling
58  void edit( KNLocalArticle::Ptr a );
59  void sendArticles( KNLocalArticle::List &l, bool now = true );
60  void sendOutbox();
61 
62  //composer handling
63  bool closeComposeWindows(); // try to close all composers, return false if user objects
64  void deleteComposerForArticle( KNLocalArticle::Ptr a );
65  KNComposer* findComposer( KNLocalArticle::Ptr a );
66  void configChanged();
67 
68  protected:
69  //job handling
70  void processJob(KNJobData *j); //reimplemented from KNJobConsumer
71 
79  KNLocalArticle::Ptr newArticle( KNCollection::Ptr col, const QByteArray &defChset, bool withXHeaders = true, KNArticle::Ptr origPost = KNArticle::Ptr() );
80 
81  //cancel & supersede
82  bool cancelAllowed( KNArticle::Ptr a );
83 
84  //send-errors
85  void showSendErrorDialog();
86 
87  QList<KNComposer*> mCompList;
88  KNSendErrorDialog *s_endErrDlg;
89 
90  protected slots:
91  void slotComposerDone(KNComposer *com);
92  void slotSendErrorDialogDone();
93 
94 };
95 
96 
98 class KNSendErrorDialog : public KDialog {
99 
100  Q_OBJECT
101 
102  public:
103  KNSendErrorDialog();
104  ~KNSendErrorDialog();
105 
106  void append(const QString &subject, const QString &error);
107 
108  protected:
110  class ErrorListItem : public QListWidgetItem {
111  public:
116  ErrorListItem( const QString &text, const QString &error )
117  : QListWidgetItem( text ), mError( error ) {}
119  QString error() const { return mError; }
120  private:
121  QString mError;
122  };
123 
125  QListWidget *mErrorList;
127  QLabel *mError;
128 
129  protected slots:
130  void slotHighlighted(int idx);
131 };
132 
133 #endif //KNARTICLEFACTORY_H
KNArticleFactory::sendMailExternal
void sendMailExternal(const QString &address=QString(), const QString &subject=QString(), const QString &body=QString())
Send a mail via an external program.
Definition: knarticlefactory.cpp:530
KNArticleFactory::RTboth
Definition: knarticlefactory.h:40
KNArticleFactory::findComposer
KNComposer * findComposer(KNLocalArticle::Ptr a)
Definition: knarticlefactory.cpp:698
KNLocalArticle::Ptr
boost::shared_ptr< KNLocalArticle > Ptr
Shared pointer to a KNLocalArticle. To be used instead of raw KNLocalArticle*.
Definition: knarticle.h:214
KNSendErrorDialog::append
void append(const QString &subject, const QString &error)
Definition: knarticlefactory.cpp:1059
KNArticleFactory::cancelAllowed
bool cancelAllowed(KNArticle::Ptr a)
Definition: knarticlefactory.cpp:883
KNArticleFactory::newArticle
KNLocalArticle::Ptr newArticle(KNCollection::Ptr col, const QByteArray &defChset, bool withXHeaders=true, KNArticle::Ptr origPost=KNArticle::Ptr())
Generate a new article to edit before posting.
Definition: knarticlefactory.cpp:771
KNArticleFactory::createReply
void createReply(KNRemoteArticle::Ptr a, const QString &selectedText=QString(), bool post=true, bool mail=false)
Definition: knarticlefactory.cpp:110
text
virtual QByteArray text(quint32 serialNumber) const =0
KNArticleFactory::mCompList
QList< KNComposer * > mCompList
Definition: knarticlefactory.h:87
KNJobData
Abstract base class for all KNode internal jobs.
Definition: knjobdata.h:101
KNArticleFactory::closeComposeWindows
bool closeComposeWindows()
Definition: knarticlefactory.cpp:676
QListWidget
KNArticleFactory
Article factory, responsible for creating and sending news articles.
Definition: knarticlefactory.h:35
KDialog
KNArticleFactory::createPosting
void createPosting(KNNntpAccount::Ptr a)
Definition: knarticlefactory.cpp:67
QObject
kngroup.h
KNArticleFactory::slotComposerDone
void slotComposerDone(KNComposer *com)
Definition: knarticlefactory.cpp:962
KNSendErrorDialog
Message send error dialog.
Definition: knarticlefactory.h:98
KNNntpAccount::Ptr
boost::shared_ptr< KNNntpAccount > Ptr
Shared pointer to a KNNntpAccount.
Definition: knnntpaccount.h:62
KNArticleFactory::createForward
void createForward(KNArticle::Ptr a)
Definition: knarticlefactory.cpp:277
knnntpaccount.h
KNSendErrorDialog::ErrorListItem::ErrorListItem
ErrorListItem(const QString &text, const QString &error)
Creates a new error list item.
Definition: knarticlefactory.h:116
KNSendErrorDialog::mError
QLabel * mError
Error message label.
Definition: knarticlefactory.h:127
KNArticleFactory::RTmail
Definition: knarticlefactory.h:40
KNComposer
Message composer window.
Definition: kncomposer.h:41
knjobdata.h
KNArticleFactory::RTgroup
Definition: knarticlefactory.h:40
KNArticleFactory::configChanged
void configChanged()
Definition: knarticlefactory.cpp:707
KNSendErrorDialog::mErrorList
QListWidget * mErrorList
Error list widget.
Definition: knarticlefactory.h:125
KNArticleFactory::s_endErrDlg
KNSendErrorDialog * s_endErrDlg
Definition: knarticlefactory.h:88
KNArticleFactory::~KNArticleFactory
~KNArticleFactory()
Definition: knarticlefactory.cpp:59
KNArticleFactory::edit
void edit(KNLocalArticle::Ptr a)
Definition: knarticlefactory.cpp:560
KNSendErrorDialog::ErrorListItem::error
QString error() const
Returns the error message of this item.
Definition: knarticlefactory.h:119
subject
QString subject() const
KNSendErrorDialog::~KNSendErrorDialog
~KNSendErrorDialog()
Definition: knarticlefactory.cpp:1053
KNArticleFactory::replyType
replyType
Definition: knarticlefactory.h:40
KNArticleFactory::deleteComposerForArticle
void deleteComposerForArticle(KNLocalArticle::Ptr a)
Definition: knarticlefactory.cpp:688
KNArticleFactory::createMail
void createMail(KMime::Types::Mailbox *address)
Definition: knarticlefactory.cpp:506
QListWidgetItem
KNArticleFactory::slotSendErrorDialogDone
void slotSendErrorDialogDone()
Definition: knarticlefactory.cpp:1022
KNArticleFactory::sendArticles
void sendArticles(KNLocalArticle::List &l, bool now=true)
Definition: knarticlefactory.cpp:590
KNJobConsumer
Base class for classes that want to create and schedule jobs.
Definition: knjobdata.h:39
KNArticleFactory::createSupersede
void createSupersede(KNArticle::Ptr a)
Definition: knarticlefactory.cpp:431
KNSendErrorDialog::KNSendErrorDialog
KNSendErrorDialog()
Definition: knarticlefactory.cpp:1032
KNRemoteArticle::Ptr
boost::shared_ptr< KNRemoteArticle > Ptr
Shared pointer to a KNRemoteArticle. To be used instead of raw KNRemoteArticle*.
Definition: knarticle.h:107
KNCollection::Ptr
boost::shared_ptr< KNCollection > Ptr
Shared pointer to a KNCollection.
Definition: kncollection.h:40
KNArticleFactory::showSendErrorDialog
void showSendErrorDialog()
Definition: knarticlefactory.cpp:952
KNArticleFactory::sendOutbox
void sendOutbox()
Definition: knarticlefactory.cpp:658
KNArticleFactory::createCancel
void createCancel(KNArticle::Ptr a)
Definition: knarticlefactory.cpp:353
KNArticle::Ptr
boost::shared_ptr< KNArticle > Ptr
Shared pointer to a KNArticle. To be used instead of raw KNArticle*.
Definition: knarticle.h:39
QLabel
knarticle.h
KNArticleFactory::KNArticleFactory
KNArticleFactory(QObject *parent=0)
Definition: knarticlefactory.cpp:53
kncollection.h
KNArticleFactory::processJob
void processJob(KNJobData *j)
The actual work is done here.
Definition: knarticlefactory.cpp:714
KNSendErrorDialog::ErrorListItem
Error list widget item.
Definition: knarticlefactory.h:110
QList
KNGroup::Ptr
boost::shared_ptr< KNGroup > Ptr
Shared pointer to a KNGroup.
Definition: kngroup.h:47
KNSendErrorDialog::slotHighlighted
void slotHighlighted(int idx)
Definition: knarticlefactory.cpp:1068
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:36 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

knode

Skip menu "knode"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

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