Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2015-11-05 11:58:16 +0300
committerRoeland Jago Douma <rullzer@owncloud.com>2015-11-05 11:58:16 +0300
commit3e4612a1f0c66e522d84359a479c1fc0e2f2c85b (patch)
tree0f84ecac37d6705fb69c6786a59a0fe25a831596 /src/gui/sharelinkwidget.h
parent90cbd461ab3e7ce6c4a5bf5aa03117409f65e2ab (diff)
[Sharing] Reorganized sharedialog code
Now we have 1 simple dialog that includes 2 widgets. * ShareLinkWidget (for link shares) * ShareUserGroupWidget (for user/group shares) The ShareUserGroupWidget is only included if the server version is >= 8.2.0 For <8.2.0 the old behavior is preserved
Diffstat (limited to 'src/gui/sharelinkwidget.h')
-rw-r--r--src/gui/sharelinkwidget.h114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/gui/sharelinkwidget.h b/src/gui/sharelinkwidget.h
new file mode 100644
index 000000000..6fb78ffad
--- /dev/null
+++ b/src/gui/sharelinkwidget.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) by Roeland Jago Douma <roeland@famdouma.nl>
+ * Copyright (C) 2015 by Klaas Freitag <freitag@owncloud.com>
+ *
+ * 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; version 2 of the License.
+ *
+ * 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.
+ */
+
+#ifndef SHARELINKWIDGET_H
+#define SHARELINKWIDGET_H
+
+#include "accountfwd.h"
+#include "QProgressIndicator.h"
+#include <QDialog>
+#include <QVariantMap>
+#include <QSharedPointer>
+#include <QList>
+
+namespace OCC {
+
+namespace Ui {
+class ShareLinkWidget;
+}
+
+class AbstractCredentials;
+class QuotaInfo;
+class SyncResult;
+class LinkShare;
+class Share;
+class ShareManager;
+
+/**
+ * @brief The ShareDialog class
+ * @ingroup gui
+ */
+class ShareLinkWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit ShareLinkWidget(AccountPtr account,
+ const QString &sharePath,
+ const QString &localPath,
+ bool resharingAllowed,
+ bool autoShare = false,
+ QWidget *parent = 0);
+ ~ShareLinkWidget();
+ void getShares();
+
+private slots:
+ void slotSharesFetched(const QList<QSharedPointer<Share>> &shares);
+ void slotCreateShareFetched(const QSharedPointer<LinkShare> share);
+ void slotCreateShareRequiresPassword();
+ void slotDeleteShareFetched();
+ void slotPasswordSet();
+ void slotExpireSet();
+ void slotCalendarClicked(const QDate &date);
+ void slotCheckBoxShareLinkClicked();
+ void slotCheckBoxPasswordClicked();
+ void slotCheckBoxExpireClicked();
+ void slotPasswordReturnPressed();
+ void slotPasswordChanged(const QString& newText);
+ void slotPushButtonCopyLinkPressed();
+ void slotCheckBoxEditingClicked();
+ void slotPublicUploadSet();
+
+ void displayError(int code, const QString &message);
+
+private:
+ void setShareCheckBoxTitle(bool haveShares);
+ void displayError(int code);
+ void displayError(const QString& errMsg);
+ void setShareLink( const QString& url );
+ void resizeEvent(QResizeEvent *e);
+ void redrawElidedUrl();
+ void setPublicUpload(bool publicUpload);
+
+ Ui::ShareLinkWidget *_ui;
+ AccountPtr _account;
+ QString _sharePath;
+ QString _localPath;
+ QString _shareUrl;
+#if 0
+ QString _folderAlias;
+ int _uploadFails;
+ QString _expectedSyncFile;
+#endif
+
+ bool _passwordJobRunning;
+ void setPassword(const QString &password);
+ void setExpireDate(const QDate &date);
+
+ QProgressIndicator *_pi_link;
+ QProgressIndicator *_pi_password;
+ QProgressIndicator *_pi_date;
+ QProgressIndicator *_pi_editing;
+
+ ShareManager *_manager;
+ QSharedPointer<LinkShare> _share;
+
+ bool _resharingAllowed;
+ bool _isFile;
+ bool _autoShare;
+};
+
+}
+
+#endif // SHARELINKWIDGET_H