chatwidgetview refreshes on new message

This commit is contained in:
fourtf
2017-01-16 03:15:07 +01:00
parent d924f5bd8d
commit 1194905646
21 changed files with 321 additions and 196 deletions
+23 -23
View File
@@ -12,19 +12,19 @@
Notebook::Notebook(QWidget *parent)
: QWidget(parent)
, addButton(this)
, settingsButton(this)
, userButton(this)
, m_addButton(this)
, m_settingsButton(this)
, m_userButton(this)
{
connect(&settingsButton, SIGNAL(clicked()), this,
connect(&m_settingsButton, SIGNAL(clicked()), this,
SLOT(settingsButtonClicked()));
settingsButton.resize(24, 24);
settingsButton.icon = NotebookButton::IconSettings;
userButton.resize(24, 24);
userButton.move(24, 0);
userButton.icon = NotebookButton::IconUser;
addButton.resize(24, 24);
m_settingsButton.resize(24, 24);
m_settingsButton.icon = NotebookButton::IconSettings;
m_userButton.resize(24, 24);
m_userButton.move(24, 0);
m_userButton.icon = NotebookButton::IconUser;
m_addButton.resize(24, 24);
}
void
@@ -41,11 +41,11 @@ Notebook::addPage()
auto tab = new NotebookTab(this);
auto page = new NotebookPage(this, tab);
if (pages.count() == 0) {
if (m_pages.count() == 0) {
select(page);
}
this->pages.append(page);
this->m_pages.append(page);
return page;
}
@@ -53,7 +53,7 @@ Notebook::addPage()
void
Notebook::select(NotebookPage *page)
{
if (page == selected)
if (page == m_selected)
return;
if (page != nullptr) {
@@ -61,12 +61,12 @@ Notebook::select(NotebookPage *page)
page->tab->setSelected(true);
}
if (selected != nullptr) {
selected->setHidden(true);
selected->tab->setSelected(false);
if (m_selected != nullptr) {
m_selected->setHidden(true);
m_selected->tab->setSelected(false);
}
selected = page;
m_selected = page;
performLayout();
}
@@ -78,11 +78,11 @@ Notebook::performLayout()
int tabHeight = 16;
bool first = true;
for (auto &i : pages) {
for (auto &i : m_pages) {
tabHeight = i->tab->height();
if (!first &&
(i == pages.last() ? tabHeight : 0) + x + i->tab->width() >
(i == m_pages.last() ? tabHeight : 0) + x + i->tab->width() >
width()) {
y += i->tab->height();
i->tab->move(0, y);
@@ -95,11 +95,11 @@ Notebook::performLayout()
first = false;
}
this->addButton.move(x, y);
this->m_addButton.move(x, y);
if (selected != nullptr) {
selected->move(0, y + tabHeight);
selected->resize(width(), height() - y - tabHeight);
if (m_selected != nullptr) {
m_selected->move(0, y + tabHeight);
m_selected->resize(width(), height() - y - tabHeight);
}
}