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

blogilo

  • sources
  • kde-4.14
  • kdepim
  • blogilo
  • src
mainwindow.h
Go to the documentation of this file.
1 /*
2  This file is part of Blogilo, A KDE Blogging Client
3 
4  Copyright (C) 2008-2010 Mehrdad Momeny <mehrdad.momeny@gmail.com>
5  Copyright (C) 2008-2010 Golnaz Nilieh <g382nilieh@gmail.com>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License or (at your option) version 3 or any later version
11  accepted by the membership of KDE e.V. (or its successor approved
12  by the membership of KDE e.V.), which shall act as a proxy
13  defined in Section 14 of version 3 of the license.
14 
15 
16  This program is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with this program; if not, see http://www.gnu.org/licenses/
23 */
24 
25 #ifndef MAINWINDOW_H
26 #define MAINWINDOW_H
27 
28 #include "bilbopost.h"
29 #include "bilboblog.h"
30 
31 #include <kxmlguiwindow.h>
32 
33 #include <QPointer>
34 
35 class KStatusNotifierItem;
36 class QProgressBar;
37 class QToolButton;
38 class Toolbox;
39 class KSelectAction;
40 class PostEntry;
41 class PostsTabWidget;
42 
50 namespace PimCommon {
51 class StorageServiceManager;
52 }
53 
54 class MainWindow : public KXmlGuiWindow
55 {
56  Q_OBJECT
57 public:
58  MainWindow();
59 
60  ~MainWindow();
61 
62 signals:
63  void mediaFilesUploaded( int count );
64  void settingsChanged();
65 
66 private slots:
67  void slotOpenCurrentBlogInBrowser();
68  void slotSettingsChanged();
69  void slotCreateNewPost();
70  void addBlog();
71  void slotPostTitleChanged( const QString& title );
72  void slotToggleToolboxVisible( bool isVisible );
73  void slotToolboxVisibilityChanged( bool isVisible );
74  void slotActivePostChanged( int tabIndex );
75  void slotNewPostOpened( BilboPost &newPost, int blog_id );
76 
77  void slotPublishPost();
78 
82  void slotRemovePostEntry( int post );
83 
84  void slotSavePostLocally();
85 
86  void slotError( const QString &errorMessage );
87 
91  void loadTempPosts();
92  void uploadMediaObject();
93 
94  void optionsPreferences();
95  void postManipulationDone( bool isError, const QString &customMessage );
96  void slotBusy( bool isBusy );
97  void slotShowStatusMessage(const QString &message, bool isPermanent);
98  void currentBlogChanged( QAction* );
99 
100  void slotBlogAdded( const BilboBlog &blog );
101  void slotBlogEdited( const BilboBlog &blog );
102  void slotBlogRemoved( int blog_id );
103 
104  void slotDialogDestroyed( QObject *win );
105 
106  void slotCloseTabClicked();
107  void slotRemoveAllExclude(int);
108 
109  void slotUploadFileDone(const QString &serviceName, const QString &filename);
110  void slotUploadFileFailed(const QString &serviceName, const QString &filename);
111  void slotActionFailed(const QString &serviceName, const QString &filename);
112 
113 protected:
114  void keyPressEvent( QKeyEvent * event );
115  void closeEvent( QCloseEvent *event );
116 
117 private:
118  void setCurrentBlog( int blog_id );
119  void setupActions();
120  void setupSystemTray();
121  void writeConfigs();
122  void initStorageService();
123  void setupStatusBar();
128  QWidget* createPostEntry(int blog_id, const BilboPost& post);
129 
130  Toolbox *toolbox;
131  QDockWidget *toolboxDock;
132  QPointer<PostEntry> activePost;
133  KStatusNotifierItem *systemTray;
134  PostsTabWidget *tabPosts;
135 
136  int previousActivePostIndex;
137 
138  int busyNumber;
139  QProgressBar *progress;
140 
141  KSelectAction *blogs;
142  int &mCurrentBlogId;
143  QToolButton *mCloseTabButton;
144  QToolButton *mNewTabButton;
145  PimCommon::StorageServiceManager *mStorageManager;
146 };
147 #endif
QProgressBar
QWidget
QDockWidget
PostsTabWidget
Definition: poststabwidget.h:24
QPointer< PostEntry >
MainWindow::closeEvent
void closeEvent(QCloseEvent *event)
Definition: mainwindow.cpp:190
BilboPost
Definition of a blog post! it's implemented to decrease dependency to KBlog :)
Definition: bilbopost.h:41
bilbopost.h
QCloseEvent
BilboBlog
Blog definition class!
Definition: bilboblog.h:40
KXmlGuiWindow
QObject
Toolbox
Definition: toolbox.h:37
PostEntry
Post Entry Widget contains Editor, and Title box.
Definition: postentry.h:40
QString
bilboblog.h
MainWindow::settingsChanged
void settingsChanged()
QToolButton
MainWindow::mediaFilesUploaded
void mediaFilesUploaded(int count)
MainWindow::keyPressEvent
void keyPressEvent(QKeyEvent *event)
Definition: mainwindow.cpp:577
QKeyEvent
MainWindow::MainWindow
MainWindow()
Definition: mainwindow.cpp:77
QAction
MainWindow::~MainWindow
~MainWindow()
Definition: mainwindow.cpp:140
MainWindow
Definition: mainwindow.h:54
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:32:16 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

blogilo

Skip menu "blogilo"
  • Main Page
  • Namespace List
  • 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