[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdenetwork/krdc
From: Urs Wolfer <uwolfer () kde ! org>
Date: 2013-01-06 10:54:46
Message-ID: 20130106105446.73D0CAC86A () svn ! kde ! org
[Download RAW message or body]
SVN commit 1330949 by uwolfer:
usabilty improvement: handle filtering of lists seperately
- filter line was never syncronous before
- dock widget items got hidden when entering a new url
M +17 -12 mainwindow.cpp
M +3 -4 mainwindow.h
--- trunk/KDE/kdenetwork/krdc/mainwindow.cpp #1330948:1330949
@@ -675,8 +675,8 @@
return;
const QString url = index.data(10001).toString();
- const QString title = m_remoteDesktopsModelProxy->index(index.row(), \
RemoteDesktopsModel::Title).data(Qt::DisplayRole).toString();
- const QString source = m_remoteDesktopsModelProxy->index(index.row(), \
RemoteDesktopsModel::Source).data(Qt::DisplayRole).toString(); + const QString \
title = m_remoteDesktopsModel->index(index.row(), \
RemoteDesktopsModel::Title).data(Qt::DisplayRole).toString(); + const QString \
source = m_remoteDesktopsModel->index(index.row(), \
RemoteDesktopsModel::Source).data(Qt::DisplayRole).toString();
KMenu *menu = new KMenu(m_newConnectionTableView);
menu->addTitle(url);
@@ -1088,6 +1088,11 @@
headerLayout->addWidget(headerIconLabel);
startLayout->addLayout(headerLayout);
+ QSortFilterProxyModel *remoteDesktopsModelProxy = new \
QSortFilterProxyModel(this); + \
remoteDesktopsModelProxy->setSourceModel(m_remoteDesktopsModel); + \
remoteDesktopsModelProxy->setFilterCaseSensitivity(Qt::CaseInsensitive); + \
remoteDesktopsModelProxy->setFilterRole(10002); +
{
QHBoxLayout *connectLayout = new QHBoxLayout;
@@ -1096,7 +1101,7 @@
m_addressInput = new KLineEdit(m_newConnectionWidget);
m_addressInput->setClearButtonShown(true);
m_addressInput->setClickMessage(i18n("Type here to connect to an address and \
filter the list."));
- connect(m_addressInput, SIGNAL(textChanged(QString)), \
m_remoteDesktopsModelProxy, SLOT(setFilterFixedString(QString))); + \
connect(m_addressInput, SIGNAL(textChanged(QString)), remoteDesktopsModelProxy, \
SLOT(setFilterFixedString(QString)));
foreach(RemoteViewFactory *factory, m_remoteViewFactories) {
m_protocolInput->addItem(factory->scheme());
@@ -1120,7 +1125,7 @@
{
m_newConnectionTableView = new QTableView(m_newConnectionWidget);
- m_newConnectionTableView->setModel(m_remoteDesktopsModelProxy);
+ m_newConnectionTableView->setModel(remoteDesktopsModelProxy);
// set up the view so it looks nice
m_newConnectionTableView->setItemDelegate(new \
ConnectionDelegate(m_newConnectionTableView)); @@ -1200,12 +1205,12 @@
remoteDesktopsDockWidget->toggleViewAction());
m_dockWidgetTableView = new QTableView(remoteDesktopsDockLayoutWidget);
- RemoteDesktopsModel *remoteDesktopsModel = new RemoteDesktopsModel(this);
- m_remoteDesktopsModelProxy = new QSortFilterProxyModel(this);
- m_remoteDesktopsModelProxy->setSourceModel(remoteDesktopsModel);
- m_remoteDesktopsModelProxy->setFilterCaseSensitivity(Qt::CaseInsensitive);
- m_remoteDesktopsModelProxy->setFilterRole(10002);
- m_dockWidgetTableView->setModel(m_remoteDesktopsModelProxy);
+ m_remoteDesktopsModel = new RemoteDesktopsModel(this);
+ QSortFilterProxyModel *remoteDesktopsModelProxy = new \
QSortFilterProxyModel(this); + \
remoteDesktopsModelProxy->setSourceModel(m_remoteDesktopsModel); + \
remoteDesktopsModelProxy->setFilterCaseSensitivity(Qt::CaseInsensitive); + \
remoteDesktopsModelProxy->setFilterRole(10002); + \
m_dockWidgetTableView->setModel(remoteDesktopsModelProxy);
m_dockWidgetTableView->setShowGrid(false);
m_dockWidgetTableView->verticalHeader()->hide();
@@ -1214,7 +1219,7 @@
m_dockWidgetTableView->horizontalHeader()->hide();
m_dockWidgetTableView->horizontalHeader()->setStretchLastSection(true);
// hide all columns, then show the one we want
- for (int i=0; i<m_remoteDesktopsModelProxy->columnCount(); i++) {
+ for (int i=0; i < remoteDesktopsModelProxy->columnCount(); i++) {
m_dockWidgetTableView->hideColumn(i);
}
m_dockWidgetTableView->showColumn(RemoteDesktopsModel::Title);
@@ -1226,7 +1231,7 @@
KLineEdit *filterLineEdit = new KLineEdit(remoteDesktopsDockLayoutWidget);
filterLineEdit->setClickMessage(i18n("Filter"));
filterLineEdit->setClearButtonShown(true);
- connect(filterLineEdit, SIGNAL(textChanged(QString)), \
m_remoteDesktopsModelProxy, SLOT(setFilterFixedString(QString))); + \
connect(filterLineEdit, SIGNAL(textChanged(QString)), remoteDesktopsModelProxy, \
SLOT(setFilterFixedString(QString))); \
remoteDesktopsDockLayout->addWidget(filterLineEdit); \
remoteDesktopsDockLayout->addWidget(m_dockWidgetTableView); \
remoteDesktopsDockWidget->setWidget(remoteDesktopsDockLayoutWidget);
--- trunk/KDE/kdenetwork/krdc/mainwindow.h #1330948:1330949
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2007 - 2008 Urs Wolfer <uwolfer @ kde.org>
+** Copyright (C) 2007 - 2013 Urs Wolfer <uwolfer @ kde.org>
** Copyright (C) 2009 - 2010 Tony Murray <murraytony @ gmail.com>
**
** This file is part of KDE.
@@ -27,7 +27,6 @@
#include "remoteview.h"
#include "remoteviewfactory.h"
-#include "tabbedviewwidget.h"
#include <KService>
#include <KXmlGuiWindow>
@@ -40,13 +39,13 @@
class BookmarkManager;
class FloatingToolBar;
+class RemoteDesktopsModel;
class RemoteView;
class SystemTrayIcon;
class TabbedViewWidget;
class QScrollArea;
class QModelIndex;
-class QSortFilterProxyModel;
class QTableView;
#ifdef TELEPATHY_SUPPORT
@@ -134,7 +133,7 @@
SystemTrayIcon *m_systemTrayIcon;
QTableView *m_dockWidgetTableView;
QTableView *m_newConnectionTableView;
- QSortFilterProxyModel *m_remoteDesktopsModelProxy;
+ RemoteDesktopsModel *m_remoteDesktopsModel;
#ifdef TELEPATHY_SUPPORT
TubesManager *m_tubesManager;
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic