Merge pull request #1180 from 23rd/patch-31-hotkey-last-tab

Added ability to open last tab with Ctrl+9.
This commit is contained in:
pajlada 2019-08-10 11:19:01 +02:00 committed by GitHub
commit 933edb1205
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 17 deletions

View file

@ -256,6 +256,17 @@ void Notebook::selectPreviousTab()
this->select(this->items_[index].page); this->select(this->items_[index].page);
} }
void Notebook::selectLastTab()
{
const auto size = this->items_.size();
if (size <= 1)
{
return;
}
this->select(this->items_[size - 1].page);
}
int Notebook::getPageCount() const int Notebook::getPageCount() const
{ {
return this->items_.count(); return this->items_.count();

View file

@ -34,6 +34,7 @@ public:
void selectIndex(int index); void selectIndex(int index);
void selectNextTab(); void selectNextTab();
void selectPreviousTab(); void selectPreviousTab();
void selectLastTab();
int getPageCount() const; int getPageCount() const;
QWidget *getPageAt(int index) const; QWidget *getPageAt(int index) const;

View file

@ -270,24 +270,17 @@ void Window::addShortcuts()
this->notebook_->getOrAddSelectedPage()->appendNewSplit(true); this->notebook_->getOrAddSelectedPage()->appendNewSplit(true);
}); });
createWindowShortcut(this, "CTRL+1", // CTRL + 1-8 to open corresponding tab.
[this] { this->notebook_->selectIndex(0); }); for (auto i = 0; i < 8; i++)
createWindowShortcut(this, "CTRL+2", {
[this] { this->notebook_->selectIndex(1); }); char hotkey[7];
createWindowShortcut(this, "CTRL+3", std::sprintf(hotkey, "CTRL+%d", i + 1);
[this] { this->notebook_->selectIndex(2); }); const auto openTab = [this, i] { this->notebook_->selectIndex(i); };
createWindowShortcut(this, "CTRL+4", createWindowShortcut(this, hotkey, openTab);
[this] { this->notebook_->selectIndex(3); }); }
createWindowShortcut(this, "CTRL+5",
[this] { this->notebook_->selectIndex(4); });
createWindowShortcut(this, "CTRL+6",
[this] { this->notebook_->selectIndex(5); });
createWindowShortcut(this, "CTRL+7",
[this] { this->notebook_->selectIndex(6); });
createWindowShortcut(this, "CTRL+8",
[this] { this->notebook_->selectIndex(7); });
createWindowShortcut(this, "CTRL+9", createWindowShortcut(this, "CTRL+9",
[this] { this->notebook_->selectIndex(8); }); [this] { this->notebook_->selectLastTab(); });
// Zoom in // Zoom in
{ {