[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/office/datakiosk/src
From:       Adam Treat <treat () kde ! org>
Date:       2006-01-27 17:35:29
Message-ID: 1138383329.045113.28696.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 502970 by treat:

* Allow the views to override the default double click action of the tables.  This \
will raise the view instead of the associated editor.

 M  +6 -0      datatable.cpp  
 M  +1 -0      datatable.h  
 M  +1 -1      datatableview.cpp  
 M  +10 -0     dataview.cpp  
 M  +4 -0      dataview.h  
 M  +16 -0     projectbox.cpp  
 M  +3 -0      projectbox.h  
 M  +10 -0     projectfile.cpp  


--- trunk/extragear/office/datakiosk/src/datatable.cpp #502969:502970
@@ -863,6 +863,12 @@
     }
 }
 
+void DataTable::doubleClicked()
+{
+    if ( !ProjectBox::getInstance()->doubleClickOverride( name() ) )
+        scrollTabRight();
+}
+
 void DataTable::addVirtualField()
 {
     QString name = uniqueDataFieldName( i18n( "Virtual Field" ) );
--- trunk/extragear/office/datakiosk/src/datatable.h #502969:502970
@@ -201,6 +201,7 @@
     void addVirtualField();
     void configureDataField( DataField *field );
     void printTable();
+    void doubleClicked();
 
 signals:
     void requestParentSelect();
--- trunk/extragear/office/datakiosk/src/datatableview.cpp #502969:502970
@@ -43,7 +43,7 @@
     setFalseText( "false" );
     setDateFormat ( Qt::ISODate );
     QObject::connect( this, SIGNAL( doubleClicked( int, int, int, const QPoint & ) \
                ),
-                      m_dataTable, SLOT( scrollTabRight() ) );
+                      m_dataTable, SLOT( doubleClicked() ) );
 }
 
 DataTableView::~DataTableView()
--- trunk/extragear/office/datakiosk/src/dataview.cpp #502969:502970
@@ -202,6 +202,16 @@
     m_trackTables = track;
 }
 
+QStringList DataView::doubleClicks() const
+{
+    return m_doubleClickOverride;
+}
+
+void DataView::setDoubleClicks( const QStringList &list )
+{
+    m_doubleClickOverride = list;
+}
+
 QStringList DataView::tables() const
 {
     QStringList list;
--- trunk/extragear/office/datakiosk/src/dataview.h #502969:502970
@@ -166,6 +166,9 @@
     bool trackTableSelection() const;
     void setTrackTableSelection( bool track );
 
+    QStringList doubleClicks() const;
+    void setDoubleClicks( const QStringList &list );
+
     QStringList tables() const;
     void setupEditors();
 
@@ -224,6 +227,7 @@
     QString m_dataViewIconName;
     QString m_currentDataTable;
     QMap<QString, ViewTableEdit *> m_tableEdits;
+    QStringList m_doubleClickOverride;
     bool m_trackTables;
 };
 
--- trunk/extragear/office/datakiosk/src/projectbox.cpp #502969:502970
@@ -578,6 +578,13 @@
     connect( dataView, SIGNAL( selectionChanged() ),
              this, SIGNAL( viewSelectionChanged() ) );
 
+    QStringList doubleClicks = dataView->doubleClicks();
+    QStringList::Iterator table = doubleClicks.begin();
+    for ( ; table != doubleClicks.end(); ++table )
+    {
+        m_doubleClickOverride[ ( *table ) ] = dataView;
+    }
+
     raise( dataView );
 }
 
@@ -925,6 +932,15 @@
     return m_dataReports;
 }
 
+bool ProjectBox::doubleClickOverride( const QString &table )
+{
+    bool override = m_doubleClickOverride.contains( table );
+    if ( override )
+        raise( m_doubleClickOverride[ table ] );
+
+    return override;
+}
+
 void ProjectBox::scrollTableUp()
 {
     QListViewItem * nextItem = currentItem() ->itemAbove();
--- trunk/extragear/office/datakiosk/src/projectbox.h #502969:502970
@@ -158,6 +158,8 @@
     DataViewList viewList() const;
     DataReportList reportList() const;
 
+    bool doubleClickOverride( const QString &table );
+
 public slots:
     void initialize();
 
@@ -278,6 +280,7 @@
     DataReportList m_dataReports;
 
     QStringList m_uniqueNames;
+    QMap< QString, DataView* > m_doubleClickOverride;
 };
 
 inline QString absolute( const QString &f,
--- trunk/extragear/office/datakiosk/src/projectfile.cpp #502969:502970
@@ -248,6 +248,7 @@
     QString number = read( node, "number" );
     QString icon = absolute( read( node, "icon" ) );
     bool tracktables = read( node, "tracktables" ) == "true";
+    QStringList doubleClicks = readList( node, "doubleclick" );
 
     DataView *dv = ProjectBox::getInstance() ->createDataView();
     if ( !dv )
@@ -262,6 +263,7 @@
     dv->setNumber( number.toInt() );
     dv->setIconName( icon );
     dv->setTrackTableSelection( tracktables );
+    dv->setDoubleClicks( doubleClicks );
 
     QDomNodeList children = node.childNodes();
     for ( uint i = 0; i < children.length(); i++ )
@@ -747,6 +749,14 @@
         write( ts, i, "tracktables",
                ( *dataView ) ->trackTableSelection() ? "true" : "false" );
 
+        QStringList doubleClicks = ( *dataView ) ->doubleClicks();
+        QStringList::Iterator table = doubleClicks.begin();
+        for ( ; table != doubleClicks.end(); ++table )
+        {
+            write( ts, i, "doubleclick",
+                   ( *table ) );
+        }
+
         QValueList<ViewTableEdit *> viewTableEdits =
             ( *dataView ) ->tableEdits();
         QValueList<ViewTableEdit *>::ConstIterator viewTableEdit =


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic