From ca0a441f3b2f693e1e6a17354cf2a13e277652e8 Mon Sep 17 00:00:00 2001 From: chelovechishko Date: Mon, 9 May 2022 00:27:50 +0900 Subject: [PATCH] gui: file: add power to change font size for displayed shared files Added one more settings group "File". --- .../gui/FileTransfer/SharedFilesDialog.cpp | 23 ++++++++++--- .../src/gui/FileTransfer/SharedFilesDialog.h | 2 ++ .../src/gui/FileTransfer/SharedFilesDialog.ui | 5 --- .../src/gui/settings/TransferPage.cpp | 12 +++++++ .../src/gui/settings/TransferPage.h | 1 + .../src/gui/settings/TransferPage.ui | 34 +++++++++++++++++++ 6 files changed, 67 insertions(+), 10 deletions(-) diff --git a/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.cpp b/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.cpp index a88784c12..14ffca561 100644 --- a/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.cpp @@ -241,10 +241,6 @@ SharedFilesDialog::SharedFilesDialog(bool remote_mode, QWidget *parent) /* Set Multi Selection */ ui.dirTreeView->setSelectionMode(QAbstractItemView::ExtendedSelection); - QFontMetricsF fontMetrics(ui.dirTreeView->font()); - int iconHeight = fontMetrics.height() * 1.5; - ui.dirTreeView->setIconSize(QSize(iconHeight, iconHeight)); - /* Hide platform specific features */ copylinkAct = new QAction(QIcon(IMAGE_COPYLINK), tr( "Copy retroshare Links to Clipboard" ), this ); connect( copylinkAct , SIGNAL( triggered() ), this, SLOT( copyLink() ) ); @@ -323,7 +319,7 @@ void SharedFilesDialog::hideEvent(QHideEvent *) model->setVisible(false) ; } -void SharedFilesDialog::showEvent(QShowEvent *) +void SharedFilesDialog::showEvent(QShowEvent *event) { if(model!=NULL) { @@ -336,6 +332,10 @@ void SharedFilesDialog::showEvent(QShowEvent *) restoreExpandedPathsAndSelection(expanded_indexes,hidden_indexes,selected_indexes); } + + if (!event->spontaneous()) { + updateFontSize(); + } } RemoteSharedFilesDialog::~RemoteSharedFilesDialog() { @@ -1686,3 +1686,16 @@ bool SharedFilesDialog::tree_FilterItem(const QModelIndex &index, const QString return (visible || visibleChildCount); } #endif + +void SharedFilesDialog::updateFontSize() +{ + int customFontSize = Settings->valueFromGroup("File", "MinimumFontSize", 11).toInt(); + QFont newFont = ui.dirTreeView->font(); + if (newFont.pointSize() != customFontSize) { + newFont.setPointSize(customFontSize); + QFontMetricsF fontMetrics(newFont); + int iconHeight = fontMetrics.height(); + ui.dirTreeView->setFont(newFont); + ui.dirTreeView->setIconSize(QSize(iconHeight, iconHeight)); + } +} diff --git a/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.h b/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.h index c406821c9..7524d5035 100644 --- a/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.h +++ b/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.h @@ -117,6 +117,8 @@ protected: QModelIndexList getSelected(); + void updateFontSize(); + /** Defines the actions for the context menu for QTreeWidget */ QAction* copylinkAct; QAction* sendlinkAct; diff --git a/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.ui b/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.ui index b732d0464..dbcba0011 100644 --- a/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.ui +++ b/retroshare-gui/src/gui/FileTransfer/SharedFilesDialog.ui @@ -356,11 +356,6 @@ border-image: url(:/images/closepressed.png) 0 - - - 11 - - Qt::CustomContextMenu diff --git a/retroshare-gui/src/gui/settings/TransferPage.cpp b/retroshare-gui/src/gui/settings/TransferPage.cpp index 2faa8d5f7..3575a5479 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.cpp +++ b/retroshare-gui/src/gui/settings/TransferPage.cpp @@ -53,6 +53,7 @@ TransferPage::TransferPage(QWidget * parent, Qt::WindowFlags flags) QObject::connect(ui.partialButton, SIGNAL(clicked( bool ) ), this , SLOT( setPartialsDirectory() ) ); QObject::connect(ui.editShareButton, SIGNAL(clicked()), this, SLOT(editDirectories())); QObject::connect(ui.autoCheckDirectories_CB, SIGNAL(clicked(bool)), this, SLOT(toggleAutoCheckDirectories(bool))); + QObject::connect(ui.minimumFontSize_SB, SIGNAL(valueChanged(int)), this, SLOT(updateFontSize())) ; QObject::connect(ui.autoCheckDirectories_CB, SIGNAL(toggled(bool)), this,SLOT(updateAutoCheckDirectories())) ; QObject::connect(ui.autoCheckDirectoriesDelay_SB,SIGNAL(valueChanged(int)),this,SLOT(updateAutoScanDirectoriesPeriod())) ; @@ -188,6 +189,10 @@ void TransferPage::load() whileBlocking(ui.suffixesIgnoreList_CB)->setChecked( ignore_flags & RS_FILE_SHARE_FLAGS_IGNORE_SUFFIXES ) ; whileBlocking(ui.prefixesIgnoreList_LE)->setText( ignore_prefixes_string ); whileBlocking(ui.suffixesIgnoreList_LE)->setText( ignore_suffixes_string ); + + Settings->beginGroup(QString("File")); + whileBlocking(ui.minimumFontSize_SB)->setValue( Settings->value("MinimumFontSize", 11 ).toInt()); + Settings->endGroup(); } void TransferPage::updateDefaultStrategy(int i) @@ -290,6 +295,13 @@ void TransferPage::editDirectories() ShareManager::showYourself() ; } +void TransferPage::updateFontSize() +{ + Settings->beginGroup(QString("File")); + Settings->setValue("MinimumFontSize", ui.minimumFontSize_SB->value()); + Settings->endGroup(); +} + void TransferPage::updateAutoCheckDirectories() { rsFiles->setWatchEnabled(ui.autoCheckDirectories_CB->isChecked()) ; } void TransferPage::updateAutoScanDirectoriesPeriod() { rsFiles->setWatchPeriod(ui.autoCheckDirectoriesDelay_SB->value()); } void TransferPage::updateShareDownloadDirectory() { rsFiles->shareDownloadDirectory(ui.shareDownloadDirectoryCB->isChecked());} diff --git a/retroshare-gui/src/gui/settings/TransferPage.h b/retroshare-gui/src/gui/settings/TransferPage.h index 19ceedfca..1a88d29d5 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.h +++ b/retroshare-gui/src/gui/settings/TransferPage.h @@ -58,6 +58,7 @@ class TransferPage: public ConfigPage void updateAutoDLColl(); void setPartialsDirectory(); void toggleAutoCheckDirectories(bool); + void updateFontSize(); void updateAutoCheckDirectories() ; void updateAutoScanDirectoriesPeriod() ; diff --git a/retroshare-gui/src/gui/settings/TransferPage.ui b/retroshare-gui/src/gui/settings/TransferPage.ui index 982df905e..282c5ff51 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.ui +++ b/retroshare-gui/src/gui/settings/TransferPage.ui @@ -299,6 +299,40 @@ p, li { white-space: pre-wrap; } + + + + + Minimum font size for Shared Files + + + + + + + 11 + + + 64 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + Qt::Vertical