bugfixes in mdi window state saving and loading

This commit is contained in:
Vadim Kurland
2008-07-05 20:28:49 +00:00
parent cf2622da34
commit f396b6c7fb
9 changed files with 135 additions and 209 deletions
+3 -1
View File
@@ -267,7 +267,8 @@ void FWWindow::startupLoad()
if (activeProject()) if (activeProject())
{ {
activeProject()->startupLoad(); activeProject()->startupLoad();
//activeProject()->loadState(); activeProject()->readyStatus(true);
activeProject()->loadState();
} }
} }
@@ -379,6 +380,7 @@ void FWWindow::fileOpen()
} }
} }
showSub(proj.get()); showSub(proj.get());
proj->readyStatus(true);
proj->loadState(); proj->loadState();
proj.release(); proj.release();
} }
+10 -1
View File
@@ -164,9 +164,11 @@ public slots:
FWWindow(); FWWindow();
~FWWindow(); ~FWWindow();
QMdiArea* getMdiArea () {return m_space;} QMdiArea* getMdiArea () {return m_space;}
RCS * getRCS(); RCS * getRCS();
static int printFirewallFromFile (QString fileName, QString firewallName, QString outputFileName);
libfwbuilder::FWObject* getVisibleFirewalls(); libfwbuilder::FWObject* getVisibleFirewalls();
void load(QWidget *dialogs_parent,RCS *rcs); void load(QWidget *dialogs_parent,RCS *rcs);
void load(QWidget *dialogs_parent); void load(QWidget *dialogs_parent);
@@ -338,9 +340,16 @@ public slots:
void fileDiscardActionSetEn(bool en); void fileDiscardActionSetEn(bool en);
void fileCommitActionSetEn(bool en); void fileCommitActionSetEn(bool en);
void fileSaveActionSetEn(bool en); void fileSaveActionSetEn(bool en);
QPrinter* getPrinter(); QPrinter* getPrinter();
libfwbuilder::FWObjectDatabase* db(); libfwbuilder::FWObjectDatabase* db();
QString printHeader(); QString printHeader();
static void printFirewallFromFile(QString fileName,
QString firewallName,
QString outputFileName);
listOfLibraries *getAddOnLibs(); listOfLibraries *getAddOnLibs();
bool isSystem(libfwbuilder::FWObject *obj); bool isSystem(libfwbuilder::FWObject *obj);
+7 -6
View File
@@ -274,7 +274,7 @@ void findAllGroups(list<FWObject*> &objects,list<FWObject*> &groups)
void printFirewall(FWObject *fw, void printFirewall(FWObject *fw,
printerStream &pr, printerStream &pr,
PrintingProgressDialog *ppd, PrintingProgressDialog*,
bool newPageForSection, bool newPageForSection,
ProjectPanel *project) ProjectPanel *project)
{ {
@@ -1035,7 +1035,9 @@ void FWWindow::filePrint()
} }
int FWWindow::printFirewallFromFile (QString fileName, QString firewallName, QString outputFileName) void FWWindow::printFirewallFromFile (QString fileName,
QString firewallName,
QString outputFileName)
{ {
if (outputFileName=="") if (outputFileName=="")
{ {
@@ -1043,11 +1045,11 @@ int FWWindow::printFirewallFromFile (QString fileName, QString firewallName, QSt
} }
if (firewallName=="") if (firewallName=="")
{ {
return -1; return ;
} }
if (fileName=="") if (fileName=="")
{ {
return -1; return;
} }
FWObjectDatabase * objdb = new FWObjectDatabase(); FWObjectDatabase * objdb = new FWObjectDatabase();
QPrinter *printer = new QPrinter(QPrinter::HighResolution); QPrinter *printer = new QPrinter(QPrinter::HighResolution);
@@ -1107,7 +1109,7 @@ int FWWindow::printFirewallFromFile (QString fileName, QString firewallName, QSt
if ( !pr.begin()) if ( !pr.begin())
{ {
return -1; return;
} }
int leftMargin = printer->paperRect().left() - printer->pageRect().left(); int leftMargin = printer->paperRect().left() - printer->pageRect().left();
@@ -1220,5 +1222,4 @@ int FWWindow::printFirewallFromFile (QString fileName, QString firewallName, QSt
errmes += firewallName ; errmes += firewallName ;
qDebug (errmes.toAscii().data()); qDebug (errmes.toAscii().data());
} }
} }
+1 -1
View File
@@ -640,7 +640,7 @@ void ObjectTreeView::mouseReleaseEvent( QMouseEvent *e )
if (fwbdebug) if (fwbdebug)
qDebug("ObjectTreeView::mouseReleaseEvent 2 selectedObjects.size()=%d getCurrentObject()=%p current object %s", qDebug("ObjectTreeView::mouseReleaseEvent 2 selectedObjects.size()=%d getCurrentObject()=%p current object %s",
selectedObjects.size(), int(selectedObjects.size()),
getCurrentObject(), getCurrentObject(),
(getCurrentObject()!=NULL)?getCurrentObject()->getName().c_str():"nil"); (getCurrentObject()!=NULL)?getCurrentObject()->getName().c_str():"nil");
+99 -188
View File
@@ -23,15 +23,15 @@
*/ */
#include "fwbuilder_ph.h"
#include "ProjectPanel.h"
#include "config.h" #include "config.h"
#include "global.h" #include "global.h"
#include "utils.h" #include "utils.h"
#include "utils_no_qt.h" #include "utils_no_qt.h"
#include "ProjectPanel.h" #include "ProjectPanel.h"
#include <ui_rcsfilesavedialog_q.h>
#include "ObjectTreeView.h" #include "ObjectTreeView.h"
#include "ObjectManipulator.h" #include "ObjectManipulator.h"
#include "FWObjectClipboard.h" #include "FWObjectClipboard.h"
@@ -44,54 +44,32 @@
#include "RuleSetView.h" #include "RuleSetView.h"
#include "RCSFilePreview.h" #include "RCSFilePreview.h"
#include "ObjectEditor.h" #include "ObjectEditor.h"
#include "execDialog.h"
#include "PrefsDialog.h"
#include "LibExportDialog.h" #include "LibExportDialog.h"
#include "findDialog.h" #include "findDialog.h"
#include "DiscoveryDruid.h"
#include "FindObjectWidget.h" #include "FindObjectWidget.h"
#include "FindWhereUsedWidget.h" #include "FindWhereUsedWidget.h"
#include "longTextDialog.h" #include "longTextDialog.h"
#include "FWWindow.h"
#include <ui_rcsfilesavedialog_q.h> #include "RCS.h"
#include "FWBAboutDialog.h"
#include "debugDialog.h"
#include "filePropDialog.h" #include "filePropDialog.h"
#include "instConf.h"
#include "instDialog.h"
#include "fwbuilder/FWReference.h" #include "fwbuilder/FWReference.h"
#include "fwbuilder/Policy.h" #include "fwbuilder/Policy.h"
#include "fwbuilder/InterfacePolicy.h"
#include "fwbuilder/NAT.h" #include "fwbuilder/NAT.h"
#include "fwbuilder/Routing.h" #include "fwbuilder/Routing.h"
#include "fwbuilder/Tools.h" #include "fwbuilder/Tools.h"
#include "fwbuilder/dns.h"
//#include "fwbuilder/crypto.h"
#include "fwbuilder/XMLTools.h"
#include "fwbuilder/Resources.h"
#include "fwbuilder/FWObjectDatabase.h" #include "fwbuilder/FWObjectDatabase.h"
#include "fwbuilder/FWException.h" #include "fwbuilder/FWException.h"
#include "fwbuilder/Management.h" #include "fwbuilder/Management.h"
#include "fwbuilder/RuleElement.h" #include "fwbuilder/RuleElement.h"
#include "fwbuilder/Library.h" #include "fwbuilder/Library.h"
#include "fwbuilder/Firewall.h" #include "fwbuilder/Firewall.h"
#include "fwbuilder/Host.h"
#include "fwbuilder/Network.h"
#include "fwbuilder/IPv4.h"
#include "fwbuilder/AddressRange.h"
#include "fwbuilder/ObjectGroup.h"
#include "fwbuilder/Resources.h"
#include "fwbuilder/FWReference.h"
#include "fwbuilder/Interface.h" #include "fwbuilder/Interface.h"
#include "fwbuilder/RuleSet.h" #include "fwbuilder/RuleSet.h"
#include "fwbuilder/Interval.h" #include "fwbuilder/Interval.h"
#include "fwbuilder/IntervalGroup.h"
#include "fwbuilder/FWObject.h" #include "fwbuilder/FWObject.h"
#include "fwbuilder/Rule.h"
#include "fwbuilder/RuleElement.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
@@ -101,51 +79,29 @@
#include <algorithm> #include <algorithm>
#include <qaction.h>
#include <qlistwidget.h>
#include <qmessagebox.h>
#include <qapplication.h>
#include <qfileinfo.h>
#include <qfile.h>
#include <qfiledialog.h>
#include <qpixmap.h>
#include <qpixmapcache.h>
#include <qheaderview.h>
#include <qtabwidget.h>
#include <qcombobox.h>
#include <qcheckbox.h>
#include <qtextedit.h>
#include <qstringlist.h>
#include <qmenu.h>
#include <qtoolbutton.h>
#include <QMdiArea>
#include <qlayout.h>
#include <qcursor.h>
#include <qsplitter.h>
#include <qtimer.h>
#include <qstatusbar.h>
#include <qlabel.h>
#include <qradiobutton.h>
#include <qprinter.h>
#include <qstackedwidget.h>
#include <qlistwidget.h>
#include <qeventloop.h>
#include <qtextstream.h>
#include <QShowEvent>
#include <QHideEvent>
#include "FWWindow.h"
#include "RCS.h"
#include <QCloseEvent>
#include <QMdiSubWindow> #include <QMdiSubWindow>
#include "FindObjectWidget.h" #include <QMdiArea>
#include "FindWhereUsedWidget.h"
#include <QSet>
using namespace Ui; using namespace Ui;
using namespace libfwbuilder;
#define DEFAULT_H_SPLITTER_POSITION 250
#define DEFAULT_V_SPLITTER_POSITION 450
void ProjectPanel::initMain(FWWindow *main) void ProjectPanel::initMain(FWWindow *main)
{ {
mainW = main; mainW = main;
closing = false ; closing = false ;
// mdiWindow changes state several times right after it is opened,
// but we call saveState to store splitter position and its geometry
// when state changed. Flag "ready" is false after ProjectPanel is created
// and until FWWindow decides that ProjectPanel is ready for operation.
// Do not load or save state if flag ready is false.
ready = false;
enableAvtoSaveState=true ; enableAvtoSaveState=true ;
oldState=-1; oldState=-1;
if (st->getInfoStyle()!=0) m_panel->oi->show(); if (st->getInfoStyle()!=0) m_panel->oi->show();
@@ -242,7 +198,7 @@ void ProjectPanel::setStartupFileName(const QString &fn)
startupFileName = fn; startupFileName = fn;
} }
RuleElement* ProjectPanel::getRE( Rule* r, int col ) RuleElement* ProjectPanel::getRE(Rule* r, int col )
{ {
string ret; string ret;
switch (col) switch (col)
@@ -478,47 +434,7 @@ void ProjectPanel::reopenFirewall()
{ {
m_panel->ruleSets->addWidget( new RoutingView(this, r,NULL) ); m_panel->ruleSets->addWidget( new RoutingView(this, r,NULL) );
} }
// as of 2.1.5 we have rule branches :-)
// so far branches are only supported in policy rules because only there
// we have action which we use to define branching rules
/*
for (libfwbuilder::FWObject::iterator i=pol->begin(); i!=pol->end(); i++)
{
PolicyRule *rule = PolicyRule::cast(*i);
if (rule->getAction() == PolicyRule::Branch)
addPolicyBranchTab(rule->getBranch());
}
// let the GUI process events to display new tab(s)
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents,100);
if (Resources::getTargetCapabilityBool(visibleFirewall->getStr("platform"),
"supports_nat"))
{
sb->showMessage( tr("Building NAT view...") );
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents,100);
if (fwbdebug) qDebug("ProjectPanel::reopenFirewall() adding NAT tab");
NAT *nat = NAT::cast(visibleFirewall->getFirstByType(NAT::TYPENAME));
m_panel->ruleSets->addTab( rsv=new NATView(this, nat,NULL) , tr("NAT") );
ruleSetViews[nat]=rsv;
}
// let the GUI process events to display new tab
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents,100);
if (Resources::getTargetCapabilityBool(visibleFirewall->getStr("host_OS"),
"supports_routing"))
{
sb->showMessage( tr("Building routing view...") );
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents,100);
if (fwbdebug) qDebug("ProjectPanel::reopenFirewall() adding Routing tab");
Routing *r = Routing::cast(visibleFirewall->getFirstByType(Routing::TYPENAME));
m_panel->ruleSets->addTab( rsv=new RoutingView(this, r,NULL) , tr("Routing") );
ruleSetViews[r]=rsv;
}
*/
sb->clearMessage(); sb->clearMessage();
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents,100); QApplication::processEvents(QEventLoop::ExcludeUserInputEvents,100);
if (fwbdebug) qDebug("ProjectPanel::reopenFirewall() all tabs are done"); if (fwbdebug) qDebug("ProjectPanel::reopenFirewall() all tabs are done");
@@ -541,7 +457,8 @@ int ProjectPanel::findFirewallInList(libfwbuilder::FWObject *f)
return -1; return -1;
} }
void ProjectPanel::updateFirewallName(libfwbuilder::FWObject *obj,const QString &str) void ProjectPanel::updateFirewallName(libfwbuilder::FWObject *,
const QString &)
{ {
if (visibleRuleSet==NULL) if (visibleRuleSet==NULL)
return ; return ;
@@ -1486,9 +1403,8 @@ void ProjectPanel::startupLoad()
{ {
RCS *rcs=new RCS(startupFileName); RCS *rcs=new RCS(startupFileName);
rcs->co(); rcs->co();
load(NULL,rcs); load(NULL, rcs);
loadState(startupFileName);
loadLastOpenedLib(); loadLastOpenedLib();
} catch (FWException &ex) } catch (FWException &ex)
{ {
@@ -1499,7 +1415,6 @@ void ProjectPanel::startupLoad()
{ {
load(NULL); // load standard objects load(NULL); // load standard objects
loadLastOpenedLib(startupFileName); loadLastOpenedLib(startupFileName);
loadState("");
} }
} }
@@ -1652,7 +1567,9 @@ void ProjectPanel::load(QWidget *dialogs_parent)
} }
void ProjectPanel::load(QWidget *dialogs_parent,RCS *_rcs,libfwbuilder::FWObjectDatabase * clone) void ProjectPanel::load(QWidget *dialogs_parent,
RCS *_rcs,
FWObjectDatabase * clone)
{ {
QStatusBar *sb = mainW->statusBar(); QStatusBar *sb = mainW->statusBar();
@@ -1888,7 +1805,7 @@ void ProjectPanel::load(QWidget *dialogs_parent,RCS *_rcs,libfwbuilder::FWObject
} }
void ProjectPanel::load(QWidget *dialogs_parent,RCS *_rcs) void ProjectPanel::load(QWidget *dialogs_parent, RCS *_rcs)
{ {
QStatusBar *sb = mainW->statusBar(); QStatusBar *sb = mainW->statusBar();
@@ -2910,11 +2827,6 @@ void ProjectPanel::compile()
fileSave(); fileSave();
mainW->compile(); mainW->compile();
/*
std::set<libfwbuilder::Firewall*> emp;
instd = new instDialog(NULL,BATCH_COMPILE,emp);
instd->show();*/
} }
void ProjectPanel::compile(set<Firewall*> vf) void ProjectPanel::compile(set<Firewall*> vf)
@@ -2925,29 +2837,16 @@ void ProjectPanel::compile(set<Firewall*> vf)
fileSave(); fileSave();
mainW->compile(vf); mainW->compile(vf);
/*
instDialog *id = new instDialog(NULL,BATCH_COMPILE,vf);
instd = id;
instd->show();*/
} }
void ProjectPanel::install(set<Firewall*> vf) void ProjectPanel::install(set<Firewall*> vf)
{ {
mainW->install(vf); mainW->install(vf);
/* instDialog *id=new instDialog(NULL,BATCH_INSTALL, vf);
instd = id;
instd->show();*/
} }
void ProjectPanel::install() void ProjectPanel::install()
{ {
mainW->install(); mainW->install();
/*std::set<libfwbuilder::Firewall*> emp;
instd = new instDialog(NULL, BATCH_INSTALL, emp);
instd->show();*/
} }
void ProjectPanel::rollBackSelectionSameWidget() void ProjectPanel::rollBackSelectionSameWidget()
@@ -3139,8 +3038,9 @@ void ProjectPanel::closeEvent( QCloseEvent * ev)
{ {
if (fwbdebug) qDebug("ProjectPanel::closeEvent"); if (fwbdebug) qDebug("ProjectPanel::closeEvent");
if (!closing) // if (!closing)
saveState(); saveState();
storeLastOpenedLib(); storeLastOpenedLib();
if (saveIfModified() && checkin(true)) if (saveIfModified() && checkin(true))
{ {
@@ -3182,7 +3082,10 @@ void ProjectPanel::saveState ()
} }
if (fwbdebug) if (fwbdebug)
qDebug("ProjectPanel::saveState FileName=%s", FileName.toAscii().data()); qDebug("ProjectPanel::saveState FileName=%s ready=%d",
FileName.toAscii().data(), ready);
if (!ready) return;
if (mdiWindow->isMaximized()) if (mdiWindow->isMaximized())
{ {
@@ -3222,27 +3125,35 @@ void ProjectPanel::saveState ()
st->setStr("Window/" + FileName + "/ObjInfoSplitter", arg ); st->setStr("Window/" + FileName + "/ObjInfoSplitter", arg );
} }
void ProjectPanel::loadState(QString filename) void ProjectPanel::loadState()
{ {
QString FileName ; int w1 = 0;
if (rcs!=NULL) int w2 = 0;
FileName = rcs->getFileName(); QString w1s, w2s;
if (filename!="") bool ok = false;
FileName = filename ;
if (rcs==NULL) return;
QString filename = rcs->getFileName();
if (fwbdebug) if (fwbdebug)
qDebug("ProjectPanel::loadState FileName=%s isMaximized=%d", {
FileName.toAscii().data(), isMaximized()); qDebug("ProjectPanel::loadState filename=%s isMaximized=%d",
filename.toAscii().data(), isMaximized());
qDebug("mdiWindow=%p", mdiWindow);
qDebug("ready=%d", ready);
}
if (!ready) return;
int maximized_status = st->getInt("Window/maximized"); int maximized_status = st->getInt("Window/maximized");
if (!maximized_status) if (!maximized_status && mdiWindow)
{ {
if (fwbdebug) qDebug("ProjectPanel::loadState show normal"); if (fwbdebug) qDebug("ProjectPanel::loadState show normal");
setWindowState(0); setWindowState(0);
int x = st->getInt("Window/"+FileName+"/x"); int x = st->getInt("Window/"+filename+"/x");
int y = st->getInt("Window/"+FileName+"/y"); int y = st->getInt("Window/"+filename+"/y");
int width = st->getInt("Window/"+FileName+"/width"); int width = st->getInt("Window/"+filename+"/width");
int height = st->getInt("Window/"+FileName+"/height"); int height = st->getInt("Window/"+filename+"/height");
if (width==0 || height==0) if (width==0 || height==0)
{ {
x = 10; x = 10;
@@ -3250,64 +3161,64 @@ void ProjectPanel::loadState(QString filename)
width = 600; width = 600;
height= 600; height= 600;
} }
if (fwbdebug) qDebug("ProjectPanel::loadState set geometry: %d %d %d %d", if (fwbdebug)
x,y,width,height); qDebug("ProjectPanel::loadState set geometry: %d %d %d %d",
x,y,width,height);
mdiWindow->setGeometry(x,y,width,height); mdiWindow->setGeometry(x,y,width,height);
} }
// load splitter position even when window is maximized
loadSplitters(filename);
if (fwbdebug) qDebug("ProjectPanel::loadState done");
}
void ProjectPanel::loadSplitters(QString filename) QString h_splitter_setting = "Window/" + filename + "/MainWindowSplitter";
{ QString val = st->getStr(h_splitter_setting);
QString FileName = getFileName();
if (filename !="")
FileName = filename;
QString val = st->getStr("Window/" + FileName + "/MainWindowSplitter");
if (fwbdebug) w1s = val.split(',')[0];
{ ok = false;
QString out1 = "load Window/" + FileName + "/MainWindowSplitter"; w1 = w1s.toInt(&ok, 10);
out1+= " " + val; if (!ok || w1 == 0) w1 = DEFAULT_H_SPLITTER_POSITION;
qDebug(out1.toAscii().data());
}
int w1 = val.section(',',0,0).toInt(); w2 = mdiWindow->width() - w1;
int w2 = mdiWindow->width() - w1;
if (w1 == 0 ) if (fwbdebug)
{ qDebug(QString("%1: %2x%3").arg(h_splitter_setting).
w1 = 250; arg(w1).arg(w2).toAscii().data());
w2 = mdiWindow->width() - 250;
}
QList<int> sl; QList<int> sl;
sl.push_back(w1); sl.push_back(w1);
sl.push_back(w2); sl.push_back(w2);
if (w1 || w2) if (w1 && w2)
m_panel->mainSplitter->setSizes( sl ); m_panel->mainSplitter->setSizes( sl );
val = st->getStr("Window/" + FileName + "/ObjInfoSplitter"); if (fwbdebug) qDebug("Restore info window splitter position");
if (!val.isEmpty())
{
int w1 = val.section(',',0,0).toInt();
int w2 = val.section(',',1,1).toInt();
QList<int> sl; QString v_splitter_setting = "Window/" + filename + "/ObjInfoSplitter";
sl.push_back(w1); val = st->getStr(v_splitter_setting);
sl.push_back(w2);
if (w1 || w2) w1s = val.split(',')[0];
m_panel->objInfoSplitter->setSizes( sl ); ok = false;
} w1 = w1s.toInt(&ok, 10);
if (!ok || w1 == 0) w1 = DEFAULT_V_SPLITTER_POSITION;
w2 = mdiWindow->height() - w1;
if (fwbdebug)
qDebug(QString("%1: %2x%3").arg(v_splitter_setting).
arg(w1).arg(w2).toAscii().data());
sl.clear();
sl.push_back(w1);
sl.push_back(w2);
if (w1 && w2)
m_panel->objInfoSplitter->setSizes( sl );
if (fwbdebug) qDebug("ProjectPanel::loadState done");
} }
void ProjectPanel::splitterMoved ( int , int )
void ProjectPanel::splitterMoved(int , int)
{ {
} }
void ProjectPanel::resizeEvent ( QResizeEvent* ) void ProjectPanel::resizeEvent(QResizeEvent*)
{ {
} }
+6 -4
View File
@@ -66,7 +66,8 @@ class ProjectPanel: public QWidget {
bool editingTemplateLib; bool editingTemplateLib;
bool ruleSetRedrawPending; bool ruleSetRedrawPending;
bool firstTimeNormal; bool firstTimeNormal;
bool closing ; bool closing ;
bool ready;
QString startupFileName; QString startupFileName;
libfwbuilder::FWObjectDatabase *objdb; libfwbuilder::FWObjectDatabase *objdb;
@@ -95,6 +96,8 @@ class ProjectPanel: public QWidget {
bool enableAvtoSaveState; bool enableAvtoSaveState;
public: public:
void readyStatus(bool f) { ready=f; }
libfwbuilder::RuleSet* getCurrentRuleSet () {return visibleRuleSet;}; libfwbuilder::RuleSet* getCurrentRuleSet () {return visibleRuleSet;};
RuleSetView * getCurrentRuleSetView () ; RuleSetView * getCurrentRuleSetView () ;
ProjectPanel * clone (ProjectPanel * cln); ProjectPanel * clone (ProjectPanel * cln);
@@ -320,9 +323,8 @@ public:
void load(QWidget *dialogs_parent,RCS *rcs,libfwbuilder::FWObjectDatabase * clone); void load(QWidget *dialogs_parent,RCS *rcs,libfwbuilder::FWObjectDatabase * clone);
void load(QWidget *dialogs_parent); void load(QWidget *dialogs_parent);
void save(); void save();
void saveState (); void saveState();
void loadState (QString filename=""); void loadState();
void loadSplitters(QString filename="");
bool checkin(bool unlock); bool checkin(bool unlock);
void loadLibrary(const std::string &libfpath); void loadLibrary(const std::string &libfpath);
+2 -1
View File
@@ -318,7 +318,8 @@ void SSHSession::sendLine()
string s = input.front(); string s = input.front();
s = s + "\n"; s = s + "\n";
if (fwbdebug) if (fwbdebug)
qDebug("SSHSession::sendLine : %d lines to go -- %s",input.size(),s.c_str()); qDebug("SSHSession::sendLine : %d lines to go -- %s",
int(input.size()), s.c_str());
input.pop_front(); input.pop_front();
stdoutBuffer=""; stdoutBuffer="";
+1 -1
View File
@@ -693,7 +693,7 @@ int main( int argc, char ** argv )
// setup single shot timer to call loadEverything() // setup single shot timer to call loadEverything()
QTimer::singleShot( 500, mw, SLOT(startupLoad()) ); QTimer::singleShot( 0, mw, SLOT(startupLoad()) );
app->exec(); app->exec();
+6 -6
View File
@@ -440,17 +440,17 @@ list<QStringPair> getVersionsForPlatform(const QString &platform)
} }
/* currently we return the same list for all platforms */ /* currently we return the same list for all platforms */
const QStringList& getLogLevels(const QString &platform) const QStringList& getLogLevels(const QString&)
{ {
return logLevels; return logLevels;
} }
const QStringList& getLogFacilities(const QString &platform) const QStringList& getLogFacilities(const QString&)
{ {
return logFacilities; return logFacilities;
} }
const QStringList& getActionsOnReject(const QString &platform) const QStringList& getActionsOnReject(const QString&)
{ {
return actionsOnReject; return actionsOnReject;
} }
@@ -470,12 +470,12 @@ const QStringList& getActionsOnReject(const QString &platform)
* ok in English locale, but breaks XML if the item has been * ok in English locale, but breaks XML if the item has been
* translated and the program runs under national locale. Sigh. * translated and the program runs under national locale. Sigh.
*/ */
const QStringList& getRouteOptions_pf_ipf(const QString &platform) const QStringList& getRouteOptions_pf_ipf(const QString&)
{ {
return routeOptions_pf_ipf; return routeOptions_pf_ipf;
} }
const QStringList& getRouteLoadOptions_pf(const QString &platform) const QStringList& getRouteLoadOptions_pf(const QString&)
{ {
return routeLoadOptions_pf; return routeLoadOptions_pf;
} }
@@ -488,7 +488,7 @@ const QStringList& getPrologPlaces(const QString &platform)
return prologPlaces_ipt; return prologPlaces_ipt;
} }
const QStringList& getLimitSuffixes(const QString &platform) const QStringList& getLimitSuffixes(const QString&)
{ {
return limitSuffixes; return limitSuffixes;
} }