diff options
Diffstat (limited to 'clients/tde/src/part/fpgaprogram/part.cpp')
| -rw-r--r-- | clients/tde/src/part/fpgaprogram/part.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clients/tde/src/part/fpgaprogram/part.cpp b/clients/tde/src/part/fpgaprogram/part.cpp index a7edbe2..ced624e 100644 --- a/clients/tde/src/part/fpgaprogram/part.cpp +++ b/clients/tde/src/part/fpgaprogram/part.cpp @@ -103,6 +103,11 @@ FPGAProgramPart::FPGAProgramPart(TQWidget *parentWidget, const char *widgetName, // Create widgets m_base = new FPGAProgramBase(widget()); + // Load configuration + m_config = new KSimpleConfig("ulab_client_part_fpgaprogrammer.conf", false); + m_config->setGroup("UI"); + m_base->programmingInputFile->setURL(m_config->readPathEntry("programmingInputFile", "")); + // Initialize widgets m_base->setMinimumSize(500,350); m_base->programmingLogBox->setReadOnly(true); @@ -115,6 +120,12 @@ FPGAProgramPart::FPGAProgramPart(TQWidget *parentWidget, const char *widgetName, } FPGAProgramPart::~FPGAProgramPart() { + // Save field state for restoration on next load + m_config->setGroup("UI"); + m_config->writeEntry("programmingInputFile", m_base->programmingInputFile->url()); + m_config->sync(); + delete m_config; + if (m_connectionMutex->locked()) { printf("[WARNING] Exiting when data transfer still in progress!\n\r"); fflush(stdout); } @@ -165,6 +176,7 @@ void FPGAProgramPart::connectionClosed() { void FPGAProgramPart::postInit() { setUsingFixedSize(false); + processLockouts(); } bool FPGAProgramPart::openURL(const KURL &url) { @@ -317,6 +329,7 @@ void FPGAProgramPart::mainEventLoop() { } setTickerMessage(i18n("Connected")); + processLockouts(); if (m_commHandlerState == ModeIdle_StateProcessStatus) { m_pingDelayTimer->start(250, TRUE); |
