[QGIS Commit] r8945 - in trunk/qgis/src: app ui

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon Jul 28 16:09:29 EDT 2008


Author: timlinux
Date: 2008-07-28 16:09:29 -0400 (Mon, 28 Jul 2008)
New Revision: 8945

Modified:
   trunk/qgis/src/app/qgsattributetabledisplay.cpp
   trunk/qgis/src/app/qgsattributetabledisplay.h
   trunk/qgis/src/ui/qgsattributetablebase.ui
Log:
Fix ticket #982 - combine start / stop editing into one button

Modified: trunk/qgis/src/app/qgsattributetabledisplay.cpp
===================================================================
--- trunk/qgis/src/app/qgsattributetabledisplay.cpp	2008-07-28 20:01:03 UTC (rev 8944)
+++ trunk/qgis/src/app/qgsattributetabledisplay.cpp	2008-07-28 20:09:29 UTC (rev 8945)
@@ -55,8 +55,6 @@
   connect(mZoomMapToSelectedRowsButton, SIGNAL(clicked()), this, SLOT(zoomMapToSelectedRows()));
   connect(mAddAttributeButton, SIGNAL(clicked()), this, SLOT(addAttribute()));
   connect(mDeleteAttributeButton, SIGNAL(clicked()), this, SLOT(deleteAttributes()));
-  connect(btnStartEditing, SIGNAL(clicked()), this, SLOT(startEditing()));
-  connect(btnStopEditing, SIGNAL(clicked()), this, SLOT(stopEditing()));
   connect(mSearchButton, SIGNAL(clicked()), this, SLOT(search()));
   connect(mSearchShowResults, SIGNAL(activated(int)), this, SLOT(searchShowResultsChanged(int)));
   connect(btnAdvancedSearch, SIGNAL(clicked()), this, SLOT(advancedSearch()));
@@ -69,17 +67,16 @@
   mAddAttributeButton->setEnabled(false);
   mDeleteAttributeButton->setEnabled(false);
 
-  btnStopEditing->setEnabled(false);
   int cap=layer->getDataProvider()->capabilities();
   if((cap&QgsVectorDataProvider::ChangeAttributeValues)
       ||(cap&QgsVectorDataProvider::AddAttributes)
       ||(cap&QgsVectorDataProvider::DeleteAttributes))
   {
-    btnStartEditing->setEnabled(true);
+    btnEdit->setEnabled(true);
   }
   else
   {
-    btnStartEditing->setEnabled(false);
+    btnEdit->setEnabled(false);
   }
 
   // fill in mSearchColumns with available columns
@@ -175,8 +172,7 @@
     }
     if(editing)
     {
-      btnStartEditing->setEnabled(false);
-      btnStopEditing->setEnabled(true);
+      btnEdit->setText(tr("Stop editing"));
       buttonBox->button(QDialogButtonBox::Close)->setEnabled(false);
       //make the dialog modal when in editable
       //otherwise map editing and table editing
@@ -185,9 +181,27 @@
       setModal(true);
       show();
     }
+    else
+    {
+      //revert button
+      QMessageBox::information(this,tr("Editing not permitted"),tr("The data provider is read only, editing is not allowed."));
+      btnEdit->setChecked(false);
+    }
   }
 }
 
+void QgsAttributeTableDisplay::on_btnEdit_toggled(bool theFlag)
+{
+  if (theFlag)
+  {
+    startEditing();
+  }
+  else
+  {
+    stopEditing();
+  }
+}
+
 void QgsAttributeTableDisplay::stopEditing()
 {
   if(table()->edited())
@@ -213,8 +227,7 @@
       return;
     }
   }
-  btnStartEditing->setEnabled(true);
-  btnStopEditing->setEnabled(false);
+  btnEdit->setText(tr("Start editing"));
   buttonBox->button(QDialogButtonBox::Close)->setEnabled(true);
   mAddAttributeButton->setEnabled(false);
   mDeleteAttributeButton->setEnabled(false);

Modified: trunk/qgis/src/app/qgsattributetabledisplay.h
===================================================================
--- trunk/qgis/src/app/qgsattributetabledisplay.h	2008-07-28 20:01:03 UTC (rev 8944)
+++ trunk/qgis/src/app/qgsattributetabledisplay.h	2008-07-28 20:09:29 UTC (rev 8945)
@@ -60,6 +60,7 @@
   protected slots:
     void deleteAttributes();
     void addAttribute();
+    void on_btnEdit_toggled(bool theFlag);
     void startEditing();
     void stopEditing();
     void selectedToTop();

Modified: trunk/qgis/src/ui/qgsattributetablebase.ui
===================================================================
--- trunk/qgis/src/ui/qgsattributetablebase.ui	2008-07-28 20:01:03 UTC (rev 8944)
+++ trunk/qgis/src/ui/qgsattributetablebase.ui	2008-07-28 20:09:29 UTC (rev 8945)
@@ -162,20 +162,13 @@
       </spacer>
      </item>
      <item>
-      <widget class="QPushButton" name="btnStartEditing" >
+      <widget class="QPushButton" name="btnEdit" >
        <property name="text" >
         <string>Start editing</string>
        </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="btnStopEditing" >
-       <property name="text" >
-        <string>Stop editin&amp;g</string>
+       <property name="checkable" >
+        <bool>true</bool>
        </property>
-       <property name="shortcut" >
-        <string>Alt+G</string>
-       </property>
       </widget>
      </item>
     </layout>
@@ -272,8 +265,7 @@
   <tabstop>mZoomMapToSelectedRowsButton</tabstop>
   <tabstop>mAddAttributeButton</tabstop>
   <tabstop>mDeleteAttributeButton</tabstop>
-  <tabstop>btnStartEditing</tabstop>
-  <tabstop>btnStopEditing</tabstop>
+  <tabstop>btnEdit</tabstop>
   <tabstop>mSearchText</tabstop>
   <tabstop>mSearchColumns</tabstop>
   <tabstop>mSearchButton</tabstop>



More information about the QGIS-commit mailing list