GraphViewerWidget::GraphViewerWidget(QWidget *parent) : QWidget(parent), mWidget(new GraphWidget(this)) { mModel = ObjectBroker::model("com.kdab.GammaRay.ObjectVisualizerModel"); QSortFilterProxyModel *objectFilter = new KRecursiveFilterProxyModel(this); objectFilter->setSourceModel(mModel); objectFilter->setDynamicSortFilter(true); QVBoxLayout *vbox = new QVBoxLayout; KFilterProxySearchLine *objectSearchLine = new KFilterProxySearchLine(this); objectSearchLine->setProxy(objectFilter); vbox->addWidget(objectSearchLine); QTreeView *objectTreeView = new QTreeView(this); objectTreeView->setModel(objectFilter); objectTreeView->setSortingEnabled(true); vbox->addWidget(objectTreeView); mObjectTreeView = objectTreeView; QWidget *treeViewWidget = new QWidget(this); treeViewWidget->setLayout(vbox); QSplitter *splitter = new QSplitter(this); splitter->addWidget(treeViewWidget); splitter->addWidget(mWidget); QHBoxLayout *hbox = new QHBoxLayout(this); hbox->addWidget(splitter); QMetaObject::invokeMethod(this, "delayedInit", Qt::QueuedConnection); }
ActionInspectorWidget::ActionInspectorWidget(QWidget *parent) : QWidget(parent) { QAbstractItemModel *actionModel = ObjectBroker::model("com.kdab.GammaRay.ActionModel"); QSortFilterProxyModel *searchFilterProxy = new KRecursiveFilterProxyModel(this); searchFilterProxy->setSourceModel(actionModel); searchFilterProxy->setDynamicSortFilter(true); m_proxy = searchFilterProxy; QVBoxLayout *vbox = new QVBoxLayout(this); KFilterProxySearchLine *objectSearchLine = new KFilterProxySearchLine(this); objectSearchLine->setProxy(searchFilterProxy); vbox->addWidget(objectSearchLine); QTreeView *objectTreeView = new QTreeView(this); objectTreeView->setModel(searchFilterProxy); objectTreeView->setSortingEnabled(true); objectTreeView->sortByColumn(ActionModel::ShortcutsPropColumn); objectTreeView->setRootIsDecorated(false); vbox->addWidget(objectTreeView); connect(objectTreeView, SIGNAL(doubleClicked(QModelIndex)), SLOT(triggerAction(QModelIndex))); mObjectTreeView = objectTreeView; }
GraphViewer::GraphViewer(ProbeInterface *probe, QWidget *parent) : QWidget(parent), mWidget(new GraphWidget(this)), mProbeIface(probe) { QSortFilterProxyModel *objectFilter = new KRecursiveFilterProxyModel(this); objectFilter->setSourceModel(probe->objectTreeModel()); objectFilter->setDynamicSortFilter(true); QVBoxLayout *vbox = new QVBoxLayout; KFilterProxySearchLine *objectSearchLine = new KFilterProxySearchLine(this); objectSearchLine->setProxy(objectFilter); vbox->addWidget(objectSearchLine); QTreeView *objectTreeView = new QTreeView(this); objectTreeView->setModel(objectFilter); objectTreeView->setSortingEnabled(true); vbox->addWidget(objectTreeView); connect(objectTreeView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), SLOT(handleRowChanged(QModelIndex))); mObjectTreeView = objectTreeView; QWidget *treeViewWidget = new QWidget(this); treeViewWidget->setLayout(vbox); QSplitter *splitter = new QSplitter(this); splitter->addWidget(treeViewWidget); splitter->addWidget(mWidget); QHBoxLayout *hbox = new QHBoxLayout(this); hbox->addWidget(splitter); QMetaObject::invokeMethod(this, "delayedInit", Qt::QueuedConnection); }
KDEProviderWidget::KDEProviderWidget(QWidget* parent) : IProjectProviderWidget(parent) { setLayout(new QVBoxLayout()); m_projects = new QListView(this); QHBoxLayout* topLayout = new QHBoxLayout(this); KFilterProxySearchLine* filterLine = new KFilterProxySearchLine(this); KDEProjectsModel* model = new KDEProjectsModel(this); KDEProjectsReader* reader = new KDEProjectsReader(model, model); connect(reader, SIGNAL(downloadDone()), reader, SLOT(deleteLater())); connect(m_projects, SIGNAL(clicked(QModelIndex)), this, SLOT(projectIndexChanged(QModelIndex))); topLayout->addWidget(filterLine); QPushButton* settings=new QPushButton(KIcon("configure"), i18n("Settings"), this); settings->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed); connect(settings, SIGNAL(clicked()), SLOT(showSettings())); topLayout->addWidget(settings); layout()->addItem(topLayout); layout()->addWidget(m_projects); m_dialog = new KConfigDialog(this, "settings", KDEProviderSettings::self()); m_dialog->setFaceType(KPageDialog::Auto); QWidget* page = new QWidget(m_dialog); Ui::KDEConfig configUi; configUi.setupUi(page); configUi.kcfg_gitProtocol->setProperty("kcfg_property", QByteArray("currentText")); m_dialog->addPage(page, i18n("General") ); connect(m_dialog, SIGNAL(settingsChanged(QString)), this, SLOT(loadSettings())); QSortFilterProxyModel* proxyModel = new QSortFilterProxyModel(this); proxyModel->setSourceModel(model); proxyModel->setDynamicSortFilter(true); proxyModel->sort(0); proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive); m_projects->setModel(proxyModel); m_projects->setEditTriggers(QAbstractItemView::NoEditTriggers); filterLine->setProxy(proxyModel); }
void UrlCatcher::setupUrlTree() { KFilterProxySearchLine* searchLine = new KFilterProxySearchLine(this); m_urlTree = new QTreeView(this); m_urlTree->setWhatsThis(i18n("List of Uniform Resource Locators mentioned in any of the Konversation windows during this session.")); m_urlTree->setContextMenuPolicy(Qt::CustomContextMenu); m_urlTree->setSortingEnabled(true); m_urlTree->header()->setSectionsMovable(false); m_urlTree->header()->setSortIndicatorShown(true); m_urlTree->setAllColumnsShowFocus(true); m_urlTree->setSelectionMode(QAbstractItemView::ExtendedSelection); m_urlTree->setRootIsDecorated(false); connect(m_urlTree, &QTreeView::customContextMenuRequested, this, &UrlCatcher::openContextMenu); connect(m_urlTree, &QTreeView::doubleClicked, this, &UrlCatcher::openUrl); Application* konvApp = Application::instance(); QStandardItemModel* urlModel = konvApp->getUrlModel(); QStandardItem* item = new QStandardItem(i18n("From")); urlModel->setHorizontalHeaderItem(0, item); item = new QStandardItem(i18n("URL")); urlModel->setHorizontalHeaderItem(1, item); item = new QStandardItem(i18n("Date")); urlModel->setHorizontalHeaderItem(2, item); connect(urlModel, &QStandardItemModel::rowsInserted, this, &UrlCatcher::updateListActionStates); connect(urlModel, &QStandardItemModel::rowsRemoved, this, &UrlCatcher::updateListActionStates); UrlSortFilterProxyModel* proxyModel = new UrlSortFilterProxyModel(this); proxyModel->setSourceModel(urlModel); proxyModel->setDynamicSortFilter(true); proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); proxyModel->setFilterKeyColumn(-1); m_urlTree->setModel(proxyModel); connect(m_urlTree->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(updateItemActionStates())); searchLine->setProxy(proxyModel); Preferences::restoreColumnState(m_urlTree, QStringLiteral("UrlCatcher ViewSettings"), 2, Qt::DescendingOrder); }