connect(_ui->calendar, SIGNAL(dateChanged(QDate)), SLOT(slotExpireDateChanged(QDate)));
connect(_ui->checkBox_editing, SIGNAL(clicked()), this, SLOT(slotCheckBoxEditingClicked()));
+ _ui->errorLabel->hide();
+
+ bool sharingPossible = true;
if (!_account->capabilities().sharePublicLink()) {
displayError(tr("Link shares have been disabled"));
- _ui->nameLineEdit->setEnabled(false);
- _ui->createShareButton->setEnabled(false);
+ sharingPossible = false;
} else if (!(maxSharingPermissions & SharePermissionShare)) {
displayError(tr("The file can not be shared because it was shared without sharing permission."));
+ sharingPossible = false;
+ }
+ if (!sharingPossible) {
_ui->nameLineEdit->setEnabled(false);
_ui->createShareButton->setEnabled(false);
}
return;
}
- _ui->errorLabel->hide();
-
// Parse capabilities
/*
* Create the share manager and connect it properly
*/
- _manager = new ShareManager(_account, this);
-
- connect(_manager, SIGNAL(sharesFetched(QList<QSharedPointer<Share>>)), SLOT(slotSharesFetched(QList<QSharedPointer<Share>>)));
- connect(_manager, SIGNAL(linkShareCreated(QSharedPointer<LinkShare>)), SLOT(slotCreateShareFetched(const QSharedPointer<LinkShare>)));
- connect(_manager, SIGNAL(linkShareRequiresPassword(QString)), SLOT(slotCreateShareRequiresPassword(QString)));
- connect(_manager, SIGNAL(serverError(int, QString)), SLOT(slotServerError(int, QString)));
+ if (sharingPossible) {
+ _manager = new ShareManager(_account, this);
+ connect(_manager, SIGNAL(sharesFetched(QList<QSharedPointer<Share>>)), SLOT(slotSharesFetched(QList<QSharedPointer<Share>>)));
+ connect(_manager, SIGNAL(linkShareCreated(QSharedPointer<LinkShare>)), SLOT(slotCreateShareFetched(const QSharedPointer<LinkShare>)));
+ connect(_manager, SIGNAL(linkShareRequiresPassword(QString)), SLOT(slotCreateShareRequiresPassword(QString)));
+ connect(_manager, SIGNAL(serverError(int, QString)), SLOT(slotServerError(int, QString)));
+ }
}
ShareLinkWidget::~ShareLinkWidget()
void ShareLinkWidget::getShares()
{
- _manager->fetchShares(_sharePath);
+ if (_manager) {
+ _manager->fetchShares(_sharePath);
+ }
}
void ShareLinkWidget::slotSharesFetched(const QList<QSharedPointer<Share>> &shares)
void ShareLinkWidget::slotPasswordReturnPressed()
{
+ if (!_manager) {
+ return;
+ }
if (!selectedShare()) {
// If share creation requires a password, we'll be in this case
if (_ui->lineEdit_password->text().isEmpty()) {
void ShareLinkWidget::slotShareNameEntered()
{
+ if (!_manager) {
+ return;
+ }
_pi_create->startAnimation();
_manager->createLinkShare(_sharePath, _ui->nameLineEdit->text(), QString());
}