Skip to content

Commit 2acb822

Browse files
author
timlinux
committed
Updates to table widget layout
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@10423 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 857df4c commit 2acb822

File tree

3 files changed

+202
-82
lines changed

3 files changed

+202
-82
lines changed

src/app/attributetable/BeataDialog.cpp

Lines changed: 21 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -79,38 +79,31 @@ BeataDialog::BeataDialog(QgsVectorLayer *theLayer, QWidget *parent, Qt::WindowFl
7979

8080
setWindowTitle( tr( "Attribute table - %1" ).arg( mLayer->name() ) );
8181

82-
mMenuActions = new QMenu();
83-
mMenuActions->addAction(tr("Advanced search"), this, SLOT(advancedSearch()));
84-
mMenuActions->addSeparator();
85-
mMenuActions->addAction(getThemeIcon( "/mActionCopySelected.png" ), tr("Copy selected rows"), this, SLOT(copySelectedRowsToClipboard()));
86-
mMenuActions->addAction(getThemeIcon( "/mActionZoomToSelected.png" ), tr("Zoom to selected"), this, SLOT(zoomMapToSelectedRows()));
87-
mMenuActions->addAction(getThemeIcon( "/mActionSelectedToTop.png" ), tr("Move selected to top"), this, SLOT(selectedToTop()));
88-
mMenuActions->addAction(getThemeIcon( "/mActionUnselectAttributes.png" ), tr("Clear selection"), this, SLOT(removeSelection()));
89-
mMenuActions->addAction(getThemeIcon( "/mActionInvertSelection.png" ), tr("Invert selection"), this, SLOT(invertSelection()));
90-
mMenuActions->addSeparator();
91-
82+
mRemoveSelectionButton->setIcon(getThemeIcon( "/mActionUnselectAttributes.png" ));
83+
mSelectedToTopButton->setIcon(getThemeIcon( "/mActionSelectedToTop.png" ));
84+
mCopySelectedRowsButton->setIcon(getThemeIcon( "/mActionCopySelected.png" ));
85+
mZoomMapToSelectedRowsButton->setIcon(getThemeIcon( "/mActionZoomToSelected.png" ) );
86+
mInvertSelectionButton->setIcon(getThemeIcon( "/mActionInvertSelection.png" ) );
87+
mToggleEditingButton->setIcon(getThemeIcon( "/mActionToggleEditing.png" ) );
9288
// toggle editing
93-
mActionToggleEditing = mMenuActions->addAction(getThemeIcon( "/mActionToggleEditing.png" ), tr("Toggle editing"), this, SLOT(toggleEditing()));
94-
mActionToggleEditing->setCheckable( true );
95-
mActionToggleEditing->setEnabled( mLayer->dataProvider()->capabilities() & QgsVectorDataProvider::ChangeAttributeValues );
89+
mToggleEditingButton->setCheckable( true );
90+
mToggleEditingButton->setEnabled( mLayer->dataProvider()->capabilities() & QgsVectorDataProvider::ChangeAttributeValues );
91+
9692
// info from table to application
9793
connect( this, SIGNAL( editingToggled( QgsMapLayer * ) ), QgisApp::instance(), SLOT( toggleEditing( QgsMapLayer * ) ) );
9894
// info from layer to table
9995
connect( mLayer, SIGNAL( editingStarted() ), this, SLOT( editingToggled() ) );
10096
connect( mLayer, SIGNAL( editingStopped() ), this, SLOT( editingToggled() ) );
10197

102-
connect(btnShowAll, SIGNAL(clicked()), this, SLOT(clickedShowAll()));
103-
connect(btnShowSelected, SIGNAL(clicked()), this, SLOT(clickedShowSelected()));
104-
10598
connect(searchButton, SIGNAL(clicked()), this, SLOT(search()));
106-
connect(actionsButton, SIGNAL(clicked()), this, SLOT(showAdvanced()));
10799

108100
connect(mLayer, SIGNAL(selectionChanged()), this, SLOT(updateSelectionFromLayer()));
109101
connect(mLayer, SIGNAL(layerDeleted()), this, SLOT( close()));
110102
connect(mView->verticalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(updateRowSelection(int)));
111103
connect(mModel, SIGNAL(modelChanged()), this, SLOT(updateSelection()));
112104

113-
clickedShowAll(); // make sure the show all button is checked
105+
//make sure to show all recs on first load
106+
on_cbxShowSelectedOnly_toggled( false );
114107

115108
mLastClickedHeaderIndex = 0;
116109
mSelectionModel = new QItemSelectionModel(mFilterModel);
@@ -160,7 +153,7 @@ void BeataDialog::showAdvanced()
160153
mMenuActions->exec(QCursor::pos());
161154
}
162155

