mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-28 05:27:15 +03:00
Don't resize dialog with invalid sizes
This fixes wrong dialog sizes on first startup.
This commit is contained in:
parent
3fd0241abb
commit
fcf50820e8
21 changed files with 64 additions and 64 deletions
|
@ -45,7 +45,6 @@
|
|||
#include <QLocale>
|
||||
#include <QNetworkCookie>
|
||||
#include <QSettings>
|
||||
#include <QSize>
|
||||
#include <QTime>
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
|
@ -1371,34 +1370,6 @@ void Preferences::setPropTrackerListState(const QByteArray &state)
|
|||
#endif
|
||||
}
|
||||
|
||||
QSize Preferences::getRssGeometrySize() const
|
||||
{
|
||||
return value<QSize>(u"RssFeedDownloader/geometrySize"_qs);
|
||||
}
|
||||
|
||||
void Preferences::setRssGeometrySize(const QSize &geometry)
|
||||
{
|
||||
setValue(u"RssFeedDownloader/geometrySize"_qs, geometry);
|
||||
}
|
||||
|
||||
QByteArray Preferences::getRssHSplitterSizes() const
|
||||
{
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
|
||||
return value<QByteArray>(u"GUI/Qt6/RSSFeedDownloader/HSplitterSizes"_qs);
|
||||
#else
|
||||
return value<QByteArray>(u"RssFeedDownloader/qt5/hsplitterSizes"_qs);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Preferences::setRssHSplitterSizes(const QByteArray &sizes)
|
||||
{
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
|
||||
setValue(u"GUI/Qt6/RSSFeedDownloader/HSplitterSizes"_qs, sizes);
|
||||
#else
|
||||
setValue(u"RssFeedDownloader/qt5/hsplitterSizes"_qs, sizes);
|
||||
#endif
|
||||
}
|
||||
|
||||
QStringList Preferences::getRssOpenFolders() const
|
||||
{
|
||||
return value<QStringList>(u"GUI/RSSWidget/OpenedFolders"_qs);
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
|
||||
class QDateTime;
|
||||
class QNetworkCookie;
|
||||
class QSize;
|
||||
class QTime;
|
||||
|
||||
namespace Scheduler
|
||||
|
@ -353,10 +352,6 @@ public:
|
|||
void setPropVisible(bool visible);
|
||||
QByteArray getPropTrackerListState() const;
|
||||
void setPropTrackerListState(const QByteArray &state);
|
||||
QSize getRssGeometrySize() const;
|
||||
void setRssGeometrySize(const QSize &geometry);
|
||||
QByteArray getRssHSplitterSizes() const;
|
||||
void setRssHSplitterSizes(const QByteArray &sizes);
|
||||
QStringList getRssOpenFolders() const;
|
||||
void setRssOpenFolders(const QStringList &folders);
|
||||
QByteArray getRssSideSplitterState() const;
|
||||
|
|
|
@ -112,7 +112,8 @@ AboutDialog::AboutDialog(QWidget *parent)
|
|||
"The database is licensed under the Creative Commons Attribution 4.0 International License"));
|
||||
m_ui->labelDBIP->setText(DBIPText);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
AboutDialog::~AboutDialog()
|
||||
|
|
|
@ -336,7 +336,9 @@ void AddNewTorrentDialog::setSavePathHistoryLength(const int value)
|
|||
|
||||
void AddNewTorrentDialog::loadState()
|
||||
{
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
|
||||
m_ui->splitter->restoreState(m_storeSplitterState);;
|
||||
}
|
||||
|
||||
|
|
|
@ -56,7 +56,8 @@ BanListOptionsDialog::BanListOptionsDialog(QWidget *parent)
|
|||
m_ui->bannedIPList->sortByColumn(0, Qt::AscendingOrder);
|
||||
m_ui->buttonBanIP->setEnabled(false);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
BanListOptionsDialog::~BanListOptionsDialog()
|
||||
|
|
|
@ -64,7 +64,9 @@ CookiesDialog::CookiesDialog(QWidget *parent)
|
|||
m_cookiesModel->index(0, 0),
|
||||
QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
|
||||
m_ui->treeView->header()->restoreState(m_storeViewState);
|
||||
}
|
||||
|
||||
|
|
|
@ -92,7 +92,8 @@ DownloadFromURLDialog::DownloadFromURLDialog(QWidget *parent)
|
|||
m_ui->textUrls->setText(text);
|
||||
m_ui->textUrls->moveCursor(QTextCursor::End);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
DownloadFromURLDialog::~DownloadFromURLDialog()
|
||||
|
|
|
@ -60,7 +60,8 @@ IPSubnetWhitelistOptionsDialog::IPSubnetWhitelistOptionsDialog(QWidget *parent)
|
|||
m_ui->whitelistedIPSubnetList->sortByColumn(0, Qt::AscendingOrder);
|
||||
m_ui->buttonWhitelistIPSubnet->setEnabled(false);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
IPSubnetWhitelistOptionsDialog::~IPSubnetWhitelistOptionsDialog()
|
||||
|
|
|
@ -572,10 +572,8 @@ OptionsDialog::OptionsDialog(QWidget *parent)
|
|||
|
||||
m_ui->tabSelection->setCurrentRow(m_storeLastViewedPage);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
|
||||
// Have to be called after show(), because splitter width needed
|
||||
loadSplitterState();
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
void OptionsDialog::initializeLanguageCombo()
|
||||
|
@ -646,6 +644,13 @@ void OptionsDialog::loadSplitterState()
|
|||
m_ui->hsplitter->setSizes(splitterSizes);
|
||||
}
|
||||
|
||||
void OptionsDialog::showEvent(QShowEvent *e)
|
||||
{
|
||||
QDialog::showEvent(e);
|
||||
|
||||
loadSplitterState();
|
||||
}
|
||||
|
||||
void OptionsDialog::saveOptions()
|
||||
{
|
||||
auto *pref = Preferences::instance();
|
||||
|
|
|
@ -115,6 +115,8 @@ private slots:
|
|||
void webUIHttpsKeyChanged(const Path &path, ShowError showError);
|
||||
|
||||
private:
|
||||
void showEvent(QShowEvent *e) override;
|
||||
|
||||
// Methods
|
||||
void saveOptions();
|
||||
void loadOptions();
|
||||
|
|
|
@ -173,13 +173,12 @@ void PreviewSelectDialog::saveWindowState()
|
|||
void PreviewSelectDialog::loadWindowState()
|
||||
{
|
||||
// Restore dialog size
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
|
||||
// Restore TreeView Header state
|
||||
if (!m_storeTreeHeaderState.get().isEmpty())
|
||||
{
|
||||
m_headerStateInitialized = m_ui->previewList->header()->restoreState(m_storeTreeHeaderState);
|
||||
}
|
||||
if (const QByteArray treeHeaderState = m_storeTreeHeaderState; !treeHeaderState.isEmpty())
|
||||
m_headerStateInitialized = m_ui->previewList->header()->restoreState(treeHeaderState);
|
||||
}
|
||||
|
||||
void PreviewSelectDialog::showEvent(QShowEvent *event)
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "automatedrssdownloader.h"
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <QCursor>
|
||||
#include <QFileDialog>
|
||||
#include <QMenu>
|
||||
|
@ -41,7 +42,6 @@
|
|||
#include "base/bittorrent/session.h"
|
||||
#include "base/global.h"
|
||||
#include "base/path.h"
|
||||
#include "base/preferences.h"
|
||||
#include "base/rss/rss_article.h"
|
||||
#include "base/rss/rss_autodownloader.h"
|
||||
#include "base/rss/rss_feed.h"
|
||||
|
@ -65,6 +65,13 @@ AutomatedRssDownloader::AutomatedRssDownloader(QWidget *parent)
|
|||
, m_formatFilterLegacy(u"%1 (*%2)"_qs.arg(tr("Rules (legacy)"), EXT_LEGACY))
|
||||
, m_ui(new Ui::AutomatedRssDownloader)
|
||||
, m_currentRuleItem(nullptr)
|
||||
, m_storeDialogSize {u"RssFeedDownloader/geometrySize"_qs}
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
|
||||
, m_storeHSplitterSize {u"GUI/Qt6/RSSFeedDownloader/HSplitterSizes"_qs}
|
||||
#else
|
||||
, m_storeHSplitterSize {u"RssFeedDownloader/qt5/hsplitterSizes"_qs}
|
||||
#endif
|
||||
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
// Icons
|
||||
|
@ -160,16 +167,17 @@ AutomatedRssDownloader::~AutomatedRssDownloader()
|
|||
|
||||
void AutomatedRssDownloader::loadSettings()
|
||||
{
|
||||
const auto *pref = Preferences::instance();
|
||||
resize(pref->getRssGeometrySize());
|
||||
m_ui->hsplitter->restoreState(pref->getRssHSplitterSizes());
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
|
||||
if (const QByteArray hSplitterSize = m_storeHSplitterSize; !hSplitterSize.isEmpty())
|
||||
m_ui->hsplitter->restoreState(hSplitterSize);
|
||||
}
|
||||
|
||||
void AutomatedRssDownloader::saveSettings()
|
||||
{
|
||||
Preferences *const pref = Preferences::instance();
|
||||
pref->setRssGeometrySize(size());
|
||||
pref->setRssHSplitterSizes(m_ui->hsplitter->saveState());
|
||||
m_storeDialogSize = size();
|
||||
m_storeHSplitterSize = m_ui->hsplitter->saveState();
|
||||
}
|
||||
|
||||
void AutomatedRssDownloader::createRuleItem(const RSS::AutoDownloadRule &rule)
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include <QSet>
|
||||
|
||||
#include "base/rss/rss_autodownloadrule.h"
|
||||
#include "base/settingvalue.h"
|
||||
|
||||
class QListWidgetItem;
|
||||
class QRegularExpression;
|
||||
|
@ -106,4 +107,7 @@ private:
|
|||
RSS::AutoDownloadRule m_currentRule;
|
||||
QHash<QString, QListWidgetItem *> m_itemsByRuleName;
|
||||
QRegularExpression *m_episodeRegex;
|
||||
|
||||
SettingValue<QSize> m_storeDialogSize;
|
||||
SettingValue<QByteArray> m_storeHSplitterSize;
|
||||
};
|
||||
|
|
|
@ -87,7 +87,8 @@ PluginSelectDialog::PluginSelectDialog(SearchPluginManager *pluginManager, QWidg
|
|||
connect(m_pluginManager, &SearchPluginManager::checkForUpdatesFinished, this, &PluginSelectDialog::checkForUpdatesFinished);
|
||||
connect(m_pluginManager, &SearchPluginManager::checkForUpdatesFailed, this, &PluginSelectDialog::checkForUpdatesFailed);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
PluginSelectDialog::~PluginSelectDialog()
|
||||
|
|
|
@ -40,7 +40,8 @@ PluginSourceDialog::PluginSourceDialog(QWidget *parent)
|
|||
{
|
||||
m_ui->setupUi(this);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
PluginSourceDialog::~PluginSourceDialog()
|
||||
|
|
|
@ -108,7 +108,8 @@ SpeedLimitDialog::SpeedLimitDialog(QWidget *parent)
|
|||
connect(m_ui->spinAltDownloadLimit, qOverload<int>(&QSpinBox::valueChanged)
|
||||
, this, [this](const int value) { updateSliderValue(m_ui->sliderAltDownloadLimit, value); });
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
SpeedLimitDialog::~SpeedLimitDialog()
|
||||
|
|
|
@ -60,7 +60,8 @@ StatsDialog::StatsDialog(QWidget *parent)
|
|||
m_ui->labelCacheHits->hide();
|
||||
#endif
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
StatsDialog::~StatsDialog()
|
||||
|
|
|
@ -340,5 +340,6 @@ void TorrentCreatorDialog::loadSettings()
|
|||
m_ui->txtComment->setPlainText(m_storeComments);
|
||||
m_ui->lineEditSource->setText(m_storeSource);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
|
|
@ -390,7 +390,8 @@ TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QVector<BitTor
|
|||
|
||||
connect(m_ui->buttonGroup, &QButtonGroup::idClicked, this, &TorrentOptionsDialog::handleRatioTypeChanged);
|
||||
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
TorrentOptionsDialog::~TorrentOptionsDialog()
|
||||
|
|
|
@ -110,5 +110,6 @@ void TrackerEntriesDialog::saveSettings()
|
|||
|
||||
void TrackerEntriesDialog::loadSettings()
|
||||
{
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
|
|
@ -125,7 +125,8 @@ TorrentFilesWatcher::WatchedFolderOptions WatchedFolderOptionsDialog::watchedFol
|
|||
|
||||
void WatchedFolderOptionsDialog::loadState()
|
||||
{
|
||||
resize(m_storeDialogSize);
|
||||
if (const QSize dialogSize = m_storeDialogSize; dialogSize.isValid())
|
||||
resize(dialogSize);
|
||||
}
|
||||
|
||||
void WatchedFolderOptionsDialog::saveState()
|
||||
|
|
Loading…
Reference in a new issue