summaryrefslogtreecommitdiffstats
path: root/clients/tde/src/part/fpgaprogram/part.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clients/tde/src/part/fpgaprogram/part.cpp')
-rw-r--r--clients/tde/src/part/fpgaprogram/part.cpp13
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);