[Foo2zjs-commits] r88 - trunk/hannah

white at alioth.debian.org white at alioth.debian.org
Fri Sep 28 15:10:50 UTC 2007


Author: white
Date: 2007-09-28 15:10:50 +0000 (Fri, 28 Sep 2007)
New Revision: 88

Modified:
   trunk/hannah/gui.cpp
   trunk/hannah/gui.h
Log:
Add a StatusBar, which tells about the action; Include notifications, if the process was successfull or not; Fix a bug with the QProcess pointer

Modified: trunk/hannah/gui.cpp
===================================================================
--- trunk/hannah/gui.cpp	2007-09-28 13:40:10 UTC (rev 87)
+++ trunk/hannah/gui.cpp	2007-09-28 15:10:50 UTC (rev 88)
@@ -32,8 +32,6 @@
 
 	createMainWidget();
 	
-	callProgram = new QProcess;
-	
 	connect(downloadButton, SIGNAL(clicked()), this, SLOT(callGetweb()));
 };
 
@@ -92,6 +90,8 @@
         menu = menubar->addMenu(tr("Help"));
         menu->addAction(about);
 
+	statusBar = new QStatusBar;
+
 	mainLayout->addWidget(menubar, 0, 0);
         mainLayout->addWidget(hp2600Button, 1, 0);
         mainLayout->addWidget(hp1600Button, 2, 0);
@@ -112,8 +112,9 @@
         mainLayout->addWidget(xerox6115Button, 17, 0);
         mainLayout->addWidget(xerox6110Button, 18, 0);
         mainLayout->addWidget(allButton, 19, 0);
-        mainLayout->addWidget(downloadButton, 20, 0);
-        mainLayout->addWidget(exitButton, 21, 0);
+        mainLayout->addWidget(statusBar, 20, 0);
+        mainLayout->addWidget(downloadButton, 21, 0);
+        mainLayout->addWidget(exitButton, 22, 0);
         setMinimumSize(600, 700);
         setLayout(mainLayout);
 
@@ -218,9 +219,11 @@
 		}
 		count++;
 	}
+	
+	QString program = "/usr/bin/getweb";
+	string = arguments.join(" ");
+	callProgram = new QProcess;
 
-	QString program = "/usr/bin/getweb";
-	
 	switch (callProgram->state()) {
 		case 2:
 			QMessageBox::warning(this, tr("Hannah - Firmware downloader 'getweb'"),
@@ -234,6 +237,27 @@
 			break;
 		case 0:
 			callProgram->start(program, arguments);
+			QString message = QString(tr("Downloading firmware for %1").arg(string));
+			statusBar->showMessage(message);
+			connect(callProgram, SIGNAL(finished(int)), this, SLOT(checkProgram()));
 			break;
 	}
 };
+
+void MainWindow::checkProgram()
+{
+ 	
+	switch ( callProgram->exitCode() ) {
+		case 0:
+			QMessageBox::information(this, tr("Hannah - Firmware downloader"),
+				tr("The firmware for the following printers was downloaded and installed successfully:\n"
+					"%1\n").arg(string), QMessageBox::Ok);
+			break;
+		default:
+			QMessageBox::critical(this, tr("Hannah - Firmware downloader"),
+				tr("Something went wrong during the download and installation process for the following printers:\n"
+					"%1\n").arg(string), QMessageBox::Ok);
+			break;
+	}
+
+};

Modified: trunk/hannah/gui.h
===================================================================
--- trunk/hannah/gui.h	2007-09-28 13:40:10 UTC (rev 87)
+++ trunk/hannah/gui.h	2007-09-28 15:10:50 UTC (rev 88)
@@ -32,6 +32,7 @@
 #include <QAction>
 #include <QMenu>
 #include <QMenuBar>
+#include <QStatusBar>
 
 #include <QDebug>
 
@@ -44,7 +45,6 @@
 
 private:
 	int state;
-
 	void createMainWidget();
 	QCheckBox *hp2600Button;
 	QCheckBox *hp1600Button;
@@ -68,13 +68,15 @@
 	QButtonGroup *buttonGroup;
 	QPushButton *downloadButton;
 	QPushButton *exitButton;
-
+	QStatusBar *statusBar;
 	QProcess *callProgram;
+	QString string;
 
 private slots:
 	void callGetweb();
 	void setCheckBoxes(int);
 	void showInfo();
+	void checkProgram();
 };
 
 #endif // GUI_H




More information about the Foo2zjs-commits mailing list