mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-19 15:07:22 -06:00
Add "Auto resize columns" functionality
This commit is contained in:
@@ -28,9 +28,11 @@
|
||||
|
||||
#include "previewselectdialog.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QHeaderView>
|
||||
#include <QMenu>
|
||||
#include <QMessageBox>
|
||||
#include <QPushButton>
|
||||
#include <QShowEvent>
|
||||
@@ -104,9 +106,12 @@ PreviewSelectDialog::PreviewSelectDialog(QWidget *parent, const BitTorrent::Torr
|
||||
}
|
||||
|
||||
m_previewListModel->sort(NAME);
|
||||
m_ui->previewList->header()->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
m_ui->previewList->header()->setSortIndicator(0, Qt::AscendingOrder);
|
||||
m_ui->previewList->selectionModel()->select(m_previewListModel->index(0, NAME), QItemSelectionModel::Select | QItemSelectionModel::Rows);
|
||||
|
||||
connect(m_ui->previewList->header(), &QWidget::customContextMenuRequested, this, &PreviewSelectDialog::displayColumnHeaderMenu);
|
||||
|
||||
// Restore dialog state
|
||||
loadWindowState();
|
||||
}
|
||||
@@ -145,6 +150,25 @@ void PreviewSelectDialog::previewButtonClicked()
|
||||
accept();
|
||||
}
|
||||
|
||||
void PreviewSelectDialog::displayColumnHeaderMenu()
|
||||
{
|
||||
auto menu = new QMenu(this);
|
||||
menu->setAttribute(Qt::WA_DeleteOnClose);
|
||||
menu->setToolTipsVisible(true);
|
||||
|
||||
QAction *resizeAction = menu->addAction(tr("Resize columns"), this, [this]()
|
||||
{
|
||||
for (int i = 0, count = m_ui->previewList->header()->count(); i < count; ++i)
|
||||
{
|
||||
if (!m_ui->previewList->isColumnHidden(i))
|
||||
m_ui->previewList->resizeColumnToContents(i);
|
||||
}
|
||||
});
|
||||
resizeAction->setToolTip(tr("Resize all non-hidden columns to the size of their contents"));
|
||||
|
||||
menu->popup(QCursor::pos());
|
||||
}
|
||||
|
||||
void PreviewSelectDialog::saveWindowState()
|
||||
{
|
||||
// Persist dialog size
|
||||
|
||||
Reference in New Issue
Block a user