[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-11 20:55:51
Message-ID: 1137012951.188498.24615.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 497066 by treat:

* Order the relation combos by the first field.  Fixes for the datasearch, etc

 M  +4 -2      datatableeditorfactory.cpp  
 M  +15 -3     datatablesearch.cpp  
 M  +9 -3      projectbox.cpp  


--- trunk/extragear/office/datakiosk/src/datatableeditorfactory.cpp #497065:497066
@@ -935,17 +935,19 @@
     if ( where.count() )
         fullquerystring.append( "WHERE " + where.join( "" ) );
 
+    fullquerystring.append( " ORDER BY " + select[ 2 ] + " ASC" );
+
     DatabaseConnection * database =
         ProjectBox::getInstance() ->databaseConnection( m_dataTable->connection() );
 
     QSqlQuery query( fullquerystring, database->connection() );
 
-    //     kdDebug() << fullquerystring << endl;
+//     kdDebug() << fullquerystring << endl;
 
     KProgressDialog progress( widget, "progress",
                               m_dataField->label(),
                               i18n( "Calculating widths..." ), true );
-progress.progressBar()->setTotalSteps( ( query.size() <= 1000 ? query.size() : 1000 ) );
+    progress.progressBar()->setTotalSteps( ( query.size() <= 1000 ? query.size() : 1000 ) );
     progress.setAllowCancel( false );
 
     if ( calculateWidths )
--- trunk/extragear/office/datakiosk/src/datatablesearch.cpp #497065:497066
@@ -209,10 +209,12 @@
         if ( !dataTable )
             continue;
         QString sql = ( *componentIt ).query();
-        if ( !dataTable->defaultFilter().isEmpty()
-                || !dataTable->searchFilter().isEmpty() )
+        if ( !dataTable->searchFilter().isEmpty()
+             || !dataTable->defaultFilter().isEmpty() )
             sql.prepend( " AND " );
+
         dataTable->setSearchFilter( dataTable->searchFilter() + sql );
+
         execQuery( dataTable, dataTable->defaultFilter().append( dataTable->searchFilter() ) );
     }
     return true;
@@ -367,6 +369,16 @@
                         list.append( subselect );
 
                         QString sql = constructSQLForList( ( *it2 ) );
+                        QString searchFilter = ( *it2 )->searchFilter();
+                        if ( searchFilter.startsWith( " AND " ) )
+                            ( *it2 )->setSearchFilter( searchFilter.right( searchFilter.length() - 5) );
+
+                        if ( !( *it2 )->searchFilter().isEmpty() )
+                        {
+                            sql.prepend( " AND " );
+                            sql = ( *it2 )->searchFilter() + sql;
+                        }
+
                         if ( j == complex.size() )
                         {
                             tables.append( ( *it2 ) ->tableName() );
@@ -380,7 +392,7 @@
                             sql.prepend( " AND " );
                             if ( ( *it2 )->searchFilter() != sql )
                             {
-                                ( *it2 ) ->setSearchFilter( ( *it2 )->searchFilter() + sql );
+                                ( *it2 ) ->setSearchFilter( sql );
                                 /*kdDebug() << "Constructing search for '" << ( *it2 ) ->name() << "': "
                                           << ( *it2 )->searchFilter() << endl;*/
                             }
--- trunk/extragear/office/datakiosk/src/projectbox.cpp #497065:497066
@@ -330,12 +330,14 @@
         setSelected( currentItem(), false );
         setCurrentItem( m_tablesCategory->firstChild() );
         setSelected( m_tablesCategory->firstChild(), true );
+        action( "new_project" ) ->setEnabled( projectEditable() && true );
+        action( "open_project" ) ->setEnabled( projectEditable() && true );
         action( "edit_project" ) ->setEnabled( projectEditable() && true );
         action( "update_connection_schemas" ) ->setEnabled( projectEditable() && true );
         action( "create_datatable" ) ->setEnabled( projectEditable() && true );
         action( "save_project" ) ->setEnabled( projectEditable() && true );
         action( "save_project_as" ) ->setEnabled( projectEditable() && true );
-        action( "close_project" ) ->setEnabled( true );
+        action( "close_project" ) ->setEnabled( projectEditable() && true );
         action( "print" ) ->setEnabled( true );
     }
     else
@@ -1368,14 +1370,18 @@
 
 void ProjectBox::openProject()
 {
-    saveProjectOnClose();
-
     QString filename = KFileDialog::getOpenFileName (
                            QString::null,
                            "*.pro",
                            widget,
                            i18n( "Open Project File" )
                        );
+
+    if ( filename.isEmpty() )
+        return;
+
+    saveProjectOnClose();
+
     m_fileName = filename;
 
     kdDebug() << "loading project file:" << filename << endl;
[prev in list] [next in list] [prev in thread] [next in thread] 

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