mirror of
https://github.com/kiwix/kiwix-desktop.git
synced 2025-08-03 20:56:49 -04:00
Monitor path setting QOL improvements
This commit is contained in:
parent
3ee2537baf
commit
1f7795112b
@ -43,12 +43,12 @@ QPushButton:hover {
|
|||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#downloadDirPathCopy {
|
#downloadDirPathCopy, #monitorDirPathCopy {
|
||||||
background-color: none;
|
background-color: none;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#downloadDirPathCopy:hover {
|
#downloadDirPathCopy:hover, #monitorDirPathCopy:hover {
|
||||||
background-color: #D9E9FF;
|
background-color: #D9E9FF;
|
||||||
border: 1px solid #3366CC;
|
border: 1px solid #3366CC;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
QString formatDownloadDir(const QString& input) {
|
QString formatSettingsDir(const QString& input) {
|
||||||
const int maxLength = 40;
|
const int maxLength = 40;
|
||||||
if (input.length() > maxLength) {
|
if (input.length() > maxLength) {
|
||||||
QString suffix = input.right(maxLength);
|
QString suffix = input.right(maxLength);
|
||||||
@ -24,13 +24,19 @@ SettingsView::SettingsView(QWidget *parent)
|
|||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
, ui(new Ui::Settings)
|
, ui(new Ui::Settings)
|
||||||
{
|
{
|
||||||
|
SettingsManager *settingsMgr = KiwixApp::instance()->getSettingsManager();
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->widget->setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/_settingsManager.css"));
|
ui->widget->setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/_settingsManager.css"));
|
||||||
connect(ui->zoomPercentSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &SettingsView::setZoom);
|
connect(ui->zoomPercentSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &SettingsView::setZoom);
|
||||||
connect(ui->moveToTrashToggle, &QCheckBox::clicked, this, &SettingsView::setMoveToTrash);
|
connect(ui->moveToTrashToggle, &QCheckBox::clicked, this, &SettingsView::setMoveToTrash);
|
||||||
connect(ui->reopenTabToggle, &QCheckBox::clicked, this, &SettingsView::setReopenTab);
|
connect(ui->reopenTabToggle, &QCheckBox::clicked, this, &SettingsView::setReopenTab);
|
||||||
connect(ui->browseButton, &QPushButton::clicked, this, &SettingsView::browseDownloadDir);
|
connect(ui->browseButton, &QPushButton::clicked, this, &SettingsView::browseDownloadDir);
|
||||||
connect(ui->downloadDirPathCopy, &QPushButton::clicked, this, &SettingsView::copyDownloadPathToClipboard);
|
connect(ui->downloadDirPathCopy, &QPushButton::clicked, [this, settingsMgr]() {
|
||||||
|
copySettingsPathToClipboard(settingsMgr->getDownloadDir(), ui->downloadDirPathCopy);
|
||||||
|
});
|
||||||
|
connect(ui->monitorDirPathCopy, &QPushButton::clicked, [this, settingsMgr]() {
|
||||||
|
copySettingsPathToClipboard(settingsMgr->getMonitorDir(), ui->monitorDirPathCopy);
|
||||||
|
});
|
||||||
connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir);
|
connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir);
|
||||||
connect(ui->monitorBrowse, &QPushButton::clicked, this, &SettingsView::browseMonitorDir);
|
connect(ui->monitorBrowse, &QPushButton::clicked, this, &SettingsView::browseMonitorDir);
|
||||||
connect(ui->monitorClear, &QPushButton::clicked, this, &SettingsView::clearMonitorDir);
|
connect(ui->monitorClear, &QPushButton::clicked, this, &SettingsView::clearMonitorDir);
|
||||||
@ -50,6 +56,8 @@ SettingsView::SettingsView(QWidget *parent)
|
|||||||
QIcon copyIcon(":/icons/copy.svg");
|
QIcon copyIcon(":/icons/copy.svg");
|
||||||
ui->downloadDirPathCopy->setIcon(copyIcon);
|
ui->downloadDirPathCopy->setIcon(copyIcon);
|
||||||
ui->downloadDirPathCopy->setIconSize(QSize(24, 24));
|
ui->downloadDirPathCopy->setIconSize(QSize(24, 24));
|
||||||
|
ui->monitorDirPathCopy->setIcon(copyIcon);
|
||||||
|
ui->monitorDirPathCopy->setIconSize(QSize(24, 24));
|
||||||
ui->monitorHelp->setText("<b>?</b>");
|
ui->monitorHelp->setText("<b>?</b>");
|
||||||
ui->monitorHelp->setToolTip(gt("monitor-directory-tooltip"));
|
ui->monitorHelp->setToolTip(gt("monitor-directory-tooltip"));
|
||||||
ui->moveToTrashLabel->setText(gt("move-files-to-trash"));
|
ui->moveToTrashLabel->setText(gt("move-files-to-trash"));
|
||||||
@ -68,10 +76,7 @@ void SettingsView::init(int zoomPercent, const QString &downloadDir,
|
|||||||
{
|
{
|
||||||
ui->zoomPercentSpinBox->setValue(zoomPercent);
|
ui->zoomPercentSpinBox->setValue(zoomPercent);
|
||||||
SettingsView::onDownloadDirChanged(downloadDir);
|
SettingsView::onDownloadDirChanged(downloadDir);
|
||||||
if (monitorDir == QString()) {
|
SettingsView::onMonitorDirChanged(monitorDir);
|
||||||
ui->monitorClear->hide();
|
|
||||||
}
|
|
||||||
ui->monitorDirPath->setText(monitorDir);
|
|
||||||
ui->moveToTrashToggle->setChecked(moveToTrash);
|
ui->moveToTrashToggle->setChecked(moveToTrash);
|
||||||
ui->reopenTabToggle->setChecked(reopentab);
|
ui->reopenTabToggle->setChecked(reopentab);
|
||||||
}
|
}
|
||||||
@ -176,27 +181,23 @@ void SettingsView::setReopenTab(bool reopen)
|
|||||||
|
|
||||||
void SettingsView::onDownloadDirChanged(const QString &dir)
|
void SettingsView::onDownloadDirChanged(const QString &dir)
|
||||||
{
|
{
|
||||||
ui->downloadDirPath->setText(formatDownloadDir(dir));
|
ui->downloadDirPath->setText(formatSettingsDir(dir));
|
||||||
ui->downloadDirPath->setToolTip(dir);
|
ui->downloadDirPath->setToolTip(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsView::copyDownloadPathToClipboard()
|
void SettingsView::copySettingsPathToClipboard(QString pathToCopy, QPushButton* button)
|
||||||
{
|
{
|
||||||
QString downloadPath = KiwixApp::instance()->getSettingsManager()->getDownloadDir();
|
QApplication::clipboard()->setText(pathToCopy);
|
||||||
QApplication::clipboard()->setText(downloadPath);
|
QPoint globalPos = button->mapToGlobal(QPoint(0, -button->height()));
|
||||||
|
QToolTip::showText(globalPos, gt("path-was-copied"), button);
|
||||||
QPoint globalPos = ui->downloadDirPathCopy->mapToGlobal(QPoint(0, -ui->downloadDirPathCopy->height()));
|
|
||||||
QToolTip::showText(globalPos, gt("path-was-copied"), ui->downloadDirPathCopy);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsView::onMonitorDirChanged(const QString &dir)
|
void SettingsView::onMonitorDirChanged(const QString &dir)
|
||||||
{
|
{
|
||||||
if (dir == "") {
|
ui->monitorClear->setVisible(!dir.isEmpty());
|
||||||
ui->monitorClear->hide();
|
ui->monitorDirPathCopy->setVisible(!dir.isEmpty());
|
||||||
} else {
|
ui->monitorDirPath->setText(formatSettingsDir(dir));
|
||||||
ui->monitorClear->show();
|
ui->monitorDirPath->setToolTip(dir);
|
||||||
}
|
|
||||||
ui->monitorDirPath->setText(dir);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsView::onZoomChanged(qreal zoomFactor)
|
void SettingsView::onZoomChanged(qreal zoomFactor)
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#define SETTINGSVIEW_H
|
#define SETTINGSVIEW_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
#include <QPushButton>
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class Settings;
|
class Settings;
|
||||||
}
|
}
|
||||||
@ -23,7 +24,7 @@ public:
|
|||||||
void setMoveToTrash(bool moveToTrash);
|
void setMoveToTrash(bool moveToTrash);
|
||||||
void setReopenTab(bool reopen);
|
void setReopenTab(bool reopen);
|
||||||
void onDownloadDirChanged(const QString &dir);
|
void onDownloadDirChanged(const QString &dir);
|
||||||
void copyDownloadPathToClipboard();
|
void copySettingsPathToClipboard(QString pathToCopy, QPushButton* button);
|
||||||
void onMonitorDirChanged(const QString &dir);
|
void onMonitorDirChanged(const QString &dir);
|
||||||
void onZoomChanged(qreal zoomFactor);
|
void onZoomChanged(qreal zoomFactor);
|
||||||
void onMoveToTrashChanged(bool moveToTrash);
|
void onMoveToTrashChanged(bool moveToTrash);
|
||||||
|
@ -258,6 +258,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="monitorDirPathCopy">
|
||||||
|
<property name="text">
|
||||||
|
<string></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user