mirror of
https://github.com/altlinux/admc.git
synced 2025-03-21 02:50:43 +03:00
fix slow refresh
\ when many users are loaded
This commit is contained in:
parent
4c480efc30
commit
ceeaed978b
@ -46,6 +46,7 @@
|
||||
#include <QStack>
|
||||
#include <QMenu>
|
||||
#include <QLabel>
|
||||
#include <QSortFilterProxyModel>
|
||||
|
||||
enum ScopeRole {
|
||||
ScopeRole_Id = Role_ObjectClass + 1,
|
||||
@ -89,6 +90,9 @@ Console::Console(MenuBar *menubar_arg)
|
||||
results_view->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
results_view->setDragDropOverwriteMode(true);
|
||||
|
||||
results_proxy_model = new QSortFilterProxyModel(this);
|
||||
results_view->setModel(results_proxy_model);
|
||||
|
||||
SETTINGS()->setup_header_state(results_view->header(), VariantSetting_ResultsHeader);
|
||||
|
||||
auto results_wrapper = new QWidget();
|
||||
@ -300,7 +304,7 @@ void Console::on_current_scope_changed(const QModelIndex ¤t, const QModelI
|
||||
const int id = current.data(ScopeRole_Id).toInt();
|
||||
|
||||
QStandardItemModel *results_model = scope_id_to_results[id];
|
||||
results_view->setModel(results_model);
|
||||
results_proxy_model->setSourceModel(results_model);
|
||||
|
||||
// Update header with new object counts when rows are added/removed
|
||||
connect(
|
||||
|
@ -42,6 +42,7 @@ class QStandardItem;
|
||||
class AdObject;
|
||||
class MenuBar;
|
||||
class QLabel;
|
||||
class QSortFilterProxyModel;
|
||||
template <typename T> class QList;
|
||||
|
||||
class Console final : public QWidget {
|
||||
@ -76,6 +77,7 @@ private:
|
||||
MenuBar *menubar;
|
||||
QWidget *results_header;
|
||||
QLabel *results_header_label;
|
||||
QSortFilterProxyModel *results_proxy_model;
|
||||
|
||||
// NOTE: store target history as scope node id's
|
||||
// Last is closest to current
|
||||
|
Loading…
x
Reference in New Issue
Block a user