fix: responsive widths + email selection fix
- MailListView: setMinimumSectionSize(50) + setStretchLastSection(false) to allow header shrinking - MainMainWindow: reduce folder tree min width 220->160, reader min width 350->280 - Allow splitter children to not be collapsible but shrink freely - Fix onRowSelected slot signature to match currentRowChanged signal
This commit is contained in:
@@ -254,6 +254,10 @@ void MailListView::setupUI()
|
|||||||
m_treeView->header()->setSectionResizeMode(EmailTreeModel::ColSubject, QHeaderView::Stretch);
|
m_treeView->header()->setSectionResizeMode(EmailTreeModel::ColSubject, QHeaderView::Stretch);
|
||||||
m_treeView->header()->setSectionResizeMode(EmailTreeModel::ColSender, QHeaderView::Stretch);
|
m_treeView->header()->setSectionResizeMode(EmailTreeModel::ColSender, QHeaderView::Stretch);
|
||||||
m_treeView->header()->setSectionResizeMode(EmailTreeModel::ColDate, QHeaderView::ResizeToContents);
|
m_treeView->header()->setSectionResizeMode(EmailTreeModel::ColDate, QHeaderView::ResizeToContents);
|
||||||
|
|
||||||
|
// Allow shrinking by setting minimum section sizes
|
||||||
|
m_treeView->header()->setMinimumSectionSize(50);
|
||||||
|
m_treeView->header()->setStretchLastSection(false);
|
||||||
|
|
||||||
connect(m_treeView->selectionModel(), &QItemSelectionModel::selectionChanged,
|
connect(m_treeView->selectionModel(), &QItemSelectionModel::selectionChanged,
|
||||||
this, &MailListView::onSelectionChanged);
|
this, &MailListView::onSelectionChanged);
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ void MainMainWindow::setupMailPage()
|
|||||||
m_folderTree = new QTreeView();
|
m_folderTree = new QTreeView();
|
||||||
m_folderTree->setHeaderHidden(true);
|
m_folderTree->setHeaderHidden(true);
|
||||||
m_folderTree->setIndentation(20);
|
m_folderTree->setIndentation(20);
|
||||||
m_folderTree->setMinimumWidth(220);
|
m_folderTree->setMinimumWidth(160); // Reduced from 220
|
||||||
m_folderTree->setMaximumWidth(350);
|
m_folderTree->setMaximumWidth(350);
|
||||||
m_folderTree->setFrameShape(QFrame::NoFrame);
|
m_folderTree->setFrameShape(QFrame::NoFrame);
|
||||||
m_folderTree->setExpandsOnDoubleClick(true);
|
m_folderTree->setExpandsOnDoubleClick(true);
|
||||||
@@ -291,7 +291,7 @@ void MainMainWindow::setupMailPage()
|
|||||||
|
|
||||||
// Reader view
|
// Reader view
|
||||||
m_emailViewer = new ReaderView();
|
m_emailViewer = new ReaderView();
|
||||||
m_emailViewer->setMinimumWidth(350);
|
m_emailViewer->setMinimumWidth(280); // Reduced from 350
|
||||||
connect(m_emailViewer, &ReaderView::replyRequested, this, &MainMainWindow::onReaderReplyRequested);
|
connect(m_emailViewer, &ReaderView::replyRequested, this, &MainMainWindow::onReaderReplyRequested);
|
||||||
connect(m_emailViewer, &ReaderView::forwardRequested, this, &MainMainWindow::onReaderForwardRequested);
|
connect(m_emailViewer, &ReaderView::forwardRequested, this, &MainMainWindow::onReaderForwardRequested);
|
||||||
connect(m_emailViewer, &ReaderView::deleteRequested, this, &MainMainWindow::onReaderDeleteRequested);
|
connect(m_emailViewer, &ReaderView::deleteRequested, this, &MainMainWindow::onReaderDeleteRequested);
|
||||||
@@ -320,6 +320,10 @@ void MainMainWindow::setupMailPage()
|
|||||||
|
|
||||||
// Default sizes: left pane (folders+categories) 300, list 380, viewer flex
|
// Default sizes: left pane (folders+categories) 300, list 380, viewer flex
|
||||||
m_folderSplitter->setSizes({300, 380, 600});
|
m_folderSplitter->setSizes({300, 380, 600});
|
||||||
|
|
||||||
|
// Allow each pane to shrink further
|
||||||
|
m_folderSplitter->setHandleWidth(1);
|
||||||
|
m_folderSplitter->setChildrenCollapsible(false);
|
||||||
|
|
||||||
mailLayout->addWidget(m_folderSplitter);
|
mailLayout->addWidget(m_folderSplitter);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user