163-
void BeataDialog::selectedToTop()
156+
void BeataDialog::on_mSelectedToTopButton_clicked()
164157
{
165158
int freeIndex = 0;
166159

@@ -200,55 +193,34 @@ void BeataDialog::selectedToTop()
200193
updateSelection();
201194
}
202195

203-
void BeataDialog::copySelectedRowsToClipboard()
196+
void BeataDialog::on_mCopySelectedRowsButton_clicked()
204197
{
205198
QgisApp::instance()->editCopy(mLayer);
206199
}
207200

208-
void BeataDialog::zoomMapToSelectedRows()
201+
void BeataDialog::on_mZoomMapToSelectedRowsButton_clicked()
209202
{
210203
QgisApp::instance()->zoomToSelected();
211204
}
212205

213-
void BeataDialog::invertSelection()
206+
void BeataDialog::on_mInvertSelectionButton_clicked()
214207
{
215208
mLayer->invertSelection();
216209
}
217210

218-
void BeataDialog::removeSelection()
211+
void BeataDialog::on_mRemoveSelectionButton_clicked()
219212
{
220213
mLayer->removeSelection();
221214
}
222215

223-
void BeataDialog::clickedShowAll()
216+
void BeataDialog::on_cbxShowSelectedOnly_toggled( bool theFlag )
224217
{
225-
// the button can't be unchecked by clicking it
226-
// gets unchecked when show selected is clicked
227-
if (!btnShowAll->isChecked())
228-
{
229-
btnShowAll->setChecked(true);
230-
}
231-
btnShowSelected->setChecked(false);
232-
233-
mFilterModel->mHideUnselected = false;
218+
mFilterModel->mHideUnselected = theFlag;
234219
mFilterModel->invalidate();
235220
//TODO: weird
236221
//mModel->changeLayout();
237222
}
238223

239-
void BeataDialog::clickedShowSelected()
240-
{
241-
if (!btnShowSelected->isChecked())
242-
{
243-
btnShowSelected->setChecked(true);
244-
}
245-
btnShowAll->setChecked(false);
246-
247-
mFilterModel->mHideUnselected = true;
248-
mFilterModel->invalidate();
249-
//mModel->changeLayout();
250-
}
251-
252224
void BeataDialog::columnBoxInit()
253225
{
254226
QgsFieldMap fieldMap = mLayer->dataProvider()->fields();
@@ -502,7 +474,7 @@ void BeataDialog::search()
502474
doSearch(str);
503475
}
504476

505-
void BeataDialog::advancedSearch()
477+
void BeataDialog::on_mAdvancedSearchButton_clicked()
506478
{
507479
QgsSearchQueryBuilder dlg(mLayer, this);
508480
dlg.setSearchString(mQuery->displayText());
@@ -511,14 +483,14 @@ void BeataDialog::advancedSearch()
511483
doSearch(dlg.searchString());
512484
}
513485

514-
void BeataDialog::toggleEditing()
486+
void BeataDialog::on_mToggleEditingButton_toggled()
515487
{
516488
emit editingToggled( mLayer );
517489
}
518490

519491
void BeataDialog::editingToggled()
520492
{
521-
mActionToggleEditing->setChecked( mLayer->isEditable() );
493+
mToggleEditingButton->setChecked( mLayer->isEditable() );
522494

523495
// (probably reload data if user stopped editing - possible revert)
524496
mModel->reload(mModel->index(0,0), mModel->index(mModel->rowCount(), mModel->columnCount()));

src/app/attributetable/BeataDialog.h

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,22 @@ private slots:
5656
void submit();
5757
void revert();
5858
void search();
59-
void advancedSearch();
59+
void on_mAdvancedSearchButton_clicked();
6060
void updateSelection();
6161
void updateSelectionFromLayer();
6262
void updateRowSelection(int index);
6363
void updateRowSelection(int first, int last, bool startNewSelection);
6464

65-
void clickedShowAll();
66-
void clickedShowSelected();
65+
void on_cbxShowSelectedOnly_toggled( bool theFlag );
66+
void on_mCopySelectedRowsButton_clicked();
6767

68-
void startEditing();
69-
void invertSelection();
70-
void removeSelection();
71-
void copySelectedRowsToClipboard();
72-
void zoomMapToSelectedRows();
73-
void selectedToTop();
68+
void on_mToggleEditingButton_toggled();
69+
void on_mInvertSelectionButton_clicked();
70+
void on_mRemoveSelectionButton_clicked();
71+
void on_mZoomMapToSelectedRowsButton_clicked();
72+
void on_mSelectedToTopButton_clicked();
7473
void showAdvanced();
75-
void toggleEditing();
74+
void startEditing();
7675

7776
signals:
7877
void editingToggled( QgsMapLayer * );

0 commit comments

Comments
 (0)