diff --git a/src/qgsattributetablebase.ui b/src/qgsattributetablebase.ui
index 3c7ed2ee72e..f0cb86f11df 100644
--- a/src/qgsattributetablebase.ui
+++ b/src/qgsattributetablebase.ui
@@ -8,8 +8,8 @@
0
0
- 610
- 392
+ 645
+ 719
@@ -19,78 +19,251 @@
unnamed
-
- 11
-
-
- 6
-
-
+
- btnStopEditing
-
-
- Stop editing
+ layout5
+
+
+ unnamed
+
+
+
+ btnStartEditing
+
+
+ Start editing
+
+
+
+
+ spacer3
+
+
+ Horizontal
+
+
+ Expanding
+
+
+
+ 31
+ 20
+
+
+
+
+
+ btnStopEditing
+
+
+ Stop editing
+
+
+
+
+ spacer4
+
+
+ Horizontal
+
+
+ Expanding
+
+
+
+ 41
+ 20
+
+
+
+
+
+ btnClose
+
+
+
+
+
+
+ &Close
+
+
+ Alt+C
+
+
+
-
-
- spacer3
-
-
- Horizontal
-
-
- Expanding
-
-
-
- 31
- 20
-
-
-
-
-
- btnClose
-
-
-
-
-
-
- Close
-
-
-
-
- spacer4
-
-
- Horizontal
-
-
- Expanding
-
-
-
- 41
- 20
-
-
-
-
-
- btnStartEditing
-
-
- Start editing
-
-
-
+
tblAttributes
+
+
+ 7
+ 7
+ 0
+ 0
+
+
+
+
+
+ mAttributeEditingGroupBox
+
+
+
+ 5
+ 0
+ 0
+ 0
+
+
+
+ Attribute editing
+
+
+
+ spacer6
+
+
+ Horizontal
+
+
+ Expanding
+
+
+
+ 171
+ 20
+
+
+
+
+ 453
+ 43
+ 171
+ 20
+
+
+
+
+
+ mDeleteAttributeButton
+
+
+
+ 217
+ 31
+ 230
+ 45
+
+
+
+ &Delete attributes...
+
+
+ Alt+D
+
+
+
+
+ mAddAttributeButton
+
+
+
+ 11
+ 31
+ 200
+ 45
+
+
+
+ &Add attribute...
+
+
+ Alt+A
+
+
+
+
+
+ mSelectedGroupBox
+
+
+
+ 5
+ 0
+ 0
+ 0
+
+
+
+ Selected
+
+
+
+ spacer5
+
+
+ Horizontal
+
+
+ Expanding
+
+
+
+ 181
+ 21
+
+
+
+
+ 431
+ 42
+ 181
+ 21
+
+
+
+
+
+ mSelectedToTopButton
+
+
+
+ 11
+ 30
+ 202
+ 45
+
+
+
+ Selected to &top
+
+
+ Alt+T
+
+
+
+
+ mInvertSelectionButton
+
+
+
+ 219
+ 30
+ 206
+ 45
+
+
+
+ &Invert selection
+
+
+ Alt+I
+
+
@@ -114,7 +287,7 @@
- 789c6dd7596fe2481007f0f7f91468ea6db4aa0183016bb50f4980dc07b993d53e54db86900408671256fbddb7e9fa57ef461acd58cc4f5d5daebe6ccfcf1f95fb8bd3ca8f9fdf164b598ef24afe24f3ca8f62351e7ffef9d71f7f7ffb9e2495f037ab24df7ffbf6bdbface495b3e9a4dc82071e9464495eab063b75bd0ae7d1edaddd78eb7aadde48b2e035dc4e345e82633c3fc06d8da7beb95e0bfd0fe05cfbbb5eb4c62fcc88efaa1b55c4ef476b3de5d60d5f4f5dfb1fc0b99abbea4643f3710f6ea35e32633c5333fa1730ea25b5587e4acc8d909f6a6aeb4fb959dbdd216ce39f9871bf7b33f2cdb74e933455f35db484fe1db840be55b4de3fac4f2a69a6f1740117c8bf89d6f653731a368f90ba59d376be356b3b85f5682669063b18fdb913adf50ed4b1ff67b4de7f06637cd284513fdf98359edf608c974bb3ae379d9875bc721aadf5ecaa5b35ed2fcfc112ebd981313e9e446b7d6b18f9e4de8cfaaecd4d9dcf0375ab867a56d15acf144eb57e793163ffbcc219f663589f56bd857a651f4e31bf1f70a6fb4bc48cf5bf850b6d77efea764df3cb75b4b6efc029f6db3c5af387f96e39bbbf6c609b8f5d73ab1eda6bea760dfbffd0aced54856d3e46d11a7f05633c6e0fc679a09e19e73fb4b7fd785b2ef851edefa71ec3a95a1238d3f5e34db4ae570edbfc2dd519e68f76cd681fc2365f2d33f68383b1be8ecc187fd8ef6d3f7ed4b3636eeb7c9570a6e6215ca89de677560fbf98d11f16d4ef3ee1549f973432637ca84704ef0beb5f56d50bb3be5fdc47746897506fd6c830ff74696eeb7a3cc1a99ace609c47b7515b7d6e66467dcfd1fa3c6458b0bf1fcc381fef6a9768bd9446ebfb42f3e5b1be5773d6089ec1a8973f61ec775e9a311ef4b7fadc1b6cf51dc2257c19adf18519fbe3d68cf3a0e3cdad7e999a311fc77013f3f7048bae9f54cd583f89d6f6d48cfa3218eb4f8f66cce7b93ac7fc72781e8a5fcf2c0f3e82313f3c324b985f6aaa05fb951766ed4f77b0e0fc166ad7c4fbfdd28cf3f80c637cf41eadf381fb5bfdf21aade31b9bf1bee9a86d7c7261c6f7c0146e62fc617ec5af3fc6bf0f973a5e9e47ebf80ed52ed1fd263770539f4772079738df1f66b45fa9637d3d33eaebc2a84f9666e4cb609baf9b689d8fb519e7ef09b6fd19ce83f3f381f7d31e8c7c5237e37dde37e3f9d880ed3c70b4c6a766dcefd88cf7515b5d60ff73cb8cfce1f9e20a1faff37564d6e72d4dd4d65ffa663c3f3a66e47b34e3fba109633ea56bc6fb3833e37d19f6639ee625f6fb3a5acfc7b159f787e46a7f7feddf869b70c38cf93837637cd62ea8d7da05ef9b7ab47e1f5dc3d85f1cbe67f2c2eae10bb5cfa7f3f961d6f1c804c67cd38319df4b7b667c2f8ca3f5f95937e3797aaf2e139cffb0ff8ad4e2f94c1ddb77cda86711aded3333cee329dcd4f347e13c156561e773a52e9ba86768467c1b16b4b7cc58bff07d5c36cbc4e9f9de8105cfb72333ea39316b3c0da28bd09ec0565f38cfe59669c83f874bdc6fa81ee0fe1cbecf06be7f1ef2f597db3f4c2cec38f7d7af7e0b8dd2782e79c0437ee291bf9ef9855ffda5bf43ff67cc139efa3e6f31def18ce7bcf06d335ef28ad7fcce1ffcc91bdee15ddef3f11dee72aef1dcf371fb7cc0877cc4c77cc2a77cc6e77cc17dbee42bbee61bbee53bbee707a6102fbe8a053f72956b9c709d1b9c72935bdcf6bf1931110939caa960dd2f031e51c9551ad0909e7cc4889ee9855e694c139a7abfd18ce67c4f0bd6fd9efbfc555ad28ad6f44e1ff4499b70edd02eed5187bad4a37d9fff20e67fa6433ae2948ee9844efdddb7d7195ff9df9e8f3ef7592e7c7c1ff142977445d77443b731f71dddd383eff149235fd12355a94649ccff4a756a501a7337a9456dcac4a712f1f9bbe2427ed4eff30ffdfba6d0dcfebd3390a13c714346f22c2fbea24779f5f18bffea97b14c64bacd2d6f3293b92ce84196b2f25efbfb76e5fd6bfdf2c1e7b2cdbdf13d776457f6a4235de9c9be1c6ceb97c3aff5cb91cf772c27722a6772ee2bb990fe76c5fcef259dcb955cffbf7e7e911bc9fd7fa16f79222bb9e32bb9970779f4f7e86fe75faa52fb52ff5012a9d3da7f33f8ffd6628e4ea525ed109d39fe3aff7ec7ee39f275763873e21c555d2e235784b57df4d5bcfbfd517365cc3fe11b3770c3b096fef23dcf35d23db99154ddb37b71af6e8cfa0bb7dddf77e4dcd4bdf9b5ece2eaf8c8999bfbe8855bba955beb7e0ee7a5ebf75f2d5ca57b771feed36ddc8efff78472b7ebf65cc7757910cfd71be7ae47052de8c05f89bf16f1b7ef4ab7effcde7487168ff33ef0333bf0f7fad56f0fe7fd9fdfbffd0b74df4778
+ 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000045249444154789c8d95bf8b1d5514c73fbb19e40cbce81d788199b8911d48304f8cf0524876316016031ab14819acfcd1f8a34ba72222fe0b369a54a216a216c158049222645f131221c10928dc852cdc0bfb600e66dc39c58558ccee6ab0c93497c3650edff339df99efc28df51bec3e9f7cfee6438b8662800086431eab2e971c5f7cf4edc26eaf851beb37b8f8fd870f67d73c6fbf759e5c0427156a0149d0621414b4b414c8bf756a013033c2a6a7f19e181b564e56bc73eec2420630bbee39ffdec7b8aac61e2861ee294460046bd309860720a8079f13e60149156a8a2000d4076a48c6ec7ae09d73b070ead5f2e199d31f50d735b66534b161b254524f6bea25a14d1b90c2300146d080ce8de68ed06ed65832cc0ceb0ceb7bda79445c4f66117211ec81e1a3677a78c299d7a6281e3fbf0c29d29a2717a14d4231ca2153a6e386b8e1f1b355821a4e84f8a0a7c81c3e06324d86938a103d93c335aba76ba2cdb8152f42f2f83f1c39397d6a29b21cad846a6ca841b9acf45ca5bd721cd516b26127206464825aa05eaa583b3d41d33ab736bfc4d4b87d6d421b6b2c2992392c296e24544703d395801ad44b861e0d70b326a67687b9b148322401fb0dc3f37bfc0e9d1b572f4d089b15660a0866caea4b42b1dcd2dcac985daf910c34c1e458c0b21d97240320739960c0f1e74b7c77154b8166564357018ac8a0f4ccd9299313400afc8427dc9de0ca96fa88a2c9a88f2ab7b784227328b0a8c910725a3ca4488c10361e557ae69515565f9e528843cd58391d319478b7460d9c808c5b4068d3f0de229960f4149283192e1b188938c0583d3165edd4142742df298231fbd5e170f4095cc6c0fac880808cff30065a0bc8c86129df533a3d5a72eaec041941d006231034d0ce0bd4142c27ce0527a0dd4ee3341c8bbb8c498225a17413c0a80f3bd6ce55146284ee369622da790a27ac9d6da99604b29eb21cac276998b0c8dc207c97b1760dce0123a84b21a8a2ea310b80e2e781ca419f846a5c307d2360731d186730bb93ff9f714b4b1b05eb22c508ea9516498e1fbf51426cb87ca965fd879ae61ee41458eaa91cc838ec3116dc238c33924182e68e21638f594fb90cc7cf7ad67f7e8e9fbe2e201348cafaa58a76ab657a32a21a061f9b8139fc9ff208e37d470ebacfea675f80edfdc46dcf812ad26d1ba39171a0dec289903f39a77a26b1df751caa3bd2e2fd9da6e0b20cb5c4f8a0b1713707cbe8d27c601c36fdb0c0cde1d737990e9fab1b194c1b6a618fe530f6e002c964cfc7fdfec8f214665706d6fb8ebd587ef6f75f89d1be02ddeeb058717f13aaa7c09e30dc13a0db0ca78164d019d8d698e66ec1a1a73b4207767fcc9ff772547bc6e36c489077df7ffd6139aec9c541b21da64679c428c62de531831e72c06f086d2c885e2009e524522df534bf41b80f3a572e7cf5cb90202b272b66d7036e6414385a8664686e4341cdfa15ddcbc5dd7b3048463f733402a41eed947ad9fd9b79ff0dd3b8a97b8ac976b6fc187559c2179ffeb817a6ff006d91847a572d3c0b0000000049454e44ae426082
@@ -124,6 +297,42 @@
QgsAttributeTableBase
close()
+
+ btnStartEditing
+ clicked()
+ QgsAttributeTableBase
+ startEditing()
+
+
+ btnStopEditing
+ clicked()
+ QgsAttributeTableBase
+ stopEditing()
+
+
+ mSelectedToTopButton
+ clicked()
+ QgsAttributeTableBase
+ selectedToTop()
+
+
+ mInvertSelectionButton
+ clicked()
+ QgsAttributeTableBase
+ invertSelection()
+
+
+ mAddAttributeButton
+ clicked()
+ QgsAttributeTableBase
+ addAttribute()
+
+
+ mDeleteAttributeButton
+ clicked()
+ QgsAttributeTableBase
+ deleteAttributes()
+
qgsattributetablebase.ui.h
@@ -136,6 +345,8 @@
addAttribute()
startEditing()
stopEditing()
+ invertSelection()
+ selectedToTop()
setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)0, 0, 0, mMenuBar->sizePolicy().hasHeightForWidth() ) );
- mMenuBar->setMinimumSize( QSize( 0, 40 ) );
-
- QgsAttributeTableBaseLayout->addMultiCellWidget( mMenuBar, 0, 0, 0, 4 );
-
- edit = new QPopupMenu(this);
- QPopupMenu* selection = new QPopupMenu(this);
-
- edit->insertItem(tr("&Add Attribute..."), this, SLOT(addAttribute()), CTRL+Key_A,0);
- edit->insertItem(tr("&Delete Attributes..."), this, SLOT(deleteAttributes()), CTRL+Key_D,1);
- selection->insertItem(tr("&Bring selection to top"), this, SLOT(selectedToTop()), CTRL+Key_T);
- selection->insertItem(tr("&Invert selection"), this, SLOT(invertSelection()), CTRL+Key_I);
- mMenuBar->insertItem(tr("&Edit"), edit);
- mMenuBar->insertItem(tr("&Selection"),selection);
- edit->setItemEnabled(0,false);
- edit->setItemEnabled(1,false);
+ mAddAttributeButton->setEnabled(false);
+ mDeleteAttributeButton->setEnabled(false);
btnStopEditing->setEnabled(false);
int cap=layer->getDataProvider()->capabilities();
@@ -61,9 +45,6 @@ QgsAttributeTableDisplay::QgsAttributeTableDisplay(QgsVectorLayer* layer):QgsAtt
{
btnStartEditing->setEnabled(false);
}
-
- QObject::connect(btnStartEditing, SIGNAL(clicked()), this, SLOT(startEditing()));
- QObject::connect(btnStopEditing, SIGNAL(clicked()), this, SLOT(stopEditing()));
}
QgsAttributeTableDisplay::~QgsAttributeTableDisplay()
@@ -107,18 +88,19 @@ void QgsAttributeTableDisplay::addAttribute()
void QgsAttributeTableDisplay::startEditing()
{
QgsVectorDataProvider* provider=mLayer->getDataProvider();
- bool editing=false;
+ bool editing=false;
if(provider)
{
if(provider->capabilities()&QgsVectorDataProvider::AddAttributes)
{
- edit->setItemEnabled(0,true);
+ mAddAttributeButton->setEnabled(true);
editing=true;
}
if(provider->capabilities()&QgsVectorDataProvider::DeleteAttributes)
{
- edit->setItemEnabled(1,true);
+
+ mDeleteAttributeButton->setEnabled(true);
editing=true;
}
if(provider->capabilities()&QgsVectorDataProvider::ChangeAttributeValues)
@@ -157,8 +139,10 @@ void QgsAttributeTableDisplay::stopEditing()
btnStartEditing->setEnabled(true);
btnStopEditing->setEnabled(false);
btnClose->setEnabled(true);
- edit->setItemEnabled(0,false);
- edit->setItemEnabled(1,false);
+ //edit->setItemEnabled(0,false);
+ //edit->setItemEnabled(1,false);
+ mAddAttributeButton->setEnabled(false);
+ mDeleteAttributeButton->setEnabled(false);
table()->setReadOnly(true);
}
diff --git a/src/qgsattributetabledisplay.h b/src/qgsattributetabledisplay.h
index d335ad11b45..8a9446c043e 100644
--- a/src/qgsattributetabledisplay.h
+++ b/src/qgsattributetabledisplay.h
@@ -43,7 +43,6 @@ class QgsAttributeTableDisplay:public QgsAttributeTableBase
void setTitle(QString title);
protected:
QgsVectorLayer* mLayer;
- QPopupMenu* edit;
protected slots:
void deleteAttributes();