aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/addon/PackAddonDialog.h
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
committerGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
commitc601b5a27f74b16158adafe429faefbe573e64a2 (patch)
treea3cde3206a45628f8ac86e8dfbdab70b20c3a831 /src/modules/addon/PackAddonDialog.h
parentprobable compilation fix for rijndaled/crypto++ (diff)
downloadKVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.gz
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.bz2
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.zip
The big rename for modules. Still some details remaining.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5284 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/addon/PackAddonDialog.h')
-rw-r--r--src/modules/addon/PackAddonDialog.h252
1 files changed, 252 insertions, 0 deletions
diff --git a/src/modules/addon/PackAddonDialog.h b/src/modules/addon/PackAddonDialog.h
new file mode 100644
index 000000000..5819a8186
--- /dev/null
+++ b/src/modules/addon/PackAddonDialog.h
@@ -0,0 +1,252 @@
+#ifndef _PACKADDONDIALOG_H_
+#define _PACKADDONDIALOG_H_
+//=============================================================================
+//
+// File : PackAddonDialog.h
+// Creation date : Sat 03 May 2008 01:40:44 by Elvio Basello
+//
+// This file is part of the KVIrc IRC Client distribution
+// Copyright (C) 2008-2009 Elvio Basello <hellvis69 at netsons dot org>
+//
+// This program is FREE software. You can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your opinion) any later version.
+//
+// This program is distributed in the HOPE that it will be USEFUL,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, write to the Free Software Foundation,
+// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=============================================================================
+
+/**
+* \file PackAddonDialog.h
+* \author Elvio Basello
+* \brief Addon package creator
+*
+* This set of classes allow users to create addon for KVIrc in a standard
+* distributable *.kva packages.
+*/
+
+#include "kvi_settings.h"
+#include "KviPointerList.h"
+#include "KviSelectors.h"
+
+#include <QWizard>
+#include <QWizardPage>
+
+class QTextEdit;
+class QLineEdit;
+class QLabel;
+
+class KviPackageWriter;
+
+class PackAddonInfoPackageWidget;
+class PackAddonFileSelectionWidget;
+class PackAddonSaveSelectionWidget;
+class PackAddonSummaryInfoWidget;
+class PackAddonSummaryFilesWidget;
+
+/**
+* \class PackAddonDialog
+* \brief Wizard for addon creation
+*/
+class PackAddonDialog : public QWizard
+{
+ Q_OBJECT
+public:
+ /**
+ * \brief Creates the wizard object
+ * \param pParent The parent widget
+ * \return PackAddonDialog
+ */
+ PackAddonDialog(QWidget * pParent);
+
+ /**
+ * \brief Destroys the wizard object
+ */
+ ~PackAddonDialog();
+protected:
+ PackAddonInfoPackageWidget * m_pPackAddonInfoPackageWidget;
+ PackAddonFileSelectionWidget * m_pPackAddonFileSelectionWidget;
+ PackAddonSaveSelectionWidget * m_pPackAddonSaveSelectionWidget;
+ PackAddonSummaryInfoWidget * m_pPackAddonSummaryInfoWidget;
+ PackAddonSummaryFilesWidget * m_pPackAddonSummaryFilesWidget;
+ QString m_szAuthor;
+ QString m_szName;
+ QString m_szVersion;
+ QString m_szDescription;
+ QString m_szMinVersion;
+ QString m_szIcon;
+ QString m_szDirPath;
+ QString m_szSavePath;
+protected:
+ /**
+ * \brief Runs the packAddon() function and closes the wizard
+ * \return void
+ */
+ virtual void accept();
+
+ /**
+ * \brief Creates the addon package
+ * \return bool
+ */
+ bool packAddon();
+
+ /**
+ * \brief Ensures the sources directory is complete
+ * \param pszError The buffer containing errors
+ * \param pszWarning The buffer containing warnings
+ * \return bool
+ */
+ bool checkDirTree(QString * pszError, QString * pszWarning);
+
+ /**
+ * \brief Creates the installer file
+ * \param pszError The buffer containing errors
+ * \return bool
+ */
+ bool createInstaller(QString * pszError);
+};
+
+/**
+* \class PackAddonInfoPackageWidget
+* \brief Wizard page for addon information
+*/
+class PackAddonInfoPackageWidget : public QWizardPage
+{
+ Q_OBJECT
+public:
+ /**
+ * \brief Create the wizard package info page object
+ * \param pParent The parent widget
+ * \return PackAddonInfoPackageWidget
+ */
+ PackAddonInfoPackageWidget(PackAddonDialog * pParent);
+
+ /**
+ * \brief Destroys the wizard package info page object
+ */
+ ~PackAddonInfoPackageWidget();
+protected:
+ QLineEdit * m_pPackageAuthorEdit;
+ QLineEdit * m_pPackageNameEdit;
+ QLineEdit * m_pPackageVersionEdit;
+ QLineEdit * m_pPackageDescriptionEdit;
+ QLineEdit * m_pPackageMinVersionEdit;
+};
+
+/**
+* \class PackAddonFileSelectionWidget
+* \brief Wizard page for directory source selection
+*/
+class PackAddonFileSelectionWidget : public QWizardPage
+{
+ Q_OBJECT
+public:
+ /**
+ * \brief Create the wizard package source dir object
+ * \param pParent The parent widget
+ * \return PackAddonFileSelectionWidget
+ */
+ PackAddonFileSelectionWidget(PackAddonDialog * pParent);
+
+ /**
+ * \brief Destroys the wizard package source dir object
+ */
+ ~PackAddonFileSelectionWidget();
+protected:
+ KviDirectorySelector * m_pDirPathSelector;
+ KviFileSelector * m_pPackageIconEdit;
+ QString m_szDirPath;
+ QString m_szPackageIcon;
+};
+
+/**
+* \class PackAddonSaveSelectionWidget
+* \brief Wizard page for saving package
+*/
+class PackAddonSaveSelectionWidget : public QWizardPage
+{
+ Q_OBJECT
+public:
+ /**
+ * \brief Create the wizard save page object
+ * \param pParent The parent widget
+ * \return PackAddonSaveSelectionWidget
+ */
+ PackAddonSaveSelectionWidget(PackAddonDialog * pParent);
+
+ /**
+ * \brief Destroys the wizard save page object
+ */
+ ~PackAddonSaveSelectionWidget();
+protected:
+ KviFileSelector * m_pSavePathSelector;
+ QString m_szFilePath;
+protected:
+ /**
+ * \brief Perform initial tasks before showing the widget
+ * \return void
+ */
+ virtual void initializePage();
+};
+
+/**
+* \class PackAddonSummaryInfoWidget
+* \brief Wizard page for showing information inserted
+*/
+class PackAddonSummaryInfoWidget : public QWizardPage
+{
+ Q_OBJECT
+public:
+ /**
+ * \brief Create the wizard summary info page object
+ * \param pParent The parent widget
+ * \return PackAddonSummaryInfoWidget
+ */
+ PackAddonSummaryInfoWidget(PackAddonDialog * pParent);
+
+ /**
+ * \brief Destroys the wizard summary info page object
+ */
+ ~PackAddonSummaryInfoWidget();
+protected:
+ QLabel * m_pLabelInfo;
+ QLabel * m_pLabelAuthor;
+ QLabel * m_pPackageName;
+ QLabel * m_pPackageVersion;
+ QLabel * m_pPackageDescription;
+protected:
+ /**
+ * \brief Perform initial tasks before showing the widget
+ * \return void
+ */
+ virtual void initializePage();
+};
+
+
+class PackAddonSummaryFilesWidget : public QDialog
+{
+ Q_OBJECT
+public:
+ PackAddonSummaryFilesWidget(PackAddonDialog * pParent);
+ ~PackAddonSummaryFilesWidget();
+protected:
+ QTextEdit * m_pFiles;
+ QString m_szPath;
+public:
+ void setPath(QString & szPath){ m_szPath = szPath; };
+protected:
+ virtual void showEvent(QShowEvent *);
+protected slots:
+ virtual void accept();
+ virtual void reject();
+};
+
+#endif //!_PACKADDONDIALOG_H_