Warning, file /sdk/kdesvn/src/kdesvn_part.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /***************************************************************************
0002  *   Copyright (C) 2005-2009 by Rajko Albrecht                             *
0003  *   ral@alwins-world.de                                                   *
0004  *                                                                         *
0005  *   This program is free software; you can redistribute it and/or modify  *
0006  *   it under the terms of the GNU General Public License as published by  *
0007  *   the Free Software Foundation; either version 2 of the License, or     *
0008  *   (at your option) any later version.                                   *
0009  *                                                                         *
0010  *   This program is distributed in the hope that it will be useful,       *
0011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
0012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
0013  *   GNU General Public License for more details.                          *
0014  *                                                                         *
0015  *   You should have received a copy of the GNU General Public License     *
0016  *   along with this program; if not, write to the                         *
0017  *   Free Software Foundation, Inc.,                                       *
0018  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
0019  ***************************************************************************/
0020 
0021 #ifndef KDESVN_PART_H
0022 #define KDESVN_PART_H
0023 
0024 #include "kdesvn-config.h"
0025 
0026 #include <kparts/readonlypart.h>
0027 #include <kparts/readwritepart.h>
0028 #include <kparts/statusbarextension.h>
0029 #include <kparts/browserextension.h>
0030 
0031 #include <KAboutData>
0032 
0033 class kdesvnView;
0034 class KdesvnBrowserExtension;
0035 class KAboutApplicationDialog;
0036 
0037 /**
0038  * This is a "Part".  It that does all the real work in a KPart
0039  * application.
0040  *
0041  * @short Main Part
0042  * @author Rajko Albrecht <ral@alwins-world.de>
0043  * @version 0.1
0044  */
0045 class kdesvnpart : public KParts::ReadOnlyPart
0046 {
0047     Q_OBJECT
0048 public:
0049     /**
0050      * Default constructor
0051      */
0052     kdesvnpart(QWidget *parentWidget,
0053                QObject *parent, const QVariantList &args = QVariantList());
0054 
0055     kdesvnpart(QWidget *parentWidget,
0056                QObject *parent, bool ownapp, const QVariantList &args = QVariantList());
0057 
0058     /**
0059      * Destructor
0060      */
0061     ~kdesvnpart();
0062     bool closeUrl() override;
0063 
0064 Q_SIGNALS:
0065     void refreshTree();
0066     void settingsChanged();
0067 
0068 public slots:
0069     virtual void slotDispPopup(const QString &, QWidget **target);
0070     virtual void slotFileProperties();
0071     bool openUrl(const QUrl &) override;
0072     virtual void slotSshAdd();
0073     virtual void showDbStatus();
0074 
0075 protected:
0076     /**
0077      * This must be implemented by each part
0078      */
0079     bool openFile() override;
0080     virtual void setupActions();
0081     KAboutApplicationDialog *m_aboutDlg;
0082 
0083     void init(QWidget *parentWidget, bool full);
0084 
0085 protected slots:
0086     virtual void slotLogFollowNodes(bool);
0087     virtual void slotDisplayIgnored(bool);
0088     virtual void slotDisplayUnkown(bool);
0089     void slotUrlChanged(const QUrl &);
0090     void showAboutApplication();
0091     void appHelpActivated();
0092     virtual void slotShowSettings();
0093 
0094 private:
0095     kdesvnView *m_view;
0096     KdesvnBrowserExtension *m_browserExt;
0097 
0098 protected slots:
0099     void slotSettingsChanged(const QString &);
0100 
0101 protected slots:
0102     virtual void slotHideUnchanged(bool);
0103     virtual void slotEnableNetwork(bool);
0104 };
0105 
0106 class commandline_part;
0107 class KCmdLineArgs;
0108 
0109 class KdesvnBrowserExtension : public KParts::BrowserExtension
0110 {
0111     Q_OBJECT
0112 public:
0113     explicit KdesvnBrowserExtension(kdesvnpart *);
0114     ~KdesvnBrowserExtension();
0115 
0116 public slots:
0117     void properties();
0118 };
0119 
0120 #endif // _KDESVNPART_H_