From: <hp...@us...> - 2003-07-28 13:11:52
|
Update of /cvsroot/tora/tora In directory sc8-pr-cvs1:/tmp/cvs-serv5450 Modified Files: NEWS tobrowser.cpp toresult.cpp toresult.h Log Message: Index: NEWS =================================================================== RCS file: /cvsroot/tora/tora/NEWS,v retrieving revision 1.890 retrieving revision 1.891 diff -C2 -d -r1.890 -r1.891 *** NEWS 28 Jul 2003 10:58:35 -0000 1.890 --- NEWS 28 Jul 2003 13:11:49 -0000 1.891 *************** *** 1,4 **** --- 1,7 ---- 1.3.11: + 2003-07-28: Fixed problem with SQL not being updated on some queries on connectionchange. + 2003-07-28: Hide tabs instead of disabling them when not handled. (Thanx Oliver Jehle) + 2003-07-28: Fixed problem with switching connection in database browser. 2003-07-28: Use new utility function to check DB type. (Thanx Oliver Jehle) 2003-07-27: Added mandrake RPM build to release scripts. Index: tobrowser.cpp =================================================================== RCS file: /cvsroot/tora/tora/tobrowser.cpp,v retrieving revision 1.116 retrieving revision 1.117 diff -C2 -d -r1.116 -r1.117 *** tobrowser.cpp 28 Jul 2003 10:58:35 -0000 1.116 --- tobrowser.cpp 28 Jul 2003 13:11:49 -0000 1.117 *************** *** 876,882 **** this,SLOT(changeSchema(int))); Schema->setSQL(toSQL::sql(toSQL::TOSQL_USERLIST)); ! if (connection.provider()=="MySQL") Schema->setSelected(connection.database()); ! else if (connection.provider()=="Oracle"||connection.provider()=="SapDB") Schema->setSelected(connection.user().upper()); else --- 876,882 ---- this,SLOT(changeSchema(int))); Schema->setSQL(toSQL::sql(toSQL::TOSQL_USERLIST)); ! if (toIsMySQL(connection)) Schema->setSelected(connection.database()); ! else if (toIsOracle(connection)||toIsSapDB(connection)) Schema->setSelected(connection.user().upper()); else Index: toresult.cpp =================================================================== RCS file: /cvsroot/tora/tora/toresult.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** toresult.cpp 17 Jul 2002 10:39:08 -0000 1.16 --- toresult.cpp 28 Jul 2003 13:11:49 -0000 1.17 *************** *** 44,47 **** --- 44,48 ---- #include "toresult.moc" + toResult::toResult() : Slots(this) *************** *** 50,56 **** Handled=true; Tabs=NULL; ! ParametersSet=FromSQL=false; } void toResult::changeHandle(void) { --- 51,61 ---- Handled=true; Tabs=NULL; ! TabIndex=-1; ! QueryReady=FromSQL=false; ! TabWidget=NULL; } + #define HIDETABS + void toResult::changeHandle(void) { *************** *** 58,70 **** if (widget) { widget->setEnabled(handled()); ! QWidget *par=widget->parentWidget(); ! while(par&&(par->isA("QVBox")||par->isA("QWidgetStack")||(Tabs&&Tabs!=par))) { ! if (!par->isA("QWidgetStack")) ! widget=par; ! par=par->parentWidget(); ! } ! if (par&&par->isA("QTabWidget")) { ! QTabWidget *tab=(QTabWidget *)par; ! tab->setTabEnabled(widget,handled()); } } --- 63,101 ---- if (widget) { widget->setEnabled(handled()); ! if (handled()) { ! if (TabWidget&&Tabs&&handled()) { ! #ifdef HIDETABS ! Tabs->insertTab(TabWidget,TabLabel,TabIndex); ! TabIndex=-1; ! TabWidget=NULL; ! #else ! Tabs->setTabEnabled(TabWidget,true); ! TabWidget=NULL; ! #endif ! } ! } else { ! QWidget *par=widget->parentWidget(); ! QWidget *widgetInStack=widget; ! while(par&&(par->isA("QVBox")||par->isA("QWidgetStack")||(Tabs&&Tabs!=par))) { ! if (!par->isA("QWidgetStack")) { ! widgetInStack=par; ! } ! par=par->parentWidget(); ! } ! if (par&&par->isA("QTabWidget")) { ! if (!Tabs) ! Tabs=(QTabWidget *)par; ! #ifdef HIDETABS ! TabIndex=Tabs->indexOf(widgetInStack); ! if (TabIndex>=0) { ! TabLabel=Tabs->label(TabIndex); ! Tabs->removePage(widgetInStack); ! TabWidget=widgetInStack; ! } ! #else ! Tabs->setTabEnabled(widgetInStack,false); ! TabWidget=widgetInStack; ! #endif ! } } } *************** *** 90,95 **** if(FromSQL) { try { ! if (ParametersSet) query(toSQL::string(sqlName().latin1(),connection()),(const toQList)Params); setHandle(true); } catch(...) { --- 121,128 ---- if(FromSQL) { try { ! if (QueryReady) query(toSQL::string(sqlName().latin1(),connection()),(const toQList)Params); + else if (FromSQL) + SQL=toSQL::string(sqlName().latin1(),connection()); setHandle(true); } catch(...) { *************** *** 220,223 **** --- 253,264 ---- SQL=sql; Params=par; + QueryReady=true; return true; + } + + void toResult::refresh() + { + QString t=SQL; + SQL="refresh"; + query((const QString &)t,(const toQList &)Params); } Index: toresult.h =================================================================== RCS file: /cvsroot/tora/tora/toresult.h,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** toresult.h 5 Mar 2002 17:40:56 -0000 1.31 --- toresult.h 28 Jul 2003 13:11:49 -0000 1.32 *************** *** 78,83 **** QTabWidget *Tabs; QString SQL; ! bool ParametersSet; toQList Params; bool FromSQL; --- 78,87 ---- QTabWidget *Tabs; + int TabIndex; + QString TabLabel; + QWidget *TabWidget; + QString SQL; ! bool QueryReady; toQList Params; bool FromSQL; *************** *** 87,91 **** */ void setParams(const toQList &par) ! { Params=par; ParametersSet=true; } /** Set SQL and parameters and return false if query shouldn't be reexecuted. */ --- 91,95 ---- */ void setParams(const toQList &par) ! { Params=par; QueryReady=true; } /** Set SQL and parameters and return false if query shouldn't be reexecuted. */ *************** *** 108,116 **** */ virtual void clearParams(void) ! { Params.clear(); } /** Re execute last query */ ! virtual void refresh(void) ! { QString t=SQL; SQL="refresh"; query((const QString &)t,(const toQList &)Params); } /** Perform a query. * @param sql Execute an SQL statement. --- 112,119 ---- */ virtual void clearParams(void) ! { Params.clear(); QueryReady=false; } /** Re execute last query */ ! virtual void refresh(void); /** Perform a query. * @param sql Execute an SQL statement. |