Optimize includes a bit

This commit is contained in:
Nicolas Werner 2020-01-31 06:12:02 +01:00
parent 558fd10f7b
commit 4cd260bfcf
41 changed files with 271 additions and 228 deletions

View file

@ -16,19 +16,20 @@
*/
#include <QApplication>
#include <QDebug>
#include <QDesktopWidget>
#include <QSettings>
#include <QShortcut>
#include "Config.h"
#include "Logging.h"
#include "Splitter.h"
#include "Utils.h"
constexpr auto MaxWidth = (1 << 24) - 1;
Splitter::Splitter(QWidget *parent)
: QSplitter(parent)
, sz_{utils::calculateSidebarSizes(QFont{})}
, sz_{splitter::calculateSidebarSizes(QFont{})}
{
connect(this, &QSplitter::splitterMoved, this, &Splitter::onSplitterMoved);
setChildrenCollapsible(false);
@ -80,7 +81,7 @@ Splitter::onSplitterMoved(int pos, int index)
auto s = sizes();
if (s.count() < 2) {
qWarning() << "Splitter needs at least two children";
nhlog::ui()->warn("Splitter needs at least two children");
return;
}
@ -165,3 +166,18 @@ Splitter::showFullRoomList()
left->show();
left->setMaximumWidth(MaxWidth);
}
splitter::SideBarSizes
splitter::calculateSidebarSizes(const QFont &f)
{
const auto height = static_cast<double>(QFontMetrics{f}.lineSpacing());
SideBarSizes sz;
sz.small = std::ceil(3.5 * height + height / 4.0);
sz.normal = std::ceil(16 * height);
sz.groups = std::ceil(3 * height);
sz.collapsePoint = 2 * sz.normal;
return sz;
}