Mercurial > minori
comparison src/gui/widgets/sidebar.cpp @ 58:b7a1c0010ffd
sidebar: link view menu and sidebar together
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Thu, 28 Sep 2023 13:32:21 -0400 |
| parents | d0adc4aedfc8 |
| children | 4c6dd5999b39 |
comparison
equal
deleted
inserted
replaced
| 57:3c802806b74a | 58:b7a1c0010ffd |
|---|---|
| 2 #include <QFrame> | 2 #include <QFrame> |
| 3 #include <QListWidget> | 3 #include <QListWidget> |
| 4 #include <QListWidgetItem> | 4 #include <QListWidgetItem> |
| 5 #include <QMessageBox> | 5 #include <QMessageBox> |
| 6 #include <QMouseEvent> | 6 #include <QMouseEvent> |
| 7 #include <QDebug> | |
| 7 | 8 |
| 8 SideBar::SideBar(QWidget* parent) : QListWidget(parent) { | 9 SideBar::SideBar(QWidget* parent) : QListWidget(parent) { |
| 9 setFrameShape(QFrame::NoFrame); | 10 setFrameShape(QFrame::NoFrame); |
| 10 setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); | 11 setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
| 11 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); | 12 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
| 20 font.setPointSize(9); | 21 font.setPointSize(9); |
| 21 setFont(font); | 22 setFont(font); |
| 22 | 23 |
| 23 connect(this, &QListWidget::currentRowChanged, this, | 24 connect(this, &QListWidget::currentRowChanged, this, |
| 24 [this](int index) { emit CurrentItemChanged(RemoveSeparatorsFromIndex(index)); }); | 25 [this](int index) { emit CurrentItemChanged(RemoveSeparatorsFromIndex(index)); }); |
| 26 } | |
| 27 | |
| 28 void SideBar::SetCurrentItem(int index) { | |
| 29 qDebug() << AddSeparatorsToIndex(index) << "\n"; | |
| 30 setCurrentRow(AddSeparatorsToIndex(index)); | |
| 25 } | 31 } |
| 26 | 32 |
| 27 QListWidgetItem* SideBar::AddItem(QString name, QIcon icon) { | 33 QListWidgetItem* SideBar::AddItem(QString name, QIcon icon) { |
| 28 QListWidgetItem* item = new QListWidgetItem(this); | 34 QListWidgetItem* item = new QListWidgetItem(this); |
| 29 item->setText(name); | 35 item->setText(name); |
| 57 setItemWidget(item, line); | 63 setItemWidget(item, line); |
| 58 item->setFlags(Qt::NoItemFlags); | 64 item->setFlags(Qt::NoItemFlags); |
| 59 return item; | 65 return item; |
| 60 } | 66 } |
| 61 | 67 |
| 68 int SideBar::AddSeparatorsToIndex(int index) { | |
| 69 int i, j; | |
| 70 for (i = 0, j = 0; i < index; ) { | |
| 71 i++; | |
| 72 if (IndexIsSeparator(indexFromItem(item(i)))) | |
| 73 j++; | |
| 74 } | |
| 75 return i+j; | |
| 76 } | |
| 77 | |
| 62 int SideBar::RemoveSeparatorsFromIndex(int index) { | 78 int SideBar::RemoveSeparatorsFromIndex(int index) { |
| 63 int i, j; | 79 int i, j; |
| 64 for (i = 0, j = 0; i < index; i++) { | 80 for (i = 0, j = 0; i < index; i++) { |
| 65 if (!IndexIsSeparator(indexFromItem(item(i)))) | 81 if (!IndexIsSeparator(indexFromItem(item(i)))) |
| 66 j++; | 82 j++; |
