FolderStatusDelegate *delegate = new FolderStatusDelegate;
delegate->setParent(this);
+ // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
+ connect(this, &AccountSettings::styleChanged, delegate, &FolderStatusDelegate::slotStyleChanged);
+
ui->_folderList->header()->hide();
ui->_folderList->setItemDelegate(delegate);
ui->_folderList->setModel(_model);
connect(this, &AccountSettings::folderChanged, _model, &FolderStatusModel::resetFolders);
- QColor color = palette().highlight().color();
- ui->quotaProgressBar->setStyleSheet(QString::fromLatin1(progressBarStyleC).arg(color.name()));
+ // quotaProgressBar style now set in customizeStyle()
+ /*QColor color = palette().highlight().color();
+ ui->quotaProgressBar->setStyleSheet(QString::fromLatin1(progressBarStyleC).arg(color.name()));*/
ui->connectLabel->setText(tr("No account configured."));
void AccountSettings::slotStyleChanged()
{
customizeStyle();
+
+ // Notify the other widgets (Dark-/Light-Mode switching)
+ emit styleChanged();
}
void AccountSettings::customizeStyle()
QString msg = ui->connectLabel->text();
Theme::replaceLinkColorStringBackgroundAware(msg);
ui->connectLabel->setText(msg);
+
+ QColor color = palette().highlight().color();
+ ui->quotaProgressBar->setStyleSheet(QString::fromLatin1(progressBarStyleC).arg(color.name()));
}
} // namespace OCC
void showIssuesList(AccountState *account);
void requesetMnemonic();
void removeAccountFolders(AccountState *account);
+ void styleChanged();
public slots:
void slotOpenOC();
this, &ActivityWidget::addError);
_removeTimer.setInterval(1000);
+
+ // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
+ connect(this, &ActivityWidget::styleChanged, delegate, &ActivityItemDelegate::slotStyleChanged);
}
ActivityWidget::~ActivityWidget()
qCInfo(lcActivity) << "Server Notification reply code" << replyCode << reply;
}
+void ActivityWidget::slotStyleChanged()
+{
+ // Notify the other widgets (Dark-/Light-Mode switching)
+ emit styleChanged();
+}
+
/* ==================================================================== */
ActivitySettings::ActivitySettings(AccountState *accountState, QWidget *parent)
// connect a model signal to stop the animation
connect(_activityWidget, &ActivityWidget::rowsInserted, _progressIndicator, &QProgressIndicator::stopAnimation);
connect(_activityWidget, &ActivityWidget::rowsInserted, this, &ActivitySettings::slotDisplayActivities);
+
+ // Connect styleChanged events to our widgets, so they can adapt (Dark-/Light-Mode switching)
+ connect(this, &ActivitySettings::styleChanged, _activityWidget, &ActivityWidget::slotStyleChanged);
}
void ActivitySettings::slotDisplayActivities(){
ActivitySettings::~ActivitySettings()
{
}
+
+void ActivitySettings::slotStyleChanged()
+{
+ // Notify the other widgets (Dark-/Light-Mode switching)
+ emit styleChanged();
+}
+
}
void addError(const QString &folderAlias, const QString &message, ErrorCategory category);
void slotProgressInfo(const QString &folder, const ProgressInfo &progress);
void slotItemCompleted(const QString &folder, const SyncFileItemPtr &item);
+ void slotStyleChanged();
signals:
void guiLog(const QString &, const QString &);
void rowsInserted();
void hideActivityTab(bool);
void sendNotificationRequest(const QString &accountName, const QString &link, const QByteArray &verb, int row);
+ void styleChanged();
private slots:
void slotBuildNotificationDisplay(const ActivityList &list);
void slotSecondaryButtonClickedOnListView(const QModelIndex &index);
private:
+ void customizeStyle();
void showLabels();
QString timeString(QDateTime dt, QLocale::FormatType format) const;
Ui::ActivityWidget *_ui;
void slotRefresh();
void slotRemoveAccount();
void setNotificationRefreshInterval(std::chrono::milliseconds interval);
+ void slotStyleChanged();
private slots:
void slotRegularNotificationCheck();
signals:
void guiLog(const QString &, const QString &);
+ void styleChanged();
private:
bool event(QEvent *e) override;
FolderStatusDelegate::FolderStatusDelegate()
: QStyledItemDelegate()
{
- m_moreIcon = QIcon(QLatin1String(":/client/resources/more.svg"));
+ customizeStyle();
}
QString FolderStatusDelegate::addFolderText()
btnOpt.arrowType = Qt::NoArrow;
btnOpt.subControls = QStyle::SC_ToolButton;
btnOpt.rect = optionsButtonVisualRect;
- btnOpt.icon = m_moreIcon;
+ btnOpt.icon = _iconMore;
int e = QApplication::style()->pixelMetric(QStyle::PM_ButtonIconSize);
btnOpt.iconSize = QSize(e,e);
QApplication::style()->drawComplexControl(QStyle::CC_ToolButton, &btnOpt, painter);
return within;
}
+void FolderStatusDelegate::slotStyleChanged()
+{
+ customizeStyle();
+}
+
+void FolderStatusDelegate::customizeStyle()
+{
+ _iconMore = Theme::createColorAwareIcon(QLatin1String(":/client/resources/more.svg"));
+}
} // namespace OCC
{
Q_OBJECT
public:
- QIcon m_moreIcon;
FolderStatusDelegate();
enum datarole { FolderAliasRole = Qt::UserRole + 100,
static QRect errorsListRect(QRect within);
static int rootFolderHeightWithoutErrors(const QFontMetrics &fm, const QFontMetrics &aliasFm);
+public slots:
+ void slotStyleChanged();
+
private:
+ void customizeStyle();
+
static QString addFolderText();
QPersistentModelIndex _pressedIndex;
+
+ QIcon _iconMore;
};
} // namespace OCC
_actionGroupWidgets.insert(accountAction, accountSettings);
_actionForAccount.insert(s->account().data(), accountAction);
accountAction->trigger();
-
- // Connect styleChanged event, to adapt (Dark-/Light-Mode switching)
- connect(this, &SettingsDialog::styleChanged, accountSettings, &AccountSettings::slotStyleChanged);
connect(accountSettings, &AccountSettings::folderChanged, _gui, &ownCloudGui::slotFoldersChanged);
connect(accountSettings, &AccountSettings::openFolderAlias,
// Refresh immediatly when getting online
connect(s, &AccountState::isConnectedChanged, this, &SettingsDialog::slotRefreshActivityAccountStateSender);
+ // Connect styleChanged event, to adapt (Dark-/Light-Mode switching)
+ connect(this, &SettingsDialog::styleChanged, accountSettings, &AccountSettings::slotStyleChanged);
+ connect(this, &SettingsDialog::styleChanged, _activitySettings[s], &ActivitySettings::slotStyleChanged);
+
activityAdded(s);
slotRefreshActivity(s);
}