summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI')
-rw-r--r--Swift/QtUI/UserSearch/QtUserSearchResultsPage.cpp11
-rw-r--r--Swift/QtUI/UserSearch/QtUserSearchResultsPage.h1
-rw-r--r--Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui9
-rw-r--r--Swift/QtUI/UserSearch/QtUserSearchWindow.cpp2
4 files changed, 22 insertions, 1 deletions
diff --git a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.cpp b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.cpp
index bc6933e7..dcd79d2 100644
--- a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.cpp
+++ b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.cpp
@@ -9,20 +9,31 @@
namespace Swift {
QtUserSearchResultsPage::QtUserSearchResultsPage() {
setupUi(this);
connect(results_, SIGNAL(activated(const QModelIndex&)), this, SLOT(emitCompletenessCheck()));
connect(results_, SIGNAL(activated(const QModelIndex&)), this, SIGNAL(onUserTriggersContinue()));
connect(results_, SIGNAL(clicked(const QModelIndex&)), this, SLOT(emitCompletenessCheck()));
connect(results_, SIGNAL(entered(const QModelIndex&)), this, SLOT(emitCompletenessCheck()));
results_->setExpandsOnDoubleClick(false);
+ setNoResults(false);
}
bool QtUserSearchResultsPage::isComplete() const {
return results_->currentIndex().isValid();
}
+void QtUserSearchResultsPage::setNoResults(bool noResults) {
+ if (noResults) {
+ results_->setEnabled(false);
+ noResults_->show();
+ } else {
+ results_->setEnabled(true);
+ noResults_->hide();
+ }
+}
+
void QtUserSearchResultsPage::emitCompletenessCheck() {
emit completeChanged();
}
}
diff --git a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.h b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.h
index 2bb4fa5..ec52bf9 100644
--- a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.h
+++ b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.h
@@ -10,15 +10,16 @@
#include <Swift/QtUI/UserSearch/ui_QtUserSearchResultsPage.h>
namespace Swift {
class QtUserSearchResultsPage : public QWizardPage, public Ui::QtUserSearchResultsPage {
Q_OBJECT
public:
QtUserSearchResultsPage();
virtual bool isComplete() const;
+ void setNoResults(bool noResults);
signals:
void onUserTriggersContinue();
public slots:
void emitCompletenessCheck();
};
}
diff --git a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui
index ceb15e1..cf99e3f 100644
--- a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui
+++ b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui
@@ -8,21 +8,28 @@
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string/>
</property>
<layout class="QGridLayout" name="layout">
- <item row="0" column="0">
+ <item row="1" column="0">
<widget class="QTreeView" name="results_">
<property name="rootIsDecorated">
<bool>false</bool>
</property>
</widget>
</item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="noResults_">
+ <property name="text">
+ <string>No results.</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp
index b8a44e5..2b11d02 100644
--- a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp
+++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp
@@ -247,29 +247,31 @@ void QtUserSearchWindow::prepopulateJIDAndName(const JID& jid, const std::string
void QtUserSearchWindow::setResults(const std::vector<UserSearchResult>& results) {
UserSearchModel *newModel = new UserSearchModel();
newModel->setResults(results);
resultsPage_->results_->setModel(newModel);
resultsPage_->results_->setItemDelegate(delegate_);
resultsPage_->results_->setHeaderHidden(true);
delete model_;
model_ = newModel;
+ resultsPage_->setNoResults(model_->rowCount() == 0);
}
void QtUserSearchWindow::setResultsForm(Form::ref results) {
QtFormResultItemModel *newModel = new QtFormResultItemModel(this);
newModel->setForm(results);
resultsPage_->results_->setModel(newModel);
resultsPage_->results_->setItemDelegate(new QItemDelegate());
resultsPage_->results_->setHeaderHidden(false);
resultsPage_->results_->header()->setResizeMode(QHeaderView::ResizeToContents);
delete model_;
model_ = newModel;
+ resultsPage_->setNoResults(model_->rowCount() == 0);
}
void QtUserSearchWindow::setSelectedService(const JID& jid) {
myServer_ = jid;
}
void QtUserSearchWindow::clearForm() {
fieldsPage_->fetchingThrobber_->show();
fieldsPage_->fetchingThrobber_->movie()->start();