Implement the "inline" account switch button

Make the account switch listview into a widget
This commit is contained in:
Rasmus Karlsson
2017-12-19 02:16:01 +01:00
parent 4010c49c84
commit 1a870685b0
9 changed files with 223 additions and 47 deletions
+22
View File
@@ -1,5 +1,7 @@
#include "widgets/notebook.hpp"
#include "colorscheme.hpp"
#include "debug/log.hpp"
#include "widgets/accountswitchpopupwidget.hpp"
#include "widgets/helper/notebookbutton.hpp"
#include "widgets/helper/notebooktab.hpp"
#include "widgets/settingsdialog.hpp"
@@ -227,6 +229,26 @@ void Notebook::settingsButtonClicked()
void Notebook::usersButtonClicked()
{
static QWidget *lastFocusedWidget = nullptr;
static AccountSwitchPopupWidget *w = new AccountSwitchPopupWidget(this);
if (w->hasFocus()) {
w->hide();
if (lastFocusedWidget) {
lastFocusedWidget->setFocus();
}
return;
}
lastFocusedWidget = this->focusWidget();
w->refresh();
QPoint buttonPos = this->userButton.rect().bottomRight();
w->move(buttonPos.x(), buttonPos.y());
w->show();
w->setFocus();
}
void Notebook::addPageButtonClicked